【发布时间】:2020-11-13 00:42:50
【问题描述】:
天蓝色
我的帐户中有两个 AAD(Azure Active Directory)。
第一个 AAD 中的实体:['Tenant Root Group', 'group A', 'subGroup B', 'Microsoft Partner Network', 'subscription 2']
第二个 AAD 中的实体:['Tenant Root Group', 'subscription 3']
Python
我正在尝试使用 python azure SDK 根据directory 获取management groups 和subscriptions。
下面的代码可以列出第一个目录中的实体,但第二个目录中的其他实体没有按我的预期列出。
有谁知道如何获取两个目录中的所有实体?
代码
from azure.mgmt.managementgroups import ManagementGroupsAPI
from msrestazure.azure_active_directory import UserPassCredentials
def get_entities(credentials):
mgmt_groups_api = ManagementGroupsAPI(credentials)
entities = mgmt_groups_api.entities.list()
entity_infos = [entity for entity in entities]
entity_names = [entity.display_name for entity in entity_infos]
print(entity_names)
def main():
credentials = UserPassCredentials(
'account',
'password',
)
get_entities(credentials)
if __name__ == '__main__':
main()
输出
['Group A', 'subGroup B', 'subGroup C', 'subscription 1', 'subscription 2']
【问题讨论】:
-
我不熟悉 Python API,但您基本上需要为凭证对象指定 AAD 租户 ID,以便它针对正确的租户进行身份验证。您需要执行该过程两次,每个目录一次。
-
嗨@juunas,我正在使用上面的UserPassCredential。但就像你说的,如果我能有一个租户 ID 列表,然后改变获取凭证的方式。之后,反复为每个目录获取实体,然后我可以得到我需要的东西。我认为问题变成了“如何获取 AAD 租户 ID 列表”,我将调查如何做到这一点。谢谢你的回复????
标签: python azure subscription azure-sdk-python azure-management-groups