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

如何查询Azure存储账户ACL变更记录、操作人及操作时间?

问题结论

存储账户的ACL变更操作无法在Azure活动日志中查询到,你之前的查询路径有误,和你所持有的Resource Group Admin、Resource Group User角色权限无关。

为什么活动日志里看不到ACL变更记录

Azure活动日志默认只收录Azure Resource Manager控制平面的操作,你看到的Create role assignment类RBAC权限变更就属于控制平面操作。
存储ACL分为两类,日志归属完全不同:

  • 存储账户网络防火墙、公共访问开关这类账户级访问控制配置属于控制平面,操作会进活动日志
  • 容器、目录、Blob级别的访问ACL(包括你提到的给Tom授予的访问权限,以及通过Azure门户、Storage Explorer执行的POSIX ACL/对象级ACL修改)属于存储数据平面操作,不会同步到活动日志,哪怕是你自己执行的操作也不会出现在活动日志列表里。
ACL变更日志的正确查询路径
  1. 首先确认目标存储账户已经开启Azure Monitor资源日志(原Storage Analytics日志):如果之前未开启该功能,无法追溯开启前的历史操作记录。开启时需要确保勾选记录「写入」类操作,ACL修改属于写入类操作。
  2. 日志会投递到你配置的目标位置,对应查询方式如下:
    • 如果投递到Log Analytics工作区,直接执行如下KQL查询即可定位针对Tom的授权记录:
    StorageBlobLogs
    | where OperationName in ("SetAccessControl", "SetAcl")
    | extend ParsedAcl = parse_json(ResponseBody)
    | where tostring(ParsedAcl) has "Tom"
    | project OperationTime = TimeGenerated, OperatorAccount = RequesterUpn, OperatorObjectId = RequesterObjectId, OperatorIP = CallerIpAddress, TargetPath = Uri, OperationResult = ResponseCode
    | sort by OperationTime desc
    
    查询结果里的OperatorAccount就是执行授权操作的账号,OperationTime就是授权时间,不管操作是通过Azure门户、Storage Explorer还是其他工具调用存储API执行,都会被完整记录。
    • 如果日志投递到存储账户自带的$logs系统容器,可以按日期目录下载对应时段的日志文本,搜索操作名为SetAccessControl/SetAcl的条目,字段含义和上述Log Analytics查询结果一致。
补充排查点

如果你查的是存储账户网络层面的ACL规则变更,不需要查数据平面日志,直接在活动日志里筛选操作名Microsoft.Storage/storageAccounts/write,展开操作详情的properties字段,找到networkAcls配置段的变更记录即可,操作人、操作时间都会在该条记录里标注。
你当前持有的资源组级角色默认具备查看存储资源日志的权限,只要你有日志投递目标(Log Analytics工作区、$logs容器)的读取权限,就能完成核查,不需要额外提升权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 01:24:34