我可以直接将 GCP 的 IAM 策略应用于资源吗

Can I directly apply GCP's IAM policy to a Resource

我正在阅读有关 here. Now consider this 资源层次结构的 GCP IAM 政策。

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

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

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

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


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

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