【问题标题】:Restricting IAM Users to a specific region and Instance type/Class in GCP将 IAM 用户限制在 GCP 中的特定区域和实例类型/类
【发布时间】:2020-10-30 01:47:38
【问题描述】:

我是 GCP 的新手,但我曾在 AWS 上工作过。在这里,我想实现将 IAM 用户限制在特定区域和 Compute Engine 类型

就像我们在 AWS 中一样,编写自定义角色以在 us-east 中限制它们,就像我希望它们锁定“us-central1”并将计算引擎类型锁定为最基本的一样。

我可以创建这样的自定义角色或条件来实现需求吗? 明确拒绝我需要的许可

更新:在组织级别限制位置这是有用的,如果有的话请帮助我吗?

【问题讨论】:

    标签: google-cloud-platform google-iam google-cloud-iam terraform-provider-gcp


    【解决方案1】:

    谷歌云平台支持resource locations restrictionsdocumentation 的这个相关部分详细解释了它们。请参阅文档的Setting the organization policy 部分以了解要遵循的确切过程。但请注意,在 Compute Engine 的特定案例中,您设置了以下limitations to the resource location constraints,与产品的不同方面相关,例如快照和图像、托管实例组、单租户节点等。

    【讨论】:

      【解决方案2】:

      在这种情况下,您可以依赖Cloud IAM Conditions。它们为 IAM 策略添加了额外的粒度级别。仅当条件表达式为 True 时才授予对资源的访问权限。您可以使用可用的变量、运算符、函数检查各种属性。

      Resources that accept conditional role bindings:

      计算引擎

      • 全球后端服务
      • 区域后端服务
      • 防火墙
      • 图片
      • 实例模板
      • 实例
      • 区域永久性磁盘
      • 地区永久性磁盘
      • 快照

      在现有的Resource name format VM 实例名称中包含zone-id,这可能有助于基于位置的限制:

      Compute Engine 实例projects/project-id/zones/zone-id/instances/instance-id

      接下来您可以使用Resource attributes 来创建评估访问请求中资源的条件,例如:

      resource.type == "compute.googleapis.com/Instance"
      resource.name.startsWith("projects/project-id/zones/zone-id")

      目前不支持使用实例类型的 IAM 策略。最近在问题跟踪器上创建了一个相关的功能请求。你可以关注这个: https://issuetracker.google.com/158524244.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-22
        • 1970-01-01
        • 1970-01-01
        • 2015-01-23
        • 2014-07-06
        • 2014-05-14
        相关资源
        最近更新 更多