Terraform GCP service_account vs 项目 vs 组织

问题描述 投票:0回答:2

我正在为 GCP 挑选 terraform,并且遇到了这三个资源:

  1. google_service_account_iam_member
  2. google_project_iam_member
  3. google_organization_iam_member

它们听起来非常相似,但肯定有一些关键的区别。

我浏览了他们的文档,但我并不完全清楚他们的差异。有什么简单的方法可以说明它们之间的区别吗?

谢谢

google-cloud-platform terraform service-accounts google-cloud-iam terraform-provider-gcp
2个回答
3
投票

在 GCP 中,有一个层次结构:组织、项目、资源

您提到的 IAM 策略的行为相同;但是,根据层次结构在不同级别上工作。

例如,

google_project_iam_member
将更新 IAM 策略以在项目级别向新成员授予角色。

google_organization_iam_member
将执行相同的操作,但在组织级别(比项目更高的级别)。

更新:

google_service_account_iam_member 将在各个级别上运行,具体取决于您希望服务帐户执行的操作。您可以让服务帐户充当身份,也可以让它运行某个资源。可以在所有三个级别上添加服务帐户。


1
投票

如前所述,

google_project_iam_member
google_organization_iam_member
,用于管理项目或组织级别的 IAM 权限。您还可以管理文件夹级别的权限。

当在组织级别授予 IAM 时,所有文件夹和项目都会继承该权限。当在文件夹中授予权限时,该文件夹下的所有项目和子文件夹都将继承该权限。

权限也可以在资源级别进行管理,

google_service_account_iam_member
允许授予管理服务帐户的权限并在服务帐户级别使用服务帐户。当您想要授予更受限制的权限并授予对单个服务帐户而不是项目中的所有服务帐户的访问权限时,这很有帮助。

谢谢, 爱德华多·鲁埃拉

© www.soinside.com 2019 - 2024. All rights reserved.