You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Python SDK启用Azure SQL Server的Log Analytics工作区审计?

解决Azure SQL通过Python SDK启用Log Analytics审计的问题

你用的server_blob_auditing_policies仅针对Blob存储审计,Log Analytics的配置需要通过extended_server_blob_auditing_policies操作,且必须正确配置log_analytics_destination_details参数。以下是可行的实现步骤:

代码示例

from azure.mgmt.sql import SqlManagementClient
from azure.mgmt.sql.models import (
    ExtendedServerBlobAuditingPolicy,
    LogAnalyticsDestinationDetails
)

# 初始化SqlManagementClient(假设已完成身份验证,比如用DefaultAzureCredential)
sql_client = SqlManagementClient(credential, subscription_id)

# 构造Log Analytics目标配置
la_details = LogAnalyticsDestinationDetails(
    workspace_resource_id="/subscriptions/你的订阅ID/resourceGroups/资源组名/providers/Microsoft.OperationalInsights/workspaces/LA工作区名"
)

# 创建/更新扩展审计策略
policy = ExtendedServerBlobAuditingPolicy(
    state="Enabled",
    log_analytics_destination_details=la_details,
    # 若同时需要Blob存储审计,可补充配置storage_account_access_key等参数,无需则留空
)

result = sql_client.extended_server_blob_auditing_policies.create_or_update(
    resource_group_name="你的资源组名",
    server_name="SQL服务器名",
    parameters=policy
)

# 验证配置是否生效
get_result = sql_client.extended_server_blob_auditing_policies.get(
    resource_group_name="你的资源组名",
    server_name="SQL服务器名"
)
print(get_result.log_analytics_destination_details.workspace_resource_id)

关键说明

  • server_blob_auditing_policies仅维护Blob存储相关的审计配置,GUI启用Log Analytics审计后,用该方法查询看不到对应信息是正常的,必须通过extended_server_blob_auditing_policies查询完整配置。
  • 确保操作账号拥有Microsoft.Sql/servers/extendedAuditingPolicies/write权限。
  • azure-mgmt-sql 3.0.1版本已支持log_analytics_destination_details参数,无需升级版本。

内容的提问来源于stack exchange,提问作者ChrisB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 10:47:43