尝试整合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 role assignment create --objectId app-oid --roleName Reader --subscription subscription-id --scope / subscriptions / subscription-id < / em>的
产生这个:
类型为Application的Principal无法有效地用于角色分配。
因此,目前我们无法以编程方式浏览整套虚拟机,而无需为每个资源组添加特定授权。 有没有人知道在订阅级别实际分配此权限的方法?
答案 0 :(得分:0)
在问题正文的链接的comment area中找到答案: 在新门户中,编辑订阅并添加角色,就像对资源组一样。仍然很好奇为什么CLI不支持这个。
答案 1 :(得分:0)
使用Azure CLI创建和授权服务主体的步骤是以下文档:https://azure.microsoft.com/en-us/documentation/articles/resource-group-authenticate-service-principal-cli/
答案 2 :(得分:0)
尝试使用--objectId app-oid
而不是使用-ServicePrincipalName <appId>
https://github.com/Azure/azure-powershell/issues/4776