2017-06-16 103 views
2

我试图使用一个服务帐户使用gcloud beta functions deploy从CI,却得到一个错误:服务帐户角色部署谷歌云功能

(gcloud.beta.functions.deploy) ResponseError: status=[403], code=[Forbidden], message=[The caller does not have permission]

我找不到在IAM Web控制台的任何角色看起来合适。我使用哪一个?

+0

- 您可以展开CI首字母缩略词吗? - 请使用--log-http命令运行以查看哪个呼叫失败。 - 请运行'gcloud auth list'来检查gcloud认证的帐户。 –

+0

@BasketWeaver CI =持续集成(詹金斯/竹/ Bitbucket pipeleines等)。我正在使用gcloud服务帐户([email protected])。这很清楚网络上发生了什么 - 我试图执行“gcloud.beta.functions.deploy”,并且响应是403,因为服务帐户没有正确的权限。作为QuestionAndAnswer建议添加“所有者”和“编辑器”可能会解决问题,但我希望获得更具体的角色。 –

+0

似乎没有任何可以允许部署函数的更窄权限的角色。并没有这样做的权限,所以你似乎甚至不能创建自己的角色:( –

回答

1

您可以始终从这两个选项开始。至少他们必须工作。

enter image description here

,并确保您设置了所有必需的环境变量,以使默认应用程序凭据工作。

+1

我希望“嗨,我来自谷歌,我们刚刚添加了“云端函数的角色”,但现在“编辑器”正常工作...... –

0

检查您的当前配置:gcloud config list

查看结果和检查project =是完全一样的作为目标项目的PROJECT_ID

你可以列出你的项目:gcloud config set project

重要

Project =未设置名称。必须设置PROJECT_ID