如何在GCP日志层面监控已执行的gcloud命令行操作
你提到的安全监控需求完全可以实现,依托GCP原生的Cloud Audit Logs能力即可完成全链路的操作捕获、可视化查询、日志同步到SIEM的需求,具体实现逻辑和操作如下:
核心实现逻辑
GCP默认强制开启Admin Activity类审计日志,会自动捕获所有IAM相关的敏感操作记录,gcloud iam service-accounts list对应的后端API为google.iam.admin.v1.ListServiceAccounts,属于审计日志的默认记录范围,日志会完整携带操作执行主体、操作时间、来源IP、请求参数等全量信息,无需额外配置即可采集。
具体操作步骤
1. Logs Explorer可视化查询
打开GCP控制台的Logs Explorer页面,输入如下查询语句即可筛选所有调用服务账号列表查询的操作记录:
其中resource.type="iam_service_account" logName="cloudaudit.googleapis.com%2Factivity" protoPayload.methodName="google.iam.admin.v1.ListServiceAccounts"protoPayload.authenticationInfo.principalEmail字段对应操作执行主体,protoPayload.requestMetadata.callerIp对应操作的来源IP地址。2. 配置Log Sink同步到SIEM
你可以在项目/组织层级创建日志导出Sink,完成日志到SIEM的同步:- Sink的筛选条件填入上面的日志查询语句,仅导出你需要的IAM操作审计日志
- Sink目标端根据你的SIEM接入能力选择即可,支持导出到Pub/Sub、Cloud Storage、BigQuery三类目标,主流SIEM均支持直接对接这三类存储/消息组件拉取日志。
可选安全加固
- 可以基于该审计日志配置告警策略,当非授权主体调用服务账号列表查询操作时实时触发告警
- 收紧IAM权限配置,仅给必要的管理员授予
iam.serviceAccounts.list相关权限,从源头降低未授权访问风险
内容的提问来源于stack exchange,提问作者Bastián SN
相关产品推荐
相关产品推荐

