提供一个Azure托管身份目录。

时间:2019-08-19 13:01:23

标签: azure azure-active-directory

我想使用Directory.Read.All授予对图的Azure托管身份访问。我可以通过关注以下博客来使其正常工作:https://blog.bredvid.no/accessing-apis-using-azure-managed-service-identity-ff7802b887d?gi=f2307752395a

    引发Authorization_RequestDenied错误的
  • (尽管显然是预期的:MSI Permissions for Graph API

  • 我希望在az-cli下可以正常工作

我尝试过...

graphId=$(az ad sp list --filter "appId eq '00000003-0000-0000-c000-000000000000'" --query "[0].objectId")
roleId=$(az ad sp list --filter "appId eq '00000003-0000-0000-c000-000000000000'" --query "[0].appRoles[?value=='Directory.Read.All' && contains(allowedMemberTypes, 'Application')] | [0].id")
az role assignment create --role $roleId --assignee-object-id fa22d971-c442-41f2-add1-77e636f80d31 --scope $graphId --assignee-principal-type MSI

但这会导致...“该请求没有订阅或有效的租户级资源提供者。”

我认为这意味着我没有适用范围。是否可以在az-cli下执行此任务?

1 个答案:

答案 0 :(得分:0)

当前无法将所有命令here的服务主体(MSI)分配给应用程序角色。

az role assignment create是作为RBAC角色将用户/服务主体/组添加到azure资源中,而不是您想要的,它等于此link中的步骤。


此外,由于跨平台问题,如果要使用azure CLI代替powershell。您可以尝试使用powershell core,它是跨平台的,请参考此link在其中安装AzureAD.Standard.Preview模块,然后您便可以使用AzureAD命令。