首页 > 解决方案 > 我可以直接将 GCP 的 IAM 政策应用于资源吗

问题描述

我在这里阅读 GCP 的 IAM 政策。现在考虑这个资源层次结构。

假设我想将“instance_a”的启动实例权限 ( compute.instances.start) 授予 abc@gcp.com,并将“instance_b”的启动实例权限授予 xyz@gcp.com。显然,我无法在“example-test”文件夹中创建 IAM 策略(基于文章中提到的 IAM 策略对象示例),因为它不会提供我正在寻找的粒度。

是否有可能在 GCP 中实现这种粒度级别?

标签: google-cloud-platformgoogle-kubernetes-enginegoogle-iam

解决方案


权限从顶层(组织)继承到较低层(资源,在您的示例中为 VM)。因此,如果您在项目级别(示例测试)授予权限,则该权限将在属于该项目的所有资源(instance_A 和 instance_B)中继承。

因此,您无法(轻松)实现您想要的。


但实际上,您可以在 IAM 角色上添加条件。您可以在资源名称或资源标签上添加条件,例如允许或禁止用户或其他用户访问。

但是明智地使用条件,如果您将多个级别(在层次结构中)的权限定义和不同的条件混合在一起,调试 IAM 权限问题可能会成为一场噩梦。尽量保持事物的同质性和简单性。


推荐阅读