如何允许用户成为 Google Cloud Platform (GCP) 中服务帐户的参与者?

tim*_*ode 5 google-cloud-platform

我有一个我希望能够“充当”的服务帐户(在 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
Run Code Online (Sandbox Code Playgroud)

我想授予另一个用户“充当”此服务帐户的能力,并且我已经应用了以下内容,但没有走得太远:

$ 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=
Run Code Online (Sandbox Code Playgroud)

这就是我所要做的一切,以便用户test.gcp1@myemail.com(登录后)可以访问服务帐户可用的资源吗?或者用户是否需要执行另一个步骤来“假定”服务帐户?

我已经为初学者浏览了许多页的文档“了解服务帐户”,但大多数似乎都在考虑使用服务帐户的应用程序,其中文档明确提到用户、组等可以使用服务帐户。

Bra*_*ugh 3

iam.serviceAccountActor角色使用户能够创建和管理使用服务帐户的计算引擎实例。

我可能会误解某些内容,但是如果您想授予某人直接充当服务帐户的权限,最直接的方法可能是为代表充当该服务帐户的特定用户的服务帐户创建一个私钥文件,然后给他们那个私钥文件。