如何通过Kusto查询为分配数据操作权限的Azure存储账户RBAC角色创建警报
如何在Azure存储账户分配含数据操作权限的RBAC角色时创建警报?
创建警报的步骤
- 登录Azure门户,打开Azure Monitor
- 左侧菜单选「警报」→「创建」→「警报规则」
- 在「范围」里选择要监控的订阅/资源组(建议覆盖所有存储账户所在范围)
- 切换到「条件」选项卡,信号类型选「自定义日志搜索」,关联对应的Log Analytics工作区
- 将以下Kusto查询粘贴到搜索框:
AzureActivity | where OperationName == "Microsoft.Authorization/roleAssignments/write" | extend Properties = parse_json(Properties) | where Properties.targetResource.id contains "storageAccounts" | where Properties.responseBody contains "dataActions" or Properties.responseBody contains "notDataActions" | project TimeGenerated, PrincipalType=Properties.requestBody.properties.principalType, PrincipalName=Properties.requestBody.properties.principalName, RoleDefinitionName=Properties.requestBody.properties.roleDefinitionName, Scope=Properties.scope, Resource=Properties.targetResource
- 设置警报触发条件:比如当查询返回的结果数大于0时触发
- 配置「操作组」,选择需要的通知方式(邮件、短信、Webhook等)
- 填写警报规则的名称和描述,完成后保存规则
查询逻辑说明
- 过滤出Azure活动日志中创建或更新RBAC角色分配的操作(对应
Microsoft.Authorization/roleAssignments/write) - 将日志里的Properties字段解析为JSON格式,方便提取有效信息
- 仅保留目标资源为存储账户的记录
- 进一步筛选出角色包含
dataActions或notDataActions的分配操作,确保只监控涉及数据权限的角色分配 - 最终展示关键信息:操作时间、主体类型、主体名称、角色名称、分配范围、目标存储资源
内容的提问来源于stack exchange,提问作者user23559073
相关产品推荐
相关产品推荐

