如何在同一个谷歌云项目中拆分两个资源的访问权限

问题描述

我有两个用户[email protected][email protected]我有一个谷歌云项目 X。在 X 中,我有两个 VM:vm1vm2。我如何为用户授予对 startstop 上的 vm1vm2 操作的访问权限:[email protected][email protected],但可以访问 {{ 1}} 应该有 vm1,而对 [email protected] 的访问应该有 vm2?如果可能,请展示一个场景。

解决方法

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