Azure Resource Manager API用户的订阅范围授权

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Azure Resource Manager API用户的订阅范围授权相关的知识,希望对你有一定的参考价值。

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

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

使用相同的指令集,我们还能够授予此用户Reader角色,以便列出特定组中的VM(我们通过Azure UI执行此操作)。但是,我们未能成功实施here指令,以便将此用户的Reader角色设置为整个订阅(通过CLI)。

运行这个:

azure role assignment create --objectId app-oid --roleName Reader --scope / subscriptions / subscription-id

或这个:

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

收益率:

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

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

答案

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

另一答案

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

另一答案

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

以上是关于Azure Resource Manager API用户的订阅范围授权的主要内容,如果未能解决你的问题,请参考以下文章

使用 Azure CLI 部署 Azure 机器人通道 - 无法创建机器人通道

Azure ARM ARM支持的服务类型

密钥库身份验证 (REST API)

使用Azure Policy(策略)强制实现资源Tag的坑

Azure ARM (14) 设置ARM VM的Availability Set

Oracle之Database Resource Manager和Database resource group