使用Terraform创建GCP自定义IAM角色报错:标准角色无效
解决Terraform创建GCP自定义IAM角色的权限配置错误
你这明显是把角色和权限搞混啦!google_project_iam_custom_role的permissions字段要求填的是单个IAM权限字符串,而不是像roles/storage.objectCreator这种预定义角色的ID——GCP自定义角色是靠组合具体权限来创建的,直接塞现成角色肯定会报错。
举个例子,你想用的roles/storage.objectCreator角色对应的核心权限是storage.objects.create,roles/cloudkms.cryptoKeyEncrypter对应的是cloudkms.cryptoKeys.encrypt。把你的配置改成下面这样就没问题了:
resource "google_project_iam_custom_role" "my-instance-role" { role_id = "myInstanceRole" title = "My Instance Role" description = "my custom iam role" permissions = [ "storage.objects.create", "cloudkms.cryptoKeys.encrypt" ] }
如果之后需要从某个预定义角色里提取所有权限,可以用gcloud命令快速查询:
gcloud iam roles describe roles/storage.objectCreator
执行后会列出该角色包含的所有具体权限,你可以按需挑选添加到自定义角色中。
内容的提问来源于stack exchange,提问作者ducksauz
相关产品推荐
相关产品推荐

