2

我正在一个 Google Cloud 项目中处理一系列云功能,由于某种原因,我突然收到此错误:

Deployment failure:
Missing necessary permission resourcemanager.projects.getIamPolicy for service-1092904037961@gcf-admin-robot.iam.gserviceaccount.com on resource projects/la-cloud-functions. Please grant service-1092904037961@gcf-admin-robot.iam.gserviceaccount.com the Cloud Functions Service Agent role. You can do that by running 'gcloud iam service-accounts add-iam-policy-binding projects/la-cloud-functions --member=service-1092904037961@gcf-admin-robot.iam.gserviceaccount.com --role=Cloud Functions Service Agent'

除了格式错误的错误响应(你不能--role=Cloud Functions Service Agent- 它应该是--role=roles/cloudfunctions.serviceAgent),当我尝试运行修改后的命令时:

gcloud iam service-accounts add-iam-policy-binding projects/la-cloud-functions --member=service-1092904037961@gcf-admin-robot.iam.gserviceaccount.com --role=roles/cloudfunctions.serviceAgent

我收到此错误:

The requested URL <code>/v1/projects/la-cloud-functions/serviceAccounts/projects/la-cloud-functions:getIamPolicy?alt=json</code> was not found on this server.

最后,尝试通过控制台分配 Cloud Functions 服务器代理角色给了我另一个惊喜 - 列表中缺少该角色,它应该在服务管理下:

在此处输入图像描述

我尝试通过使用以下命令重新启用 Cloud Functions API 来重置服务帐户:

gcloud services enable cloudfunctions.googleapis.com

但同样,没有成功。

有人对如何解决此问题并使 Cloud Functions 服务代理角色再次可用有任何想法吗?

TIA-乔

4

1 回答 1

6

尝试以下步骤来解决此问题:

禁用云函数 API:

gcloud services disable cloudfunctions.googleapis.com --project la-cloud-functions

等待大约一分钟以完成禁用。

使用 CLI 或使用 IAM 下的 GCP Console 删除云函数成员帐户。

gcloud projects remove-iam-policy-binding la-cloud-functions --member="serviceAccount:service-1092904037961@gcf-admin-robot.iam.gserviceaccount.com" --role="roles/cloudfunctions.serviceAgent"

等待大约一分钟。然后验证该成员是否已在 GCP Console 中的 IAM 下删除。

启用云函数 API:

gcloud services enable cloudfunctions.googleapis.com --project la-cloud-functions

返回 GCP 控制台。您应该找到一个新的 Google Cloud Functions 服务代理成员。

笔记:

您使用了错误的命令来添加cloudfunctions.serviceAgent. 这是正确的命令:

gcloud projects add-iam-policy-binding la-cloud-functions --member="serviceAccount:service-1092904037961@gcf-admin-robot.iam.gserviceaccount.com" --role="roles/cloudfunctions.serviceAgent"
于 2018-12-27T23:19:36.910 回答