Google Cloud Artifact Registry清理策略无法触发Dry-run审计日志问题
Google Cloud Artifact Registry清理策略无法触发Dry-run审计日志问题
我按照GCP的Artifact Registry清理策略文档配置了仓库的清理策略,并且开启了dry-run选项,但执行下面的日志查询命令时,始终看不到对应的审计日志输出:
gcloud logging read 'protoPayload.serviceName="artifactregistry.googleapis.com" AND protoPayload.request.parent:"projects/gift-service-app-jm/locations/australia-southeast1/repositories/gcf-artifacts" AND protoPayload.request.validateOnly=true' \ --resource-names="projects/gift-service-app-jm" \ --project=gift-service-app-jm
不过我已经通过gcloud artifacts repositories describe gcf-artifacts命令确认了清理策略已正确设置,且dry-run选项确实处于启用状态,对应的描述输出片段如下:
{ // 此处省略完整JSON内容,已确认dry-run相关配置存在且启用 }
针对这个问题,你可以从以下几个方向排查:
- 检查日志时间范围:默认
gcloud logging read只查询最近1小时的日志,如果是较早前设置的策略,记得加上--start-time参数指定更早的时间范围,比如--start-time="2024-05-01T00:00:00Z" - 确认审计日志启用状态:去Cloud Console的【IAM与管理】→【审计日志】页面,检查
artifactregistry.googleapis.com服务的“数据读写”类日志是否已经开启,只有开启后才会生成相关审计日志 - 简化查询条件排查:先尝试简化日志查询语句,比如只保留
protoPayload.serviceName="artifactregistry.googleapis.com",看看能不能找到相关日志,再逐步添加条件缩小范围,避免因为某个条件匹配不到导致无结果 - 等待策略执行周期:清理策略的dry-run不是实时触发的,它有固定的执行周期(通常每日一次),你需要等待策略自然执行后,再去查询对应的日志记录
备注:内容来源于stack exchange,提问作者Josh Marcus
相关产品推荐
相关产品推荐

