Я обновил свой код. Если это полезно, не могли бы вы пометить его как ответ, следуя этому руководству? Благодарю.
- personIvan Yang  schedule28.06.2019
После установки пакета azure-mgmt-security вы должны использовать метод List в пакет, исходный код здесь.
Вот документ о том, как пройти аутентификацию. Вот doc о том, как получить tenantId / client_id / key.
Вот мой код:
from azure.mgmt.security import SecurityCenter
from azure.common.credentials import ServicePrincipalCredentials
subscription_id = "xxxx"
# Tenant ID for your Azure subscription
TENANT_ID = '<Your tenant ID>'
# Your service principal App ID
CLIENT = '<Your service principal ID>'
# Your service principal password
KEY = '<Your service principal password>'
credentials = ServicePrincipalCredentials(
client_id = CLIENT,
secret = KEY,
tenant = TENANT_ID
)
client = SecurityCenter(credentials=credentials,subscription_id=subscription_id,asc_location="centralus")
client.alerts.list()
Сегодня, в феврале 2021 года, Microsoft снова изменила способ создания учетных данных. Вот текущий:
from azure.identity import DefaultAzureCredential
# Acquire a credential object for the app identity. When running in the cloud,
# DefaultAzureCredential uses the app's managed identity (MSI) or user-assigned service principal.
# When run locally, DefaultAzureCredential relies on environment variables named
# AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, and AZURE_TENANT_ID.
credential = DefaultAzureCredential()
А еще поменял подпись SecurityCenter, параметр credentials был переименован в credential без s.