我有两个vm实例。我想授予两台计算机的不同用户作为计算管理员的权限。表示两个实例的两个不同所有者。
答案 0 :(得分:0)
在Google Cloud Next 2018上,Google宣布Compute Engine resource-level IAM。
在同一个项目中,您现在可以直接将 不同的角色授予Compute VM,以授予不同的用户。如果您的用例有2个用户(user1@mydomain.com
和user2@mydomain.com
),每个用户都是一个特定实例的管理员(相对于instance1
和instance2
),则可以定义以下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}}角色)。