首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用服务帐户从Compute Engine部署App Engine Flex

使用服务帐户从Compute Engine部署App Engine Flex
EN

Stack Overflow用户
提问于 2018-02-21 18:51:00
回答 1查看 851关注 0票数 1

我已经设置了一个计算引擎实例,用于集中维护和更新App engine Flex实例。这样做的一个原因是将数据库和其他凭证保存在Google Project中,而不是将它们存储在本地开发机器上。

当我尝试使用flex部署时

代码语言:javascript
复制
gcloud app deploy

我得到一个错误

代码语言:javascript
复制
ERROR: (gcloud.beta.app.deploy) Permissions error fetching application [<project here>]. Please make sure you are using the correct project ID and that you have permission to view applications on the project.

服务帐户是默认的计算引擎帐户,我已在IAM中为其启用了编辑角色。我还尝试启用所有App Engine角色,但没有改变这种情况。

有没有办法从Compute Engine进行部署?如果有,正确的凭据是什么?或者我在这里遗漏了一些步骤?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-21 23:18:59

我创建了一个新的Compute Engine实例,并尝试在您运行时发出相同的命令。我也遇到了同样的问题。下面是我解决这个问题的方法。

1)停止实例

2)导航到IAM >服务帐户>创建服务帐户

3)创建一个新的服务帐户,并确保您在该服务帐户中添加了“App Engine Admin”或“App Engine Deployer”的角色,以及“Storage Admin”、“Project Editor”和“Cloud Container Builder Editor”的角色。因此,总共应该为服务帐户分配至少4个角色,再加上您认为应用程序可能需要的任何其他角色。

4)编辑已停止的实例(从步骤1开始),将服务帐号更改为您创建的新服务帐号。

当您重新启动实例时,您现在应该拥有正确的权限/角色,以便从实例部署您的App Engine Flex App。

存在授权问题,因为Compute Engine默认服务帐户没有分配到将应用程序部署到App Engine flex所需的角色,因为在此过程中使用了各种API。通过将App Engine Flex部署所需的角色分配给一个新的服务帐户,然后将该服务帐户添加到实例中,该实例就拥有了与App Engine Flex部署所需的其他GCP API进行交互所需的授权。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48904025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档