google-app-engine - gcloud app部署错误需要“vpcaccess.connectors.use”权限
问题描述
我有 GO 应用程序,并尝试从具有自定义服务帐户的本地计算机使用 google 命令行 sdk 将其部署到 google 应用程序引擎。
我创建了一个具有角色的自定义服务帐户:
- App 引擎管理员
- Cloud Build 服务帐号
- 云构建服务
- 代理无服务器 VPC 访问用户
并使用此帐户在本地授权:
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.
我不明白为什么即使我拥有无服务器 VPC 访问用户角色,仍然需要 vpcaccess.connectors.use 权限?我在这个谷歌文档页面上找到了这个角色
也许有人遇到过类似的困难?请帮我)
UPD,即使我赋予所有者角色,我钢铁也有错误
解决方案
vpc_access_connector:
通过从 app.yaml中删除配置来修复此错误的一种方法
如果您需要配置 vpc_access_connector,请将
Serverless VPC Access User
IAMCompute Viewer
角色添加到执行部署的服务帐户。
此外,app.yaml 中的 vpc_access_connector 必须引用同一项目中存在的连接器,否则您仍然会收到此错误。
vpc_access_connector:
name: projects/my-project-id/locations/the-zone/connectors/my-connector-name
推荐阅读
- typescript - 将 null 定义为数据类型有什么用?
- bash - 根据特定的子字符串对 Bash 中的字符串列表进行数字排序
- xcode - 等效于 Visual Studio 中的 Xcode“open-counterpart”功能
- java - 从 CSV 解析 Double 会引发 RuntimeException
- python-3.x - 命令冷却格式
- sql - 实体框架的 SQL 连接超时错误
- swift - 从远程 URL 保存音频文件并在 APlayer 中本地加载它们
- python - 将 Curl 命令转换为 python
- python - OpenCV findcontour矩形创建错误
- facebook-javascript-sdk - 最近的 facebook api 更改后如何发布到用户时间轴?