在服务帐户中设置哪些权限来创建项目?

在服务帐户中设置哪些权限来创建项目?

当我使用我的凭证配置 google cloud cli 时,它能够创建一个新项目并在其中创建资源。

但是,出于管道中的自动化目的,无法使用我的凭据,因为它会在运行时打开网页并生成代码。

因此,创建了一个服务帐户,当我运行 terraform 模板(之前使用我的凭据运行)时,它给出了禁止错误。

Error 403: You don't have permission to get the role at organizations/6********405/roles/newProjectCreated

下面的角色描述命令给出了输出。

gcloud iam roles describe roles/resourcemanager.projectIamAdmin

description: Access and administer a project IAM policies.
etag: AA==
includedPermissions:
- resourcemanager.projects.get
- resourcemanager.projects.getIamPolicy
- resourcemanager.projects.setIamPolicy
name: roles/resourcemanager.projectIamAdmin
stage: GA
title: Project IAM Admin

请建议服务帐户缺少什么以及需要添加什么。

答案1

列出了在组织级别提供给服务帐户的权限这里. 检查您是否拥有所有列出的权限。

确保您的帐户/创建的 Terraform 服务帐户具有足够的配额来创建项目。

仔细检查 gcloud 是否已配置为以 org_admins 组中的用户身份运行,并确保以该用户身份运行 gcloud auth login 和 gcloud auth application-default login。还要检查您是否为该用户提供了 <roles/resourcemanager.projectCreator>,该用户有权创建新项目。

通常,服务帐户是在项目级别创建的,因此它们通常可以在项目级别管理资源。由于您想要管理组织中的资源,因此您应该首先在组织中添加服务帐户并分配管理项目所需的权限,调用者必须具有包含以下权限的角色。该角色授予包含项目的组织或文件夹。要添加以下内容使用 IAM 进行项目访问控制

相关内容