通过 YAML 部署云 运行 失败并显示 "Permission denied on secret"

Cloud Run deploy via YAML fails with "Permission denied on secret"

当使用包含环境变量作为机密的 YAML 文件从命令行部署我的 Cloud 运行 服务时 (gcloud.run.services.replace),部署在“路由流量”阶段失败并发出此错误.

Deployment failed                                                                                                                                                                 
ERROR: (gcloud.run.services.replace) spec.template.spec.container.env[2].value_from.secret_key_ref.name: Permission denied on secret: projects/12345678900/secrets/icbm-launch-code/versions/1 for Revision service account 12345678900-compute@developer.gserviceaccount.com. The service account used must be granted the 'Secret Manager Secret Accessor' role (roles/secretmanager.secretAccessor) at the secret, project or higher level.

我已经为错误中提到的服务帐户提供了 Secret Manager Secret Accessor 角色,我已经等待了几个小时以确保一致性。

我无能为力。错误?

我创建了一个新的服务帐户并赋予它 Secret Manager Secret Accessor 角色,然后在我的 YAML 中设置

spec.template.spec.serviceAccountName: new-service-account@blah

然后重新部署,它成功了。担心安全系统不可靠