我有一个服务帐户,我希望能够“充当”(在AWS中称为“假设”)。我的服务帐户名为“bucket-viewer-service-account”,如下所示:
$ gcloud projects get-iam-policy myproject
bindings:
- members:
- serviceAccount:123456789012-compute@developer.gserviceaccount.com
role: roles/editor
- members:
- user:me@myemail.com
role: roles/owner
- members:
- serviceAccount:bucket-viewer-service-account@myproject.iam.gserviceaccount.com
role: roles/storage.objectViewer
etag: BwVOE_CkjAo=
version: 1
我想授予其他用户“充当”此服务帐户的权限,我已应用以下内容,但未达到很远:
$ gcloud iam service-accounts add-iam-policy-binding \
bucket-viewer-service-account@myproject.iam.gserviceaccount.com \
--member='user:test.gcp1@myemail.com' --role='roles/iam.serviceAccountActor'
bindings:
- members:
- user:user:test.gcp1@myemail.com
role: roles/iam.serviceAccountActor
etag: BwVOFAhEVqY=
我是否必须这样做,以便用户test.gcp1@myemail.com
(一旦他们登录)可以访问服务帐户可用的资源?或者用户是否还需要“假设”服务帐户?
我已经查看了许多文档页面Understanding Service Accounts作为初学者,但大多数人似乎在考虑使用服务帐户的应用程序,其中文档明确提到用户,组等可以使用服务帐户。
答案 0 :(得分:2)
iam.serviceAccountActor role使用户能够创建和管理使用服务帐户的计算引擎实例。
我可能会误解某些内容,但是如果您想授权某人直接充当服务帐户,则最直接的方式可能是create a private key文件中的服务帐户代表该特定用户充当该服务帐户,然后为他们提供该私钥文件。
答案 1 :(得分:1)
为用户提供服务帐户角色不会像您建议的那样传递访问权限。相反,它允许用户“使用”服务帐户以启动具有该服务帐户作为身份的长期运行的作业(例如,创建计算引擎实例)。
答案 2 :(得分:0)
iam.serviceAccountActor 角色已弃用,您需要使用 Service Account User 角色