google-cloud-platform - 将 IAM 用户限制在 GCP 中的特定区域和实例类型/类
问题描述
我是 GCP 的新手,但我曾在 AWS 上工作过。在这里,我想实现将 IAM 用户限制在特定区域和 Compute Engine 类型
就像我们在 AWS 中一样,编写自定义角色以在 us-east 中限制它们,就像我希望它们锁定“us-central1”并将计算引擎类型锁定为最基本的一样。
我可以创建这样的自定义角色或条件来实现要求吗?我在这里需要的明确拒绝许可
更新:在组织级别限制位置这是有用的,如果有其他方式请帮助我?
解决方案
在这种情况下,您可以依赖Cloud IAM 条件。它们为 IAM 策略添加了额外的粒度级别。仅当条件表达式为 True 时才授予对资源的访问权限。您可以使用可用的变量、运算符、函数检查各种属性。
计算引擎
- 全球后台服务
- 区域后端服务
- 防火墙
- 图片
- 实例模板
- 实例
- 区域永久性磁盘
- 地区永久性磁盘
- 快照
在现有的资源名称格式中,VM 实例的名称包含zone-id
可能有助于基于位置的限制:
Compute Engine 实例
projects/project-id/zones/zone-id/instances/instance-id
接下来,您可以使用Resource 属性来创建评估访问请求中的资源的条件,例如:
resource.type == "compute.googleapis.com/Instance"
resource.name.startsWith("projects/project-id/zones/zone-id")
目前不支持使用实例类型的 IAM 策略。最近在问题跟踪器上创建了一个相关的功能请求。你可以关注这个: https ://issuetracker.google.com/158524244 。
推荐阅读
- google-apps-script - 谷歌电子表格搜索单元格的任何部分并显示
- search - Microsoft 搜索中以国家/地区为目标的书签不起作用
- javascript - 运行 JSON.parse() 时如何解决意外的 json 错误结束
- python - 操作系统错误:在我的 python 项目中安装 django 时 [WinError 123]
- python - 为什么我必须双击才能真正做某事?
- reactjs - 无法在使用 WebdriverIO 的反应应用程序中获取每个文件覆盖率
- php - Elementor 自定义小部件的图标不显示
- ssh - 缺少 cloud9 中的 .ssh 文件
- jquery - jquery获取父级索引
- omnet++ - 有什么方法可以跟踪 OMNET++ 中的执行情况