如何在Google Cloud中查找创建超89天的IAM SA密钥
问题根因
你当前使用的过滤条件createTime<=P89D不符合gcloud的时间比较逻辑,所以会返回所有密钥结果:
- 无前缀的
P89D代表正向89天的持续时间,无法和过去的创建时间字段做正确匹配 - 前缀带
-的-P89D才代表「当前时间往前推89天的时间点」,符合你筛选创建时长超过89天密钥的需求
修正后的可用命令
gcloud iam service-accounts keys list --quiet --managed-by=user --iam-account $SERVICE_ACCOUNT_EMAIL --filter='createTime < -P89D' --format='csv[no-heading](KEY_ID)'
额外操作注意事项
- 如果需要同时排除提前创建的未来生效密钥,可以补充过滤条件:
--filter='createTime < -P89D AND validAfterTime < -P89D' - 正式批量处理前,建议先去掉format参数直接运行命令,核对返回结果的createTime字段是否符合预期,避免误操作
- 建议先把匹配到的密钥ID导出到备份文件留存,确认无误后再执行后续删除操作
内容的提问来源于stack exchange,提问作者Tom Bradshaw
相关产品推荐
相关产品推荐

