azure - Azure REST API:拉取组织的所有订阅?
问题描述
我正在尝试使用 Azure REST API 创建一个 Azure 应用程序,作为第一步,它会拉取组织内的所有订阅。
我正在使用从这些 Microsoft 文档中引用的本指南。指南:https ://blog.jongallant.com/2017/11/azure-rest-apis-postman/ 文档:https ://docs.microsoft.com/en-us/rest/api/azure/
我正在使用以下 Azure CLI 命令创建服务主体:
az ad sp create-for-rbac -n "<name>"
目前,当我点击时,我可以在 Postman 中成功使用生成的服务主体来撤回 1 个订阅:
GET https://management.azure.com/subscriptions?api-version=2016-06-01
但是,此响应仅提供 1 个订阅,但在 Azure 门户中,我看到组织下有多个订阅。
我尝试过如下指定范围,但我似乎无法让它工作:
az ad sp create-for-rbac -n "<name>" --scope "/"
# OR
az ad sp create-for-rbac -n "<name>" --scope "/subscriptions"
最后一点有用的信息,如果我在 Powershell 中运行以下命令,我会返回多个订阅。这是一个同义调用,我想找到一种为 REST API 运行的方法:
Get-AzureRmSubscription
如何创建一个可以访问组织下所有订阅的服务主体?还是有其他方法可以做到这一点?
解决方案
如何创建一个可以访问组织下所有订阅的服务主体?还是有其他方法可以做到这一点?
如果这是您的最终目标,只需创建服务主体,然后导航到Access control (IAM)
门户中的订阅 -> Add
-> Add role assignment
-> 为您的服务主体分配角色。对于其他订阅,请执行相同操作。
有关更多详细信息和其他方法,您可以参考以下链接:通过Azure 门户、Powershell、Azure CLI、REST API、模板。
推荐阅读
- python - 如何将焦点对一行编辑更改为另一行编辑
- java - LeakCanary 泄漏片段
- mysql - foreach MySQL 获取特定数字的列表
- angular - bs-custom-file-input 不适用于 Angular
- asp.net - 有什么方法可以让 Ajax 的 Rad 编辑器中的一些单词(只有一些单词不是整个编辑器)只读?
- firebase - 将 HashMap 值推送到同一节点下的 Firebase
- css - 反应脚本没有与另一个脚本一起启动服务器
- ios - iOS - CIImage autoAdjustmentFilters 泄漏
- javascript - React Native - 打开原生共享
- node.js - 解析来自 mongoose 对象的数组元素的数据产生未定义而简单的元素值正确返回