通过python SDK获取Azure安全中心警报

时间:2019-06-26 08:11:26

标签: python azure azure-sdk-python securitycenter

我想使用python SDK列出azure安全中心警报。

我找到了这个包裹: 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 个答案:

答案 0 :(得分:0)

我可以粗略介绍一下。

安装软件包azure-mgmt-security后,应在软件包中使用List方法,源代码为here

这里是doc,有关如何进行身份验证。 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()

此外,您可以将List Alerts api与python中的http请求一起使用。

答案 1 :(得分:0)

截至今天,即 2021 年 2 月,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”。

完整文档 here