使用来自另一个 Google 项目的服务帐户创建 Google 计算实例

Create Google Compute Instance with a service account from another Google Project

我想知道是否可以将在 my-project-a 中创建的服务帐户附加到 Google Compute Engine 实例 我的项目-b?

以下命令:

gcloud beta compute instances create my-instance \

--service-account=my-service-account@my-project-a.iam.gserviceaccount.com \
--scopes=https://www.googleapis.com/auth/cloud-platform \
--project=my-project-b

给我以下错误:

(gcloud.beta.compute.instances.create) Could not fetch resource:
- The user does not have access to service account 'my-service-account@my-project-a.iam.gserviceaccount.com'.  User: 'me@mysite.com'.  Ask a project owner to grant you the iam.serviceAccountUser role on the service account.  me@mysite.com is my account and I'm the owner of the org.

不确定这是否相关,但查看 UI(在 my-project-b 中)没有从任何添加服务帐户的选项其他项目。我希望能够添加帐户 my-service-account@my-project-a.iam.gserviceaccount.com

您可以按照以下步骤验证服务帐户从 my-project-a 到 my-project-b 中的实例:

  1. 在 my-project-a 中创建一个具有计算引擎适当角色的服务帐户
  2. 下载 JSON 文件。
  3. 复制 my-project-a new service account email
  4. 在 my-project-b 上,add a team member 使用从上一步复制的电子邮件
  5. 通过 SSH 连接到您在 my-project-b 中的实例
  6. 将第 2 步中的 JSON 文件复制到您的 my-project-b 实例上
  7. 运行下面的命令到activate the service account:

    gcloud auth activate-service-account --key-file=YOUR_JSON_FILE

  8. 使用以下命令验证:

    gcloud 授权列表