使用谷歌云中的服务帐户使用terraform管理核心基础设施
我正在使用Terraform v0.13.5.1,希望管理核心基础设施,如创建文件夹、文件夹上的IAM角色、组织策略、创建项目、创建服务帐户等 问题: 我们无法在组织级别或文件夹级别创建服务帐户,因此如何使用服务帐户管理此infra使用谷歌云中的服务帐户使用terraform管理核心基础设施,terraform,terraform-provider-gcp,Terraform,Terraform Provider Gcp,我正在使用Terraform v0.13.5.1,希望管理核心基础设施,如创建文件夹、文件夹上的IAM角色、组织策略、创建项目、创建服务帐户等 问题: 我们无法在组织级别或文件夹级别创建服务帐户,因此如何使用服务帐户管理此infra 谢谢正如您所说,在组织级别创建服务帐户是不可能的。所以解决方案是,第一次创建一个项目,并在该项目下创建一个服务帐户,从那时起Terraform就可以使用该帐户 您可以通过GCP控制台或gcloud命令行执行上述操作。或者,您甚至可以使用Terraform进行初始运行
谢谢正如您所说,在组织级别创建服务帐户是不可能的。所以解决方案是,第一次创建一个项目,并在该项目下创建一个服务帐户,从那时起Terraform就可以使用该帐户 您可以通过GCP控制台或gcloud命令行执行上述操作。或者,您甚至可以使用Terraform进行初始运行,并以普通用户身份而不是服务帐户身份进行身份验证(即,如果您有创建项目、服务帐户和设置组织/文件夹级别策略等权限,请使用您的用户运行Terraform) 即使服务帐户只是项目的一部分,也可以为其指定组织或文件夹级别的角色。为了拥有创建文件夹、组织策略、创建服务帐户等的权限,您可以通过引用向该服务帐户授予所需的权限 比如说
- 用于创建文件夹和管理IAM策略-
角色/resourcemanager.folderAdmin
- 对于组织策略-
角色/orgpolicy.policyAdmin
- 用于创建项目-
等角色/resourcemanager.projectCreator
GOOGLE_APPLICATION_CREDENTIALS
指向服务帐户JSON文件,或者在*.tf文件中指定GOOGLE providerCREDENTIALS