【问题标题】:Native GCP solution for automatically deploying IAM resources to projects?用于将 IAM 资源自动部署到项目的原生 GCP 解决方案?
【发布时间】:2021-03-10 13:09:39
【问题描述】:

我正在尝试在 GCP 中想出一种方法来自动将定义的 IAM 角色、策略和策略绑定部署到选定的 GCP 项目或所有 GCP 项目。

我知道存在 GCP 组织,它们可​​用于在一个地方定义 IAM 资源,以便将它们继承给子项目。但是,组织在 GCP 中不是强制性的,一些客户将使用旧结构,其中项目并排存在,没有继承,并且不想迁移到组织。

一种解决方案是创建迭代项目并创建所有内容的脚本。但是,最好使用 GCP 原生解决方案。是否有一种 GCP 原生方式可以将定义的 IAM 资源(可能还有其他项目级别的配置)部署到特定的 GCP 项目或所有项目,无论客户是否使用组织且无需迭代项目,都可以正常工作?

【问题讨论】:

    标签: google-cloud-platform google-cloud-iam


    【解决方案1】:

    我正在尝试在 GCP 中提出一种自动部署的方法 已定义 IAM 角色、策略和与选定 GCP 的策略绑定 项目或所有 GCP 项目。

    部署工具使用称为配置文件的资源的简明描述。这些工具管理资源状态,这意味着你声明你想要什么,然后它们就会这样做。它们不是动态的,因为你没有说有时做 X,有时做 Y。你说做 X 到 Y,如果不同就做 Y。

    部署工具是 IaaC - 基础架构即代码。配置文件是您“期望状态”目标的蓝图。您编写配置文件,工具知道如何构建与所需状态匹配的资源。

    如果您的目标是基于输入、条件和/或外部因素的动态配置,那么基于 IaaC 的工具将无法实现您的目标。

    对于基于 IaaC 的工具,您有两个得到良好支持的选项。

    • 谷歌部署管理器。这是 Google 的官方产品。此产品是特定于供应商的。
    • Terraform Google 提供程序。 Terraform 是 HashiCorp 的产品。 Google Provider 由 Google 开发。

    我建议选择 Terraform 和 Google Provider。 Terraform 是跨平台的,世界上大部分地区都支持 Terraform。 Terraform 非常易于使用,有大量培训资源、示例配置、互联网指南、入门文章和 YouTube 视频。我已经写了几篇关于 Terraform with Google Cloud 的文章。

    在您的问题中,您提到了编写脚本。这是可能的,但我不建议这样做。对于一次性配置,在脚本中使用 Google Cloud CLI 是可行的,有时也是必要的。一旦掌握了部署语言,其好处将是巨大的。

    不迭代项目?

    除非您实施组织,否则 Google Cloud 项目是独立的独立资源。部署工具是特定于项目的,这意味着如果您想管理多个项目中的资源,则必须在部署配置中声明。他们不迭代项目,你声明它们。

    【讨论】:

    • 感谢您的详细回复,它涵盖了我的问题的方方面面,非常感谢。这对我来说很有意义:如果要在许多不同的项目中进行 IAM 更改,最好的方法似乎是组织或类似 Terraform 的东西。
    猜你喜欢
    • 1970-01-01
    • 2016-05-17
    • 2014-02-04
    • 2012-04-11
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多