【问题标题】:Giving an Azure Managed Identity Directory.Read.All提供 Azure 托管标识 Directory.Read.All
【发布时间】:2019-12-24 16:57:03
【问题描述】:

我想通过 Directory.Read.All 授予对图形的 Azure 托管标识访问权限。我可以通过关注这个博客来让它工作:https://blog.bredvid.no/accessing-apis-using-azure-managed-service-identity-ff7802b887d?gi=f2307752395a,但是:

我试过了……

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下可以做这个赋值吗?

【问题讨论】:

  • 我不确定您是否可以使用 AZ CLI 进行操作。 az role assignment 管理 Azure Management 的 RBAC 分配,而不是 Graph API。您可以查看我的文章以了解如何使用 Azure AD PowerShell:joonasw.net/view/…

标签: azure azure-active-directory


【解决方案1】:

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

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


此外,如果您因为跨平台问题而想使用 azure CLI 而不是 powershell。你可以试试powershell core,它是跨平台的,参考这个link在里面安装AzureAD.Standard.Preview模块,就可以使用AzureAD命令了。

【讨论】:

    猜你喜欢
    • 2022-11-11
    • 2020-12-30
    • 2020-10-04
    • 1970-01-01
    • 2020-05-02
    • 2019-10-21
    • 1970-01-01
    • 2022-06-14
    • 2018-09-05
    相关资源
    最近更新 更多