我通过以下POST请求登录到adls gen 2: https://login.microsoftonline.com/ / oauth2 / v2.0 / token
请求正文: grant_type:client_credentials
client_id:来自应用程序注册的my_client_id->拥有的应用程序-> Mu应用程序
client_secret:来自应用程序注册的my_client_secret->拥有的应用程序->我的应用程序
范围:https://storage.azure.com/.default
provider_type:org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
并获得成功的响应代码200: { “ token_type”:“承载者”, “ expires_in”:3599, “ ext_expires_in”:3599, “ access_token”: }
尝试使用以下PUT请求创建文件系统后: https://dbmiadlsgen2.dfs.core.windows.net/mydata?resource=filesystem
标题: 授权-承载 内容类型-文本/纯文本 x-ms-version-2018-11-09
并出现以下错误:
{ “错误”:{ “ code”:“ AuthorizationPermissionMismatch”, “ message”:“此请求无权使用此权限执行此操作。\ nRequestId:bcb4c0d3-901f-00cc-0722-2b7f0c000000 \ n时间:2019-06-25T06:54:57.3437434Z” } }
我从azure门户网站吸引了我的用户: 存储Blob数据贡献者角色,但没有帮助...
您如何看待我应该扮演什么样的角色?或某些请求正文或标题参数是否不正确? 谢谢。
答案 0 :(得分:1)
仅将应用和帐户添加为所有者是不够的,我建议您转到storage account > IAM > Add role and add the special permission
进行此类请求,STORAGE BLOB DATA CONTRIBUTOR
。
有关更多参考,请访问:
https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-app
希望有帮助。