Azure资源组锁变更活动日志警报规则配置(Bicep实现)
针对资源组内资源锁变更的警报配置方案
1. 无需Log Analytics的替代方案
可以直接创建资源组级别的活动日志警报规则,无需依赖Log Analytics。Azure活动日志警报支持针对特定资源组、特定操作事件配置触发条件,具体Bicep实现如下:
Bicep脚本示例
param resourceGroupName string = 'your-resource-group-name' param alertRuleName string = 'LockChangesAlert' param actionGroupName string = 'your-action-group-name' // 需提前创建好动作组(如邮件/短信通知) resource alertRule 'Microsoft.Insights/activityLogAlerts@2020-10-01' = { name: alertRuleName location: 'global' properties: { scopes: [ resourceGroup().id ] condition: { anyOf: [ { field: 'category' equals: 'Administrative' }, { field: 'operationName' equals: 'Microsoft.Authorization/locks/write' }, { field: 'operationName' equals: 'Microsoft.Authorization/locks/delete' } ] } actions: { actionGroups: [ { actionGroupId: resourceId('Microsoft.Insights/actionGroups', actionGroupName) } ] } enabled: true } }
说明:
scopes指定为目标资源组ID,确保仅监控该资源组内的操作operationName对应的后台标识符:write对应添加/修改锁,delete对应删除锁,和门户显示的Add management locks/Delete management locks一一对应- 需提前创建动作组,配置好通知方式(邮件、短信、Webhook等)
2. 资源组级活动日志定向到Log Analytics的方案
如果必须使用Log Analytics,无需用订阅级导出设置,直接在目标资源组上创建诊断设置,仅将该资源组的活动日志发送到指定的Log Analytics工作区即可:
Bicep脚本示例
param resourceGroupName string = 'your-resource-group-name' param logAnalyticsWorkspaceId string = '/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.OperationalInsights/workspaces/xxx' param diagnosticSettingName string = 'ResourceGroupActivityLogsToLA' resource diagnosticSetting 'Microsoft.Insights/diagnosticSettings@2021-05-01-preview' = { name: diagnosticSettingName scope: resourceGroup() properties: { workspaceId: logAnalyticsWorkspaceId logs: [ { category: 'Administrative' enabled: true } ] } }
说明:
- 该诊断设置仅作用于当前资源组,不会影响订阅内其他资源组
- 后续可在Log Analytics中创建基于日志的警报规则,筛选
AzureActivity表中OperationName为Add management locks或Delete management locks的事件
内容的提问来源于stack exchange,提问作者havij
相关产品推荐
相关产品推荐

