IAM 身份验证简介

Memorystore 提供 IAM 身份验证功能,该功能利用 Identity and Access Management (IAM) 帮助您更好地管理用户和服务账号的登录访问权限。基于 IAM 的身份验证与 Valkey AUTH 集成,让您无需依赖静态密码,即可无缝轮替凭据 (IAM 令牌)。

如需了解如何为 Memorystore 实例设置 IAM 身份验证,请参阅管理 IAM 身份验证

Valkey 的 IAM 身份验证

使用 IAM 身份验证时,不会直接向最终用户授予 Memorystore 实例访问权限。而是将权限分组为多个角色,然后将这些角色授予主账号。如需了解详情,请参阅 IAM 概览

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

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

  • 角色。对于 Memorystore IAM 身份验证,用户需要 memorystore.instances.connect 权限才能对实例进行身份验证。如需获取此权限,您可以将用户或服务账号绑定到预定义的 Memorystore DB Connection User (roles/memorystore.dbConnectionUser) 角色。如需详细了解 IAM 角色,请参阅角色

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

Valkey AUTH 命令

IAM 身份验证功能使用 Valkey AUTH 命令与 IAM 集成,允许客户提供 IAM 访问令牌,该令牌将由 Valkey 实例进行验证,然后才能访问数据。

和每个命令一样,AUTH 命令会以未加密的形式发送,除非启用了传输中加密

如需查看 AUTH 命令可能的示例,请参阅连接到使用 IAM 身份验证的 Valkey 实例

IAM 访问令牌时间范围

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

终止经过身份验证的连接

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

安全性与隐私权

IAM 身份验证可帮助您确保只有已获授权的 IAM 正文才能访问您的 Valkey 实例。除非启用了传输加密,否则系统不会提供 TLS 加密。因此,建议在使用 IAM 身份验证时开启传输中加密。

通过 Compute Engine 虚拟机建立连接

如果您使用 Compute Engine 虚拟机连接到使用 IAM 身份验证的实例,则必须为项目启用以下访问权限范围和 API: