Google Cloud VM实例共享

时间:2019-08-13 17:23:42

标签: google-cloud-platform

我有两个vm实例。我想授予两台计算机的不同用户作为计算管理员的权限。表示两个实例的两个不同所有者。

1 个答案:

答案 0 :(得分:0)

在Google Cloud Next 2018上,Google宣布Compute Engine resource-level IAM

在同一个项目中,您现在可以直接将 不同的角色授予Compute VM,以授予不同的用户。如果您的用例有2个用户(user1@mydomain.comuser2@mydomain.com),每个用户都是一个特定实例的管理员(相对于instance1instance2),则可以定义以下YAML文件:

# instance1_policy.yaml

bindings:
- members:
  - user:user1@mydomain.com
  role: roles/compute.admin

# instance2_policy.yaml

bindings:
- members:
  - user:user2@mydomain.com
  role: roles/compute.admin

并应用策略(如果需要,将以下文件与现有VM IAM策略合并,请使用gcloud compute instances get-iam-policy进行检查):

gcloud compute instances set-iam-policy --zone=<INSTANCE1_ZONE> instance1 instance1_policy.yaml
gcloud compute instances set-iam-policy --zone=<INSTANCE2_ZONE> instance2 instance2_policy.yaml

还请注意,应用于您的项目的IAM策略可能会干扰这些策略。例如,如果user1@mydomain.com在项目中具有roles/compute.admin的角色,那么他也可以访问instance2,“忽略”您在instance2 VM上的策略(他继承了{ {1}}角色)。