我试图创建一个服务帐户与'roles/container.admin',我得到一个错误,说角色不支持此资源。
$ gcloud iam service-accounts add-iam-policy-binding sa-ci-vm@PROJECT-ID.iam.gserviceaccount.com --member='serviceAccount:sa-ci-vm@PROJECT-ID.iam.gserviceaccount.com' --role='roles/container.admin'
ERROR: (gcloud.iam.service-accounts.add-iam-policy-binding) INVALID_ARGUMENT: Role roles/container.admin is not supported for this resource.
如果我从CONSOLE UI创建一个服务帐户,我可以毫无问题地添加此角色。
3条答案
按热度按时间ewm0tg9j1#
您必须使用
gcloud projects
在项目级别为服务帐户添加角色,如下所示。这对我很有效:
qlzsbp2j2#
我得到了同样的错误。你必须给予出角色的绝对路径。
cloud iam service-accounts add-iam-policy-bindingSERVICEACCOUNT-member=SERVICEACCOUNT_EMAIL-role=projects/PROJECTNAME/roles/ROLENAME
ut6juiuv3#
正如Vinayak指出的,你需要引用角色的ID,其中包括
projects/$project_id
。我在Terraform中遇到了这个问题,所以如果你在Terraform中创建角色和绑定,请确保引用自定义角色,如下所示: