Azure ADLS gen2列出了使用rest api和服务主体给出了身份验证错误的文件夹

时间:2019-08-22 07:59:35

标签: azure rest azure-data-lake

我有一个天蓝色的ADLS存储帐户(启用了层次结构)。我已经创建了一个应用程序和一个服务主体。我还在存储中创建了一个容器,并在该容器中创建了一个文件夹。使用ACL,我已授予容器执行权限,并拥有对该文件夹的读写权限。

我能够使用azcopy将数据复制到我在容器内创建的目录中。

我想列出我复制的数据。由于azcopy列表不起作用,我尝试使用rest api

使用Post req https://login.microsoftonline.com/ / oauth2 / v2.0 / token

client_id:app_id client_secret:秘密 grant_type:client_credentials 范围:https://storage.azure.com/.default

我得到一个令牌。当我在这里使用此令牌时 https:///?directory =&resource = filesystem&recursive = true

授权=承载 x-ms-version:2019-02-02

我收到此错误

{
    "error": {
        "code": "AuthorizationPermissionMismatch",
        "message": "This request is not authorized to perform this operation using this permission.\nRequestId:0cd2e016-601f-003b-5fbe-5870a7000000\nTime:2019-08-22T07:50:06.5848071Z"
    }

}

我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

需要**Read and Execute**权限才能列出目录的内容。

我建议您同时授予Read & Execute申请许可。

enter image description here

参考:

https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/storage/blobs/data-lake-storage-access-control.md

请尝试看看是否可行。