Получайте оповещения Azure Security Center с помощью Python SDK

Я хочу перечислить оповещения Azure Security Center, используя Python SDK.

Я нашел этот пакет: https://pypi.org/project/azure-mgmt-security/

Он должен быть включен в документацию Microsoft:

https://docs.microsoft.com/en-gb/python/azure/?view=azure-python https://github.com/Azure/azure-sdk-for-python

но я не могу найти какую-либо ссылку или пример.

Кто-нибудь знает, где я могу найти эту информацию?

С уважением.

2 ответа

Решение

Я могу просто дать грубую ссылку.

После установки пакета https://pypi.org/project/azure-mgmt-security/ вы должны использовать List Метод в пакете, исходный код здесь.

Вот документ о том, как пройти аутентификацию. Вот документ о том, как получить 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()

Также вы можете использовать api List Alerts с запросом http в python.

Сегодня, в феврале 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 без "с".

Полная документация здесь .

Другие вопросы по тегам