遵循 GCP 提供的文档:https://cloud.google.com/artifact-registry/docs/repositories/cleanup-policy
我在启用了试运行选项的情况下在工件存储库上设置了清理策略,但无法使用该命令输出任何审核日志。
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
命令启用了空运行选项
{
"cleanupPolicies": {
"Delete Previous Versions": {
"action": "DELETE",
"condition": {
"olderThan": "864000s",
"tagState": "UNTAGGED"
},
"id": "Delete Previous Versions"
}
},
"cleanupPolicyDryRun": true,
"createTime": "2023-09-27T05:07:31.256470Z",
"description": "This repository is created and used by Cloud Functions",
"format": "DOCKER",
"labels": {
"goog-managed-by": "cloudfunctions"
},
"mode": "STANDARD_REPOSITORY",
"name": "projects/gift-service-app-jm/locations/australia-southeast1/repositories/gcf-artifacts",
"updateTime": "2024-07-10T05:39:56.088672Z"
}
以前有人遇到过这个问题吗?我已将所有者角色应用于我的 IAM 主体,但也尝试显式添加日志查看器和私有日志查看器角色。
请浏览此 Google Cloud 社区链接,其中提到 ArtifactRegistry 确实有清理政策,默认情况下,这些政策触发的删除事件不会记录在 Cloud Logging 中。另请确保您已启用 Artifact Repository 的Audit Logging。
但是,您可以在 ArtifactRegistry 数据访问审核日志中进一步检查其清理策略的效果,并且他们可以通过按照以下步骤过滤日志的文档启用数据访问审核日志来进一步查看这些日志:
“包括读取元数据或配置信息的“管理员读取”操作。还包括读取或写入用户提供的数据的“数据读取”和“数据写入”操作。
要接收数据访问审核日志,您必须显式启用它们。”
资源类型:“工件注册表”
日志名称:“data_access”
注意:搜索相关关键字:“DELETE”、“cleanup”或您的清理策略的具体名称。
希望以上信息能够解决您的问题。