用于自动将 IAM 资源部署到项目的原生 GCP 解决方案?
Native GCP solution for automatically deploying IAM resources to projects?
我正在尝试在 GCP 中想出一种方法来自动将定义的 IAM 角色、策略和策略绑定部署到选定的 GCP 项目或所有 GCP 项目。
我知道存在 GCP 组织,它们可用于在一个地方定义 IAM 资源,以便将它们继承到子项目。但是,组织在 GCP 中不是强制性的,一些客户将使用旧结构,其中项目在没有继承的情况下并存,并且不想迁移到组织。
一个解决方案是创建迭代项目并创建所有内容的脚本。但是,GCP 本机解决方案将是更可取的。是否有 GCP 本机方法可以将这样定义的 IAM 资源(以及可能的其他项目级配置)部署到特定的 GCP 项目或所有项目,无论客户是否使用组织且无需迭代项目,这些项目都可以正常工作?
I'm trying to come up with a way in GCP to automatically deploy
defined IAM roles, policies and policy bindings to selected GCP
projects or all GCP projects.
部署工具使用称为配置文件的资源的简明描述。这些工具管理资源状态,这意味着您可以声明您想要的东西,它们会实现。它们不是动态的,因为您不会说有时做 X 有时做 Y。您说对 Y 做 X,如果不同就做 Y。
部署工具是 IaaC - 基础架构即代码。配置文件是您实现“期望状态”目标的蓝图。您编写配置文件,工具知道如何构建与所需状态匹配的资源。
如果您的目标是基于输入、条件、and/or 外部因素的动态配置,基于 IaaC 的工具将无法满足您的目标。
对于基于 IaaC 的工具,您有两个支持良好的选项。
- Google 部署管理器。这是官方 Google 产品。该产品是特定于供应商的。
- Terraform Google 提供商。 Terraform 是 HashiCorp 的产品。 Google 提供程序由 Google 开发。
我建议选择 Terraform 和 Google Provider。 Terraform 是跨平台的,世界上大部分地区都支持 Terraform。 Terraform 非常易于使用,有大量的培训资源、示例配置、Internet 指南、入门文章和 YouTube 视频。我用 Google Cloud 写了一些关于 Terraform 的文章。
在你的问题中,你提到了编写脚本。这是可能的,但我不建议这样做。对于一次性配置,在脚本中使用 Google Cloud CLI 是可行的,有时是必要的。部署语言一旦掌握,好处是巨大的。
without iterating over projects?
除非您实施组织,否则 Google 云项目是单独的独立资源。部署工具是特定于项目的,这意味着如果你想管理多个项目中的资源,你必须在部署配置中声明。他们不迭代项目,你声明他们。
我正在尝试在 GCP 中想出一种方法来自动将定义的 IAM 角色、策略和策略绑定部署到选定的 GCP 项目或所有 GCP 项目。
我知道存在 GCP 组织,它们可用于在一个地方定义 IAM 资源,以便将它们继承到子项目。但是,组织在 GCP 中不是强制性的,一些客户将使用旧结构,其中项目在没有继承的情况下并存,并且不想迁移到组织。
一个解决方案是创建迭代项目并创建所有内容的脚本。但是,GCP 本机解决方案将是更可取的。是否有 GCP 本机方法可以将这样定义的 IAM 资源(以及可能的其他项目级配置)部署到特定的 GCP 项目或所有项目,无论客户是否使用组织且无需迭代项目,这些项目都可以正常工作?
I'm trying to come up with a way in GCP to automatically deploy defined IAM roles, policies and policy bindings to selected GCP projects or all GCP projects.
部署工具使用称为配置文件的资源的简明描述。这些工具管理资源状态,这意味着您可以声明您想要的东西,它们会实现。它们不是动态的,因为您不会说有时做 X 有时做 Y。您说对 Y 做 X,如果不同就做 Y。
部署工具是 IaaC - 基础架构即代码。配置文件是您实现“期望状态”目标的蓝图。您编写配置文件,工具知道如何构建与所需状态匹配的资源。
如果您的目标是基于输入、条件、and/or 外部因素的动态配置,基于 IaaC 的工具将无法满足您的目标。
对于基于 IaaC 的工具,您有两个支持良好的选项。
- Google 部署管理器。这是官方 Google 产品。该产品是特定于供应商的。
- Terraform Google 提供商。 Terraform 是 HashiCorp 的产品。 Google 提供程序由 Google 开发。
我建议选择 Terraform 和 Google Provider。 Terraform 是跨平台的,世界上大部分地区都支持 Terraform。 Terraform 非常易于使用,有大量的培训资源、示例配置、Internet 指南、入门文章和 YouTube 视频。我用 Google Cloud 写了一些关于 Terraform 的文章。
在你的问题中,你提到了编写脚本。这是可能的,但我不建议这样做。对于一次性配置,在脚本中使用 Google Cloud CLI 是可行的,有时是必要的。部署语言一旦掌握,好处是巨大的。
without iterating over projects?
除非您实施组织,否则 Google 云项目是单独的独立资源。部署工具是特定于项目的,这意味着如果你想管理多个项目中的资源,你必须在部署配置中声明。他们不迭代项目,你声明他们。