首页 > 解决方案 > 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

如何创建一个可以访问组织下所有订阅的服务主体?还是有其他方法可以做到这一点?

标签: azureazure-resource-manager

解决方案


如何创建一个可以访问组织下所有订阅的服务主体?还是有其他方法可以做到这一点?

如果这是您的最终目标,只需创建服务主体,然后导航到Access control (IAM)门户中的订阅 -> Add-> Add role assignment-> 为您的服务主体分配角色。对于其他订阅,请执行相同操作。

有关更多详细信息和其他方法,您可以参考以下链接:通过Azure 门户PowershellAzure CLIREST API模板


推荐阅读