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

如何通过gcloud CLI获取GCP用户近3个月访问的资源以缩减权限

在GCP中通过gcloud CLI查询用户过去3个月访问过的资源

前提准备

  • 确保目标项目已启用Data Access审计日志(默认仅Admin Activity日志开启,Data Access日志需手动启用),否则无法获取资源访问记录。
  • 执行命令的账号需拥有logging.viewer权限,能读取项目审计日志。

核心查询命令

直接提取用户过去3个月访问过的所有资源(去重后):

gcloud logging read 'logName:"projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access" AND protoPayload.authenticationInfo.principalEmail="[USER_EMAIL]" AND timestamp>="$(date -d "-3 months" +%Y-%m-%dT%H:%M:%SZ)"' --format='value(protoPayload.resourceName)' | sort | uniq

替换命令中的[PROJECT_ID]为你的GCP项目ID,[USER_EMAIL]为目标用户的完整邮箱。

扩展查询(含资源所属服务)

如果需要同时查看资源对应的GCP服务(比如GCS、BigQuery等),使用以下命令:

gcloud logging read 'logName:"projects/[PROJECT_ID]/logs/cloudaudit.googleapis.com%2Fdata_access" AND protoPayload.authenticationInfo.principalEmail="[USER_EMAIL]" AND timestamp>="$(date -d "-3 months" +%Y-%m-%dT%H:%M:%SZ)"' --format='value(protoPayload.resourceName, protoPayload.serviceName)' | sort | uniq

关键注意事项

  • 日志保留限制:GCP默认审计日志仅保留30天,若要查询过去3个月的记录,必须提前将审计日志导出到Cloud Storage或BigQuery进行长期存储。如果未配置导出,只能获取最近30天的访问记录。
  • 跨项目场景:若用户访问过多个项目的资源,需逐个项目执行上述命令;若拥有组织级权限,可通过组织级日志查询统一获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:01:16