【问题标题】:How to split access for two resources inside the same google cloud's project如何在同一个谷歌云项目中拆分两个资源的访问权限
【发布时间】:2021-03-10 17:38:08
【问题描述】:
我有两个用户:user1@gmail.com 和user1@gmail.com,我有一个谷歌云项目X。在X 内部,我有两个VM:vm1 和vm2。如何授予对vm1 和vm2 用户user1@gmail.com 和user1@gmail.com 的start 和stop 操作的访问权限:user1@gmail.com,但对vm1 的访问权限应该具有user1@gmail.com 和@987654335 的访问权限@应该有user1@gmail.com?如果可能,请展示一个场景。
【问题讨论】:
标签:
google-cloud-platform
google-compute-engine
google-iam
google-cloud-iam
【解决方案1】:
Compute Engine 的父资源是项目资源。通常,您在项目级别为身份授予 IAM 角色。
Compute Engine 支持资源级访问控制。这意味着您可以授予对一个 Compute Engine 虚拟机资源的访问权限,而不是一个项目中的所有 Compute Engine 虚拟机。典型的 Compute Engine 虚拟机由多个资源组成,例如实例、磁盘、快照、映像等。每个项目都是需要权限的资源。
要授予用户“有效”使用 Compute Engine 实例的能力,请分配角色 roles/compute.instanceAdmin.v1。此角色允许用户管理实例,但不能创建新实例。
gcloud compute instances add-iam-policy-binding <RESOURCE-NAME> \
--member=user:<EMAIL-ADDRESS> \
--role=roles/compute.instanceAdmin.v1"
Compute Instance Admin (v1) role
gcloud compute instances add-iam-policy-binding