IAM 身份验证简介

Memorystore 提供与 Identity and Access Management (IAM) 集成的 IAM 身份验证功能,可帮助您更好地管理用户和服务帐号的登录访问权限。

身份验证是使用 IAM 来验证尝试访问集群的用户的身份的过程。Memorystore 使用 Redis AUTH 命令和 IAM 访问令牌进行验证。

有关为 Memorystore 集群设置 IAM 身份验证的说明,请参阅管理 IAM 身份验证

适用于 Redis 的 IAM 身份验证

使用 IAM 身份验证时,访问 Memorystore 集群的权限不会直接授予最终用户。相反,权限会按角色分组,然后向主帐号授予角色。如需了解详情,请参阅 IAM 概览

使用 IAM 进行身份验证的管理员可以使用 Memorystore IAM 身份验证来通过 IAM 政策集中管理对实例的访问权限控制。IAM 政策涉及以下实体:

  • 主帐号。在 Memorystore 中,您可以使用两种类型的主帐号:用户帐号和服务帐号(适用于应用)。IAM 身份验证尚不支持其他主帐号类型,例如 Google 群组、Google Workspace 网域或 Cloud Identity 网域。如需了解详情,请参阅与身份相关的概念

  • 角色。对于 Memorystore IAM 身份验证,用户需要 redis.clusters.connect 权限才能对集群进行身份验证。如需获取此权限,您可以将用户或服务帐号绑定到预定义的 Redis 集群数据库连接用户 (roles/rediscluster.dbConnectionUser) 角色。如需详细了解 IAM 角色,请参阅角色

  • 资源。主帐号访问的资源是 Memorystore 集群。默认情况下,IAM 政策绑定在项目级应用,以便主帐号获得项目中所有 Memorystore 实例的角色权限。不过,IAM 政策绑定可以仅限于特定集群。有关说明,请参阅管理 IAM 身份验证的权限

Redis AUTH 命令

IAM 身份验证功能使用 Redis AUTH 命令与 IAM 集成,从而允许客户在允许访问数据之前提供将由 Memorystore 集群验证的 IAM 访问令牌。

与每个命令一样,AUTH 命令在未加密的情况下发送,除非已启用传输加密

如需查看 AUTH 命令的可能效果示例,请参阅连接到使用 IAM 身份验证的 Redis 集群

IAM 访问令牌时间范围

默认情况下,在身份验证过程中检索的 IAM 访问令牌会在 1 小时后过期。或者,您也可以在生成访问令牌时定义访问令牌到期时间。在建立新的 Redis 连接时,需要通过 AUTH 命令显示有效的令牌。如果令牌已过期,您需要获得新的访问令牌以建立新的连接。

终止经过身份验证的连接

如果您要终止连接,可以使用 Redis CLIENT KILL 命令执行此操作。如需查找要终止的连接,请先运行 CLIENT LIST,它会按存在时间顺序返回客户端连接。然后,您可以运行 CLIENT KILL 来终止所需的连接。

安全性与隐私权

IAM 身份验证有助于确保您的 Redis 集群仅可供已获授权的 IAM 主帐号访问。除非启用了传输加密,否则系统不会提供 TLS 加密。因此,我们建议您在使用 IAM 身份验证时启用传输加密。