在 Terraform for GCP 中允许帐户和角色时出现错误

6 google-cloud-platform terraform google-iam google-cloud-iam terraform-provider-gcp

我正在尝试将角色分配给 GCP 项目中 Terraform 文件中的用户,但出现以下错误:

\n
\n

错误:请求“为“项目 \\”vibrant-mantis-296207\\”“”创建 IAM 成员角色/compute.networkAdmin 用户:someone@google.com 返回错误:批量请求并重试单个请求“创建 IAM 成员角色/ “project \\”vibrant-mantis-296207\\“””的compute.networkAdmin 用户:someone@google.com 均失败。最终错误:为项目“vibrant-mantis-296207”应用 IAM 策略时出错:为项目“vibrant-mantis-296207”设置 IAM 策略时出错:googleapi:错误 403:策略更新访问被拒绝。,禁止

\n
\n

我使用了下面的代码:

\n
module "projects_iam_bindings"\xc2\xa0{\n source\xc2\xa0\xc2\xa0= "terraform-google-modules/iam/google//modules/projects_iam"\n version\xc2\xa0= "~>\xc2\xa06.4"\n\n projects\xc2\xa0= ["vibrant-mantis-296207"]\n\n bindings\xc2\xa0= {\n "roles/storage.admin"\xc2\xa0=\xc2\xa0[\n "user:someone@google.com",\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0]\n\n "roles/compute.networkAdmin"\xc2\xa0=\xc2\xa0[\n "user:someone@google.com",\n\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0]\n
Run Code Online (Sandbox Code Playgroud)\n

Joh*_*ley 22

Terraform 用于授权的用户/服务帐户没有 权限resourcemanager.projects.setIamPolicy

解决方案是编辑用户/服务帐户的 IAM 权限以包含作为该权限的角色。

具有权限的角色示例resourcemanager.projects.setIamPolicy

  • 角色/iam.securityAdmin
  • 角色/resourcemanager.projectIamAdmin
  • 角色/resourcemanager.folderAdmin
  • 角色/resourcemanager.organizationAdmin

授予、更改和撤销对资源的访问权限