Google 云端点 403 异常
Google Cloud Endpoint 403 Exception
我正在尝试根据以下步骤在 Cloud Endpoints 后面部署 Google Cloud Functions:
https://cloud.google.com/endpoints/docs/openapi/get-started-cloud-functions
我完全按照描述的步骤进行操作,并将 API 密钥身份验证添加到 OpenAPI 规范。
当我使用 API 键调用端点时,出现以下错误:
INTERNAL:Calling Google Service Control API failed with: 403 and body: \bMPermission 'servicemanagement.services.check' denied for the consumer project
.
我必须向服务帐户添加一些额外的角色吗?我在执行 gcloud run deploy
.
时没有指定服务帐户
感谢您的帮助
刚刚找到解决方案。在按照文档中的描述部署端点之前,我必须创建一个具有“服务控制器”角色的新服务帐户,然后在部署时使用它:
gcloud run deploy --service-account="..."
除了卢卡斯回答:
Cloud Endpoints 通过 Google 服务管理 API“servicemanagement.googleapis.com”检查给定的 API 密钥。
这意味着调用服务管理 api 的服务帐户需要访问它。
在大多数情况下,这是项目的标准计算帐户。
您需要通过 gcloud 授予它权限:
gcloud projects add-iam-policy-binding <project> --member serviceAccount:<project_id>-compute@developer.gserviceaccount.com --role roles/servicemanagement.serviceController
或者通过云端控制台:
Service Controller Permission IAM
我正在尝试根据以下步骤在 Cloud Endpoints 后面部署 Google Cloud Functions:
https://cloud.google.com/endpoints/docs/openapi/get-started-cloud-functions
我完全按照描述的步骤进行操作,并将 API 密钥身份验证添加到 OpenAPI 规范。
当我使用 API 键调用端点时,出现以下错误:
INTERNAL:Calling Google Service Control API failed with: 403 and body: \bMPermission 'servicemanagement.services.check' denied for the consumer project
.
我必须向服务帐户添加一些额外的角色吗?我在执行 gcloud run deploy
.
感谢您的帮助
刚刚找到解决方案。在按照文档中的描述部署端点之前,我必须创建一个具有“服务控制器”角色的新服务帐户,然后在部署时使用它:
gcloud run deploy --service-account="..."
除了卢卡斯回答:
Cloud Endpoints 通过 Google 服务管理 API“servicemanagement.googleapis.com”检查给定的 API 密钥。 这意味着调用服务管理 api 的服务帐户需要访问它。 在大多数情况下,这是项目的标准计算帐户。
您需要通过 gcloud 授予它权限:
gcloud projects add-iam-policy-binding <project> --member serviceAccount:<project_id>-compute@developer.gserviceaccount.com --role roles/servicemanagement.serviceController
或者通过云端控制台: Service Controller Permission IAM