【问题标题】:How to add a role binding to a specific memorystore instance?如何将角色绑定添加到特定的 memorystore 实例?
【发布时间】:2020-12-04 15:54:15
【问题描述】:

我想添加一个角色 (Cloud Memorystore Redis Editor) 绑定到 memorystore 中的特定 redis 或 memcached 实例。

我通常使用实例信息页面上的绑定向导来执行此操作。它在 memorystore 实例页面上根本不显示。

除了在 IAM 页面上添加有条件的成员之外,还有其他方法吗?

此外,当我尝试使用 gcloud iam list-grantable-roles <resource_name> 列出实例的可授予角色时,它会为 memcached 实例返回空,并为 redis 实例提供 invalid argument name 错误。

谢谢


编辑:

我想将具有特定角色的成员添加到 redis 资源。 我要添加的角色是Cloud Memorystore Redis Editor

我添加了带有 Bigtable 实例示例的屏幕截图。我没有从 redis 实例的第二个屏幕截图中看到面板。没有打开该面板的选项。


选择实例会在“权限”选项卡下显示“添加成员”按钮


此面板允许我选择一个成员并赋予该资源可授予的角色

【问题讨论】:

  • 我不明白你想做什么。是否要授予特定 Compute Engine 访问 Memory Store 的权限?您想授予哪个角色?
  • 嗨@guillaumeblaquiere,我编辑了我的问题以添加更多带有屏幕截图的信息。谢谢。

标签: google-cloud-platform google-cloud-memorystore


【解决方案1】:

我认为 Redis 不可能基于每个实例授予权限。我从 Google 的 Memorystore for Redis (source) 的访问控制和权限页面得到了这句话。

注意:要调用方法,您还必须具有所需的范围 在方法的参考页中描述,除了 下面的权限。有关更多信息,请参阅授权请求 OAuth 2.0。所有权限都应用于项目。你不能 根据实例或其他较低级别应用不同的权限 对象。

如果您确实需要在访问管理方面隔离实例,我有一些建议:

  1. 如果 Redis 实例的用途完全不同,请将它们放在单独的项目中。
  2. 如果可行,您可以将不同服务帐户下的读取器和写入器权限分开。
  3. 不要授予roles/owner 权限,而是使用roles/redis.editorroles/redis.viewerroles/redis.admin

第三个要点可能看起来很明显,但我看到很多人(甚至在 Stackoverflow 上)建议有人应该为服务帐户设置所有者权限以使某些东西正常工作。确实它确实有效,但从安全角度来看,这是非常糟糕的做法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-11
    • 2021-06-17
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    相关资源
    最近更新 更多