首页 > 解决方案 > 如何列出 Azure 租户中的所有资源?

问题描述

我在 Azure 租户中有多个订阅,我想列出租户中的所有资源(IP 地址、VM 等)。这与列出所有订阅中的资源相同吗?

我们可以轻松地列出订阅中的所有资源,并使用服务主体访问它。但是,当您尝试为租户执行此操作时会出现一些问题。是否可以创建适用于整个租户或租户中所有订阅的服务主体或等效项(取决于第一个问题的答案),从而允许使用脚本列出所有资源?

编辑:实际上,我真正想做的是使用 python 脚本列出 Azure 租户中的所有公共 IP:

def get_public_ips(self):
    """@returns: All public ip adresses in the ressource defined by the service principal"""
    ips=[]
    rmc = get_client_from_auth_file(ResourceManagementClient, auth_path=PATH+"azure_creds.json")
    for r in rmc.resources.list(filter="resourceType eq 'Microsoft.Network/publicIPAddresses'", expand='True'):
        #There were no way to get the ip adress directly...
        ip = rmc.resources.get_by_id(r.id, "2019-09-01")
        ips.append(ip.properties['ipAddress'])
    return common.sanitize_ips_list(ips)

该脚本已经可以列出所有 IP,但它使用服务主体进行身份验证:https ://docs.microsoft.com/en-us/python/api/msrestazure/msrestazure.azure_active_directory?view=azure-python

我想知道如何对整个租户做同样的事情。这个活动可以吗?相同的脚本脚本是否可以通过简单地使用另一种身份验证方式来工作,即使用对租户的整个资源具有读取权限的身份验证实体?

谢谢

标签: azuresubscription

解决方案



推荐阅读