如何查看Azure Datalake Gen2存储的ACL变更操作日志
Azure Data Lake Gen2 ACL变更操作追踪方案
1 修正诊断设置配置
你开启诊断设置后未查询到ACL变更记录,大概率是未勾选对应日志类别或配置范围不正确:
- 进入存储账户「诊断设置」页面,选择对应
blob服务的诊断配置 - 日志类别必须勾选StorageBlobLogs,若同时需要追踪存储账户层面的管理操作可额外勾选
StorageAccountManagementLogs - 确保导出目标已配置为「发送到Log Analytics工作区」,否则无法直接在存储账户的「日志」功能模块查询记录
- 配置修改后新产生的操作才会被采集,历史操作无法回溯
2 日志查询方法
在存储账户的「日志」模块,使用以下Kusto语句查询ACL变更记录:
StorageBlobLogs // 调整时间范围为你需要查询的时段 | where TimeGenerated > ago(7d) // ACL操作对应的固定操作名 | where OperationName in ("SetAccessControl", "SetAccessControlRecursive", "RemoveAccessControlRecursive") // 按需展示需要的字段 | project TimeGenerated, OperationName, Uri, RequesterObjectId, ClientIpAddress, UserAgent, StatusCode
字段说明:
Uri:被修改ACL的文件/目录完整路径RequesterObjectId:操作人的AAD对象ID,可对应到具体操作账号StatusCode:操作的返回状态码,可筛选成功/失败的请求
3 常见排查注意事项
- 仅通过ADLS Gen2专属API执行的ACL修改操作会生成上述日志,若使用旧版Blob API修改容器/Blob权限,不会产生对应ACL操作记录
- 日志存在1-5分钟的采集延迟,操作完成后请稍等片刻再执行查询
- 若需要追踪存储账户层面的RBAC权限分配/变更操作,可查询
AzureActivity表中操作名为Microsoft.Authorization/roleAssignments/write的记录
内容的提问来源于stack exchange,提问作者Ash3060
相关产品推荐
相关产品推荐

