問題描述
在Azure AD中注冊(cè)一個(gè)Applicaiton后,對(duì)其進(jìn)行授權(quán)揪胃,能夠查看所有訂閱的ReadOnly權(quán)限氛琢,然后,是否可以同通過Python代碼骚勘,在完成Authorization后(使用Client ID, Client Secret)障般,List能查看到所有的訂閱信息(包含ID和名稱等)?
問題答案
可以的盛杰。
在Azure SDK for Python中即供,有 SubscriptionsOperations 類于微,可以 List 出所有的Subscription對(duì)象。
SubscriptionsOperations Class株依,You should not instantiate this class directly. Instead, you should create a Client instance that instantiates it for you and attaches it as an attribute.
List : Gets all subscriptions for a tenant. (https://docs.microsoft.com/en-us/python/api/azure-mgmt-subscription/azure.mgmt.subscription.operations.subscriptionsoperations?view=azure-python#list---kwargs-)
示例代碼(把其中AAD認(rèn)證相關(guān)信息替換即可)
from azure.identity import ClientSecretCredential
from azure.mgmt.resource import SubscriptionClient
from msrestazure.azure_cloud import AZURE_CHINA_CLOUD
credentials = ClientSecretCredential(client_id='', client_secret='', tenant_id='',authority=AZURE_CHINA_CLOUD.endpoints.active_directory)
subscription_client = SubscriptionClient(credentials, base_url=AZURE_CHINA_CLOUD.endpoints.resource_manager, credential_scopes=["https://management.chinacloudapi.cn/.default"])
subscription_list=subscription_client.subscriptions.list()
for subscription in list(subscription_list):
print(f"{subscription.subscription_id} {subscription.display_name}")
參考資料
SubscriptionsOperations Class : https://docs.microsoft.com/en-us/python/api/azure-mgmt-subscription/azure.mgmt.subscription.operations.subscriptionsoperations?view=azure-python
當(dāng)在復(fù)雜的環(huán)境中面臨問題恋腕,格物之道需:濁而靜之徐清荠藤,安以動(dòng)之徐生。 云中哈肖,恰是如此!
標(biāo)簽: Azure Developer, azure python, Python 獲取 Azure 中訂閱(subscription)信息