0

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

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

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

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

谢谢


编辑:

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

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


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

选择实例显示


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

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

4

1 回答 1

2

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

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

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

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

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

于 2020-12-07T10:09:38.223 回答