Azure Data Lake Storage Gen2 REST API - 列出文件系统 - “代码”:“AuthorizationPermissionMismatch
Posted
技术标签:
【中文标题】Azure Data Lake Storage Gen2 REST API - 列出文件系统 - “代码”:“AuthorizationPermissionMismatch【英文标题】:Azure Data Lake Storage Gen2 REST API - List filesystems - "code": "AuthorizationPermissionMismatch 【发布时间】:2021-12-23 00:35:08 【问题描述】:我尝试使用请求在 Azure 存储帐户中获取列表文件系统及其属性:
https://<account_name>.dfs.core.windows.net/?resource=account
一个标题Bearer 并得到回应
"error":
"code": "AuthorizationPermissionMismatch",
"message": "This request is not authorized to perform this operation using this ******"
但是当我请求列表路径时:
https://<account_name>.dfs.core.windows.net/<filesystem>?recursive=true&resource=filesystem
我得到了正确数据的响应。
你能给我一些建议吗?
附:我的身份验证参数。 enter image description here
【问题讨论】:
嗨,@AnsumanBal-MT!对于列表文件系统,我只使用 "resource" = "account" 我的意思是在标题中是否包含 x-ms-version 和 x-ms-date 并且我还可以知道分配给服务主体的 RBAC 角色是什么? 我尝试使用 x-ms-version。反应是一样的。我是此存储帐户的贡献者。 所以您使用隐式流来获取不记名令牌或客户端凭据? 我将我的身份验证参数添加到描述中。感谢您的回复! 【参考方案1】:我通过使用客户端 ID 和密码获取令牌,在我的环境中测试了相同的请求。我收到了和你一样的错误:
作为解决方案,
我将Storage Account Contributor
角色添加到服务主体
我用来获取不记名令牌如下:
然后,我使用下面的 client_credentials 方法获取不记名令牌:
在上述之后,当我再次执行相同的请求时,它会得到 成功:
【讨论】:
您的 URL 中的租户 ID 和目录 ID - 相同吗? 是的,@YakivStoikov 是一样的 太棒了!现在它给了我正确的回应。 ))) 很高兴为您提供帮助@YakivStoikov!!!以上是关于Azure Data Lake Storage Gen2 REST API - 列出文件系统 - “代码”:“AuthorizationPermissionMismatch的主要内容,如果未能解决你的问题,请参考以下文章
对于 Azure Data Lake Storage Gen 2,我可以在哪里调整访问/并发设置?
Azure Data Lake Storage Gen2 REST API - 列出文件系统 - “代码”:“AuthorizationPermissionMismatch
构建企业级数据湖?Azure Data Lake Storage Gen2不容错过(上)
Azure Databricks - 从 Gen2 Data Lake Storage 运行 Spark Jar
使用 Elastic Stack 对 Azure Data Lake Storage Gen2 中的数据进行实时数据分析
在 Azure Data Lake Storage Gen2 中的 CSV 文件上使用无服务器 sql 池(内置)运行查询失败