首页 > 解决方案 > 错误:(gcloud.run.services.update)PERMISSION_DENIED:资源'namespaces/*/services/test-repo'的权限'run.services.get'被拒绝

问题描述

我在谷歌云中有以下权限。

  1. BigQuery 管理员
  2. 云功能管理员
  3. 云调度器管理员
  4. 计算管理员
  5. 编辑
  6. 源存储库管理员
  7. 存储管理员

我正在使用云存储库创建一个云运行容器。但出现以下错误。

错误:构建步骤 2“gcr.io/google.com/cloudsdktool/cloud-sdk:slim”失败:步骤以非零状态退出:1 错误已完成步骤 #2 -“部署”步骤 #2 -“部署”:错误:(gcloud.run.services.update)PERMISSION_DENIED:资源“namespaces/buypower-mobile-app/services/test-repo”(或资源可能不存在)的权限“run.services.get”被拒绝。

标签: google-cloud-run

解决方案


根据官方文档,如果您使用 Cloud Build 部署 Cloud Run 服务,那么您收到的错误是因为 Cloud Build 使用的服务帐户没有足够的权限来更新 Cloud Run 服务。

具体错误是权限被拒绝run.services.get。此方法是roles/run.adminor的一部分roles/run.developerrun.services.update这两个角色都包含您需要的权限。

要使其正常工作,您需要将其中一个角色添加到 Cloud Build 正在使用的服务帐户中。


推荐阅读