Replies: 2 comments 2 replies
-
You need to correct this configuration to
For the auth issue kindly validate your SPN has "storage blob data contributor" role assigned to storage account. |
Beta Was this translation helpful? Give feedback.
1 reply
-
Kindly use a bug report instead of discussion if you are facing some trouble. It's not possible to assign an engineer to question or track it for certain release. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello,
I am currently using blobfuse2 version 2.0.3 in order to mount to an Azure Data Lake storage container.
To mount, I am using the command:
sudo blobfuse2 mount ~/mycontainer --tmp-path=/mnt/tmp --config-file=./config.yml
My config file (config.yml) is as follows:
The mounting seems to succeed, but when I try to get to a directory in the file system and list the contents, I receive the error:
ls: reading directory '.': Input/output error
Looking at the blobfuse logs, I see:

Earlier in the logs, I can see the tokens that are being created. The token for the blob service uri (https://xxx.blob.core.windows.net/) works when using postman to make calls to the directory.
The token generated using the .dfs.core.windows.net does NOT work and produces this error. When I generate a token with:
https://storage.azure.com
as the resource, I am also able to successfully make the API call.My service principal has Reader RBAC access to the ADLS Container, and has R-X ACL access to container and RWX access on the directory I am trying to
ls
in. It is not possible to grant further RBAC access due to organizational security processes, so we use ACLs for authorization. I am able tols
on the container, but not on the directory underneath the container, I am also able tocd
into the directory from the container.I have tested mounting this same storage container using
blobfuse
version 1 and it does work as expected. I checked the token it is using and the resource appears to be:https://storage.azure.com
.So I tried to set the
auth-resource
in the config file forblobfuse2
to equalhttps://storage.azure.com
so that the correct token will be generated and used, but I am still receiving access issues shown above.I am unsure of how to 100% confirm the token that is being used for the GET call, but it would seem to me that regardless of what I set as the auth-resource, it is using the https://xxx.dfs.core.windows.net endpoint. I will also mention, that when I tried to specify a subdirectory in the config file, I got authorization errors even just mounting the container:
Error: failed to initialize new pipeline [failed to authenticate credentials for azstorage]
To reiterate: Blobfuse V1 is working for mounting this container (and I am able to cd/ls for the directory), Postman also works with making these API calls to the directory if I use either the
blob.core.windows.net
endpoint as the resource, same with thehttps://storage.azure.com
endpoint. Butblobfuse2
is not working for working with the ADLS Directory.I have also set up a demo ADLS account and tried to match the same settings... blobfuse2 DID work for mounting and cd/ls/mkdir in the directory in that ADLS. I noticed that the Token retrieved for that ADLS account using the
https://xxx.dfs.core.windows.net
as the resource contains groups, whereas when I generate a token for the resource that I am getting auth errors on, the token does not contain groups when using thehttps://xxx.dfs.core.windows.net
endpoint... but it does when hitting the blob.core.windows endpoint and thehttps://storage.azure.com
endpoint as the resource for token generation....Can anyone steer me in the right direction here as to what might be happening and how to use blobfuse2 for this specific ADLS?
Beta Was this translation helpful? Give feedback.
All reactions