尝试将映像部署到云运行时出现权限错误:
gcloud beta run deploy endpoints_proxy \
--image="gcr.io/endpoints-release/endpoints-runtime-serverless:1.30.0" \
--allow-unauthenticated
这是错误:
ERROR: (gcloud.beta.run.deploy) User [email-goes-here] does not have permission to access namespace [project-id-goes-here] (or it may not exist): Cloud Run does not have permission to get access tokens for the default compute service account, 1088973916567-compute@developer.gserviceaccount.com. Please give Google Cloud Run Service Agent the permission iam.serviceAccounts.getAccessToken on the default compute service account.
我的帐户具有所有者和编辑者权限,我什至尝试附加Cloud Run Service Agent角色。
我还尝试将这些角色添加到错误中列出的“默认计算服务帐户”,但没有用。
答案 0 :(得分:2)
该错误消息非常容易引起误解,因为缺少 Cloud Run Service Agent 而发生该错误。
创建以下服务帐户后:
Name: service-<account-id>@serverless-robot-prod.iam.gserviceaccount.com
Role: Google Cloud Run Service Agent
问题解决了。看来Cloud Run需要此服务帐户才能正常工作,所以永远不要删除它:)
答案 1 :(得分:0)
您应该启用对 Cloud Build 服务帐号的权限。 除非你这样做,否则它不会起作用。
Google Cloud Console > Cloud Build > Cloud Build Settings > 启用对您正在使用的 GCP 服务的访问。 (见附图)