问题描述
我正在尝试在 GCP 项目的 terraform 文件中为用户分配角色,但出现以下错误:
错误:请求“为“项目 \”vibrant-mantis-296207\“”创建 IAM 成员角色/compute.networkAdmin 用户:someone@google.com 返回错误:批量请求并重试单个请求“创建 IAM 成员角色/compute.networkAdmin user:someone@google.com for "project \"vibrant-mantis-296207\""" 都失败了。最终错误:为项目“vibrant-mantis-296207”应用 IAM 政策时出错:为项目“vibrant-mantis-296207”设置 IAM 政策时出错:googleapi:错误 403:政策更新访问被拒绝。,禁止
我使用了以下代码:
module "projects_iam_bindings" {
source = "terraform-google-modules/iam/google//modules/projects_iam"
version = "~> 6.4"
projects = ["vibrant-mantis-296207"]
bindings = {
"roles/storage.admin" = [
"user:someone@google.com", ]
"roles/compute.networkAdmin" = [
"user:someone@google.com", ]
解决方法
Terraform 用于授权的用户/服务帐户没有 resourcemanager.projects.setIamPolicy
权限。
解决方案是编辑用户/服务帐户的 IAM 权限,以包含作为该权限的角色。
具有 resourcemanager.projects.setIamPolicy
权限的示例角色:
- roles/iam.securityAdmin
- roles/resourcemanager.projectIamAdmin
- roles/resourcemanager.folderAdmin
- roles/resourcemanager.organizationAdmin