【问题标题】:Cloud build service account permission to build云构建服务帐号权限构建
【发布时间】:2020-05-26 06:18:25
【问题描述】:

我将我的环境设置为云构建应用程序(Github 应用程序)以通过云构建配置 terraform 到谷歌云平台。该构建是一个具有云功能的简单云编写器,它可以创建这些资源以及正确的服务帐户和成员。 但是,只有所有者权限才能成功执行此操作,我希望云构建服务帐户具有最低权限。我使用了很多角色,但似乎没有任何成功。即创建服务帐户、编辑器、访问上下文管理器管理员、访问批准批准者。当我通过 github commit 运行构建时,除了将所有者设置为角色之外,我收到此错误

错误:为 cloudfunctions cloudfunction 应用 IAM 策略时出错 googleapi:错误 403:权限

错误:请求批处理“iam-project-redacted modifyIamPolicy” “创建 IAM 成员角色/composer.worker serviceAccount:composer-env-account@redacted.iam.gserviceaccount.com 对于 \"project \\"redacted\\"\"" 返回错误:应用 IAM 时出错 项目“已编辑”的政策:为项目设置 IAM 政策时出错 “已编辑”:googleapi:错误 403:调用者没有权限, 禁止。要调试单个请求,请尝试禁用批处理: https://www.terraform.io/docs/providers/google/guides/provider_reference.html#enable_batching

是否存在允许服务帐户通过云构建成功构建的 IAM 策略/角色?

将 Owner 角色设置为 cloudbuild 服务帐户,一切构建成功

【问题讨论】:

    标签: google-cloud-platform google-cloud-build terraform-provider-gcp


    【解决方案1】:

    默认情况下,Cloud Build 服务帐户已分配 Cloud Build 服务帐户角色,该角色具有 referred here 权限。请注意,您只能执行following tasks: 包括执行相关活动以使构建成功(访问 Cloud Source Repository、Cloud Storage 和 Container Registry)。

    除了 Cloud Build 服务帐户角色之外,您还需要grant additional roles,具体取决于您对 Cloud Build 所做的其他事情。

    在出现错误消息的特定情况下,您需要添加 Cloud Functions Developer role 才能获得对 Cloud Functions 的完全访问权限。整个过程记录在here

    如果您还部署到 App Engine,或管理 Google Kubernetes Engine 等,也有类似的角色。查找所有可用角色列表here

    【讨论】:

    • 感谢 Daniel,我遇到了制作额外的自定义角色来执行此管道到云构建服务帐户。大量的反复试验和测试,并找到正确的最小权限权限,但仍然可以构建。成功了。
    猜你喜欢
    • 1970-01-01
    • 2019-09-07
    • 2019-05-23
    • 2023-01-19
    • 2017-03-11
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    相关资源
    最近更新 更多