gcloud app部署错误需要"vpcaccess.connectors.use"权限

gcloud app deploy eror The "vpcaccess.connectors.use" permission is required

我有 GO 应用程序并尝试使用 google 命令行 sdk 从具有自定义服务帐户的本地计算机将其部署到 google 应用引擎。

我创建了一个具有以下角色的自定义服务帐户:

并使用此帐户在本地授权:

gcloud auth activate-service-account account_name@project-name.iam.gserviceaccount.com --key-file=key.json

此外,我在 app.yaml 中配置了服务帐户:

service_account: account_name@project-name.iam.gserviceaccount.com

但是当我尝试部署时

gcloud app deploy -v 1   

我收到错误:

Beginning deployment of service [default]...
╔════════════════════════════════════════════════════════════╗
╠═ Uploading 0 files to Google Cloud Storage                ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
ERROR: (gcloud.app.deploy) PERMISSION_DENIED: Operation is not allowed. The "vpcaccess.connectors.use" permission is required.

我不明白为什么即使我有 Serverless VPC Access User 角色,仍然需要 vpcaccess.connectors.use 权限?我在 this google docs page

上找到了角色

也许有人遇到过类似的困难?请帮帮我)

UPD 即使我给 Owner 角色 i steel 也有错误

好的,我通过从 app.yaml

中删除 vpc_access_connector: 配置来修复此错误

更新 但是如果你需要配置 vpc_access_connector 你需要添加 无服务器 VPC 访问用户和计算查看器 IAM 角色,并且所有角色都必须正常工作。

修复此错误的一种方法是从 app.yaml

中删除 vpc_access_connector: 配置

如果需要vpc_access_connector配置,添加 Serverless VPC Access UserCompute Viewer 执行部署的服务帐户的 IAM 角色。

此外,app.yaml 中的 vpc_access_connector 必须引用同一项目中存在的一个,否则您仍然会收到此错误。

vpc_access_connector:
  name: projects/my-project-id/locations/the-zone/connectors/my-connector-name