我在项目project-b
中有一个计算实例,在一个单独的项目project-a
中有一个实例。 project-b
中的实例需要使用project-a
服务帐户访问project-a
。
答案 0 :(得分:0)
在project-a
中:
project-a-service-account@project-a.iam.gserviceaccount.com
。key.json
。在project-b
中:
key.json
上载到实例。如果您使用的是Google Cloud Console SSH窗口,则可以使用右上角齿轮图标菜单中的上传进行此操作。 激活服务帐户:
gcloud auth activate-service-account project-a-service-account@project-a.iam.gserviceaccount.com --key-file key.json
重新初始化:
gcloud init
gcloud init
命令将用于重新初始化当前配置,或创建一个新配置。创建一个新的可能会很好,但这取决于您。project-a-service-account@project-a.iam.gserviceaccount.com
现在,project-b
中的该实例可以充当project-a
中的服务帐户。例如,如果服务帐户具有compute.instances.create
权限,则可以在project-a
中创建一个实例:
gcloud compute instances create new-instance --project project-a
project-a
的管理员可以通过撤消服务帐户project-a-service-account@project-a.iam.gserviceaccount.com
的密钥来撤消此访问权限。
Google有一个super fast-talking demo showing this。