Google cloud platform 在GCP IAM中给出基于对象的前置任务 用例:

Google cloud platform 在GCP IAM中给出基于对象的前置任务 用例:,google-cloud-platform,google-iam,Google Cloud Platform,Google Iam,我有一个GCP设置,包括: 多簇 多实例 多重 基本上,我希望向粒度比项目范围更细的用户授予权限(即用户A只能访问bucket B,但可以访问CloudSQL实例C和d) 可能的解决方案: 对于地面军事系统来说,这是一个很好的例子 然而,我找不到其他两个类似的。CloudSQL文档甚至似乎说它是(所有权限都应用于项目。您不能基于实例或其他较低级别的对象应用不同的权限。) 探索的变通办法: 我试着创造。我希望有某种方法可以过滤角色应用到的对象,方式类似于AWS IAM。 这在这里显然是不可能

我有一个GCP设置,包括:

  • 多簇
  • 多实例
  • 多重
基本上,我希望向粒度比项目范围更细的用户授予权限(即用户A只能访问bucket B,但可以访问CloudSQL实例C和d)

可能的解决方案: 对于地面军事系统来说,这是一个很好的例子

然而,我找不到其他两个类似的。CloudSQL文档甚至似乎说它是(
所有权限都应用于项目。您不能基于实例或其他较低级别的对象应用不同的权限。

探索的变通办法:
  • 我试着创造。我希望有某种方法可以过滤角色应用到的对象,方式类似于AWS IAM。 这在这里显然是不可能的
  • 对于GKE,我可以为每个用户提供
    Kubernetes Engine Cluster Viewer
    角色(基本上只允许列出集群及其基本信息,以及使用
    gcloud
    cli工具登录),然后使用该引擎授予非常细粒度的权限。这很好,但不允许用户使用非常方便的GoogleWeb界面,特别是对于k8s的初学者
  • 同样,对于CloudSQL,我可以赋予
    云SQL客户端
    角色,并通过postgres访问控制系统直接管理我的用户。这很好,但我的用户可以连接到其他实例(当然,他们仍然需要这些实例的帐户)。此外,不能仅在特定实例上允许恢复备份等操作

那么,我是否错过了一些明显的东西,或者有人找到了一些解决这些限制的方法吗?

对于GKE,似乎唯一的选择是使用RBAC通过在命名空间内或集群范围内的权限绑定为用户提供细粒度的权限


关于CloudSQL,目前不支持基于实例的权限,但您可以跟踪此功能请求中的任何更新。

对于GKE,似乎唯一的选择是使用RBAC通过在命名空间内或群集范围内绑定权限来为用户提供细粒度权限


关于CloudSQL,目前不支持基于实例的权限,但您可以跟踪此功能请求中的任何更新。

您是通过计算实例还是appengine连接到CloudSQL?使用appengine可以限制实例对特定服务角色的访问。我从计算引擎间接使用它(因为k8s节点是计算引擎实例),您是通过计算实例还是appengine连接到cloudsql?使用appengine可以限制实例对特定服务角色的访问。我从计算引擎间接使用它(因为k8s节点是计算引擎实例)