我正在尝试在 Azure 中设置一个警报,每当活动日志中触发操作名称“Microsoft.Authorization/policyAssignments/write”时,该警报都会向我发出警报。我遇到的问题解释如下。
在活动日志中,我可以在管理组级别中搜索此操作名称。这可以在下图中看到。
创建警报时,范围选择的唯一选项是订阅,而不是管理组。 OperationsName 仅存储在管理组级别,而不存储在订阅级别。
我当前正在尝试使用诊断设置将日志发送到日志分析工作区。我已经设置了一个警报,专门查询“Microsoft.Authorization/policyAssignments/write”,如下所示。
AzureActivity
| where OperationName == "Microsoft.Authorization/policyAssignments/write"
我在 30 分钟内故意多次触发此事件,但在查询 LAW 日志时没有看到任何警报或数据。
综上所述,我不确定 LAW 是否在管理组级别或订阅级别捕获活动日志。
欢迎对文档提出任何建议或指导。
我一直在考虑使用事件网格函数来收集数据。我为需要访问活动日志的其他东西设置了类似的设置,设置捕获数据或通过函数设置警报会更好吗?
az monitor diagnostic-settings create
命令在 Azure 中可用。
az monitor diagnostic-settings create `
--name "MgDiagnostics" `
--resource "/providers/Microsoft.Management/managementGroups/xxxxx7b19afd6" `
--resource-type "Microsoft.Management/managementGroups" `
--logs '[{"category": "Administrative", "enabled": true}]' `
--metrics "[{\"category\":\"AllMetrics\",\"enabled\":true}]" `
--workspace "/subscriptions/xxxx/resourceGroups/arkorg/providers/Microsoft.OperationalInsights/workspaces/loganalyticsname"
要检索管理组的 ID,请使用
az account management-group list
命令供您参考。确保您拥有获取详细信息所需的权限。
或者,在此处检查是否使用 PowerShell 方法进行创建。