使用 IAM 进行访问权限控制

本页面介绍了适用于 Memorystore for Redis 集群的 Identity and Access Management 角色,以及这些角色关联的权限。Memorystore for Redis Cluster 和 Memorystore for Redis 使用相同的 IAM 角色。本页面列出了这些角色针对 Memorystore for Redis 集群授予的权限。这些角色针对 Memorystore for Redis 授予的权限列在 Memorystore for Redis 访问权限控制页面上。虽然这两个页面上列出的权限是分开的,但这些角色会授予 Memorystore for Redis Cluster 和 Memorystore for Redis 的权限。

Memorystore for Redis Cluster 使用的权限命名结构与 Memorystore for Redis 不同:

  • Memorystore for Redis Cluster 实例使用 redis.clusters.[PERMISSION]
  • Memorystore for Redis 实例使用 redis.instances.[PERMISSION]

如需查看有关 Redis 管理员角色的更多信息,请参阅预定义角色

如需了解如何向项目中的用户授予该角色,请参阅授予或撤消单个角色

预定义角色

Memorystore for Redis Cluster 提供以下预定义角色。如果您更新 Identity and Access Management 主账号的角色,更改需要几分钟时间才能生效

角色 名称 Redis 权限 说明

roles/owner

所有者

redis.*

拥有对所有 Google Cloud 资源的完整访问权限和控制权;可以管理用户访问权限

roles/editor

编辑者 除以下权限以外的所有 redis 权限: *.getIamPolicy.setIamPolicy 拥有对所有 Google Cloud 和 Redis 资源的读写权限(拥有完全控制权,但不能修改权限)

roles/viewer

查看者

redis.*.get redis.*.list

拥有对所有 Google Cloud 资源(包括 Redis 资源)的只读权限

roles/redis.admin

Redis 管理员

redis.*

对所有 Memorystore for Redis Cluster 资源拥有完全控制权。

roles/redis.editor

Redis 编辑者 除以下权限以外的所有 redis 权限

redis.clusters.create redis.clusters.delete redis.clusters.connect

可以管理 Memorystore for Redis Cluster 实例,无法创建或删除实例。

roles/redis.viewer

Redis Viewer 除以下权限以外的所有 redis 权限

redis.clusters.create redis.clusters.delete redis.clusters.update redis.clusters.connect redis.operations.delete

拥有对所有 Memorystore for Redis Cluster 资源的只读权限。

roles/redis.dbConnectionUser

Redis 数据库连接用户

redis.clusters.connect

您可以将此角色分配给需要使用 IAM 身份验证进行身份验证的用户。

权限及其对应的角色

下表列出了 Memorystore for Redis 集群支持的每个权限以及包含权限的 Memorystore for Redis 角色:

权限 Redis 角色 基本角色

redis.clusters.list

Redis Admin
Redis Editor
Redis Viewer
查看者

redis.clusters.get

Redis Admin
Redis Editor
Redis Viewer
查看者

redis.clusters.create

Redis 管理员 所有者

redis.clusters.update

Redis Admin
Redis Editor
编辑者

redis.clusters.connect

Redis Admin
Redis Database Connection User
所有者

redis.clusters.rescheduleMaintenance

Redis 管理员 所有者

自定义角色

如果预定义角色不能满足您的独特业务需求,您可以使用指定的权限定义自己的自定义角色。为此,IAM 提供了自定义角色。在为 Memorystore for Redis Cluster 创建自定义角色时,请务必同时包含 resourcemanager.projects.getresourcemanager.projects.list。否则, Google Cloud 控制台将无法正常处理 Memorystore for Redis Cluster。如需了解详情,请参阅权限依赖项。 如需了解如何创建自定义角色,请参阅创建自定义角色

传输加密权限

下表显示了为 Memorystore for Redis 集群启用和管理传输加密所需的权限。

所需权限 创建使用传输加密的 Memorystore 实例 下载证书授权机构
redis.clusters.create X
redis.clusters.get X

网络连接政策创建角色

网络页面中所述,网络管理员需要本部分中介绍的权限,才能为 Memorystore for Redis 集群建立服务连接政策。

如需建立创建 Memorystore 集群所需的政策,网络管理员必须拥有 networkconnectivity.googleapis.com/consumerNetworkAdmin 角色,该角色授予以下权限:

  • networkconnectivity.serviceconnectionpolicies.create
  • networkconnectivity.serviceconnectionpolicies.list
  • networkconnectivity.serviceconnectionpolicies.get
  • networkconnectivity.serviceconnectionpolicies.delete
  • networkconnectivity.serviceconnectionpolicies.update