如何在Azure中检测访问被拒/未授权的活动日志?
筛选Azure活动日志中的访问被拒/未授权操作
当你需要从流式到存储账户的Azure活动日志中筛选访问被拒或未授权的错误记录时,可以重点关注以下几个字段:
1. resultSignature 字段
这个字段通常会返回对应的权限错误标识或HTTP状态码,比如:
- 未授权相关标识:
Unauthorized、Forbidden - 对应HTTP状态码:
401、403
你可以通过匹配这些值定位权限类错误,比如筛选条件:resultSignature contains "Unauthorized" or resultSignature contains "Forbidden" or resultSignature in ("401", "403")
2. identity.authorization 字段
当操作因权限不足失败时,这个字段会包含权限检查的上下文信息:
- 如果没有匹配的角色分配,
evidence下的roleAssignmentId可能为空或不存在 action字段记录了用户尝试执行的操作,结合resultType=Failure可判断是否因权限导致失败
3. resultDescription 字段补充
部分场景下这个字段会包含明确的权限错误描述,比如"The client does not have authorization to perform action 'Microsoft.Web/sites/read' over scope '/subscriptions/xxx'",可以通过匹配"authorization"、"permission"、"not allowed"这类关键词筛选
示例筛选逻辑(基于你的Schema)
结合以上字段,最终的组合筛选条件可以是:
resultType == "Failure" AND ( resultSignature in ("401", "403", "Unauthorized", "Forbidden") OR resultDescription contains "authorization" OR (identity.authorization.evidence.roleAssignmentId == "" OR identity.authorization.evidence.roleAssignmentId == null) )
注意:流式到存储账户的日志中,properties.statusCode多对应资源操作的状态,而非权限校验结果(如示例中返回"OK"),不建议依赖这个字段筛选权限类错误。
内容的提问来源于stack exchange,提问作者Mohit Munjal
相关产品推荐
相关产品推荐

