【问题标题】:Subscription-scope authorization for Azure Resource Manager API userAzure 资源管理器 API 用户的订阅范围授权
【发布时间】:2016-11-05 06:09:05
【问题描述】:

尝试整合 Azure ARM 集成,其中我的代码使用 Azure API 来检索整个订阅中 VM 的完整列表。

成功完成所有(许多!)步骤here,让 API 用户准备好身份验证所需的所有相关 ID。

使用相同的指令集,我们还能够授予该用户读取者角色,以列出特定组中的虚拟机(我们通过 Azure UI 完成此操作)。但是,我们未能成功执行指令 here 为该用户设置整个订阅的读者角色(通过 CLI)。

运行这个:

azure 角色分配创建 --objectId app-oid --roleName Reader --scope /subscriptions/subscription-id

或者这个:

azure 角色分配创建 --objectId app-oid --roleName Reader --subscription subscription-id --scope /subscriptions/subscription-id

产生这个:

Application 类型的主体不能有效地用于角色分配。

因此,目前我们无法在不为每个资源组添加特定授权的情况下以编程方式浏览整个 VM 集。 有人知道在订阅级别分配此权限的实际方法吗?

【问题讨论】:

    标签: api azure authorization roles azure-resource-manager


    【解决方案1】:

    在问题正文链接的comment area 中找到答案: 在新门户中,编辑订阅并添加角色,就像使用资源组一样。仍然好奇为什么 CLI 不支持这个。

    【讨论】:

      【解决方案2】:

      使用 Azure CLI 创建和授权服务主体的步骤是此处的文档:https://azure.microsoft.com/en-us/documentation/articles/resource-group-authenticate-service-principal-cli/

      【讨论】:

        【解决方案3】:

        不要使用--objectId app-oid 尝试使用-ServicePrincipalName <appId> https://github.com/Azure/azure-powershell/issues/4776

        【讨论】:

          猜你喜欢
          • 2017-05-01
          • 1970-01-01
          • 2019-05-23
          • 2016-12-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-25
          • 1970-01-01
          相关资源
          最近更新 更多