如何在GCP Stackdriver中查询IAM角色变更记录与操作主体信息
Stackdriver IAM角色变更操作排查指南
筛选规则说明
Stackdriver(现归属Google Cloud Operations套件的Cloud Logging模块)支持通过审计日志筛选IAM角色的分配、移除操作,所有这类操作都会被记录在Admin Activity审计日志中,无需额外开启配置。
专用筛选表达式
直接在日志查询框输入以下语句即可匹配所有全局IAM角色变更操作:protoPayload.methodName="SetIamPolicy" AND protoPayload.serviceName="iam.googleapis.com"
日志核心字段说明
- 操作人信息:对应
protoPayload.authenticationInfo.principalEmail字段,直接展示执行操作的账号邮箱,支持普通用户、服务账号、第三方身份主体的识别 - 操作类型:对应
protoPayload.serviceData.policyDelta.bindingDeltas.action字段,ADD为角色分配操作,REMOVE为角色移除操作 - 变更对象:对应
protoPayload.serviceData.policyDelta.bindingDeltas.member字段,展示被调整权限的主体 - 变更角色:对应
protoPayload.serviceData.policyDelta.bindingDeltas.role字段,展示被调整的具体IAM角色 - 操作来源:对应
protoPayload.requestMetadata.callerIp字段,记录操作发起的IP地址 - 操作时间:对应
timestamp字段,记录操作的精确发生时间
排查操作步骤
- 第一步:进入Stackdriver/Cloud Logging的日志查询页面,输入上述筛选表达式
- 第二步:调整查询时间范围到角色异常移除的发生时段,缩小查询范围
- 第三步:筛选日志中
action值为REMOVE的条目,直接获取操作人、操作来源等信息 - 第四步:可结合操作时间、操作IP与对应账号的使用记录交叉验证,判断是否为误操作
若需要排查非全局IAM的角色变更(例如云存储桶、云主机等资源的独立IAM配置变更),仅需将筛选表达式中的
protoPayload.serviceName替换为对应资源的服务名即可,例如云存储对应storage.googleapis.com、云主机对应compute.googleapis.com。
内容的提问来源于stack exchange,提问作者johndue
相关产品推荐
相关产品推荐

