小编The*_*ege的帖子

GCP 服务帐号无法使用权​​限访问 IAM 操作

我正在使用 Terraform 来自动化我的许多 GCP 管理,因为点击很糟糕。我有一个“共享服务”项目,我试图用它来管理其他项目。我正在尝试在另一个项目中设置新环境,并且需要共享服务项目中的服务帐户来管理那里的资源。(我不想为每个项目手动创建一个新的服务帐户)

我正在尝试使用共享服务服务帐户在新项目中创建服务帐户。共享服务帐户具有组织级权限,但我一直在尝试添加项目级权限来解决该问题。

gcloud projects get-iam-policy newproject这是(删除不相关信息,重命名)的输出:

bindings:
- members:
  - serviceAccount:terraform@shared-services-####.iam.gserviceaccount.com
  role: roles/editor
- members:
  - serviceAccount:terraform@shared-services-####.iam.gserviceaccount.com
  role: roles/iam.serviceAccountAdmin
- members:
  - serviceAccount:terraform@shared-services-####.iam.gserviceaccount.com
  role: roles/iam.serviceAccountKeyAdmin
- members:
  - serviceAccount:terraform@shared-services-####.iam.gserviceaccount.com
  role: roles/resourcemanager.projectIamAdmin
etag: BwWGI28ti_w=
version: 1
Run Code Online (Sandbox Code Playgroud)

这是我尝试运行测试命令时得到的输出:

> gcloud iam service-accounts get-iam-policy new-service-account@newproject.iam.gserviceaccount.com --project=newproject --impersonate-service-account=terraform@shared-services-####.iam.gserviceaccount.com
WARNING: This command is using service account impersonation. All API calls will be executed as [terraform@shared-services-####.iam.gserviceaccount.com].
ERROR: (gcloud.iam.service-accounts.get-iam-policy) PERMISSION_DENIED: The caller does not have permission
Run Code Online (Sandbox Code Playgroud)

权限参考声明roles/iam.serviceAccountAdmin提供此权限。

这是 …

google-cloud-platform terraform

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

google-cloud-platform ×1

terraform ×1