本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
注意
AUTH 已被 基于角色的访问控制(RBAC) 取代。所有无服务器缓存都必须使用 RBAC 进行身份验证。
通过使用 Valkey 和 Redis OSS 身份验证令牌(或密码),Valkey 和 Redis OSS 可以在允许客户端运行命令之前要求提供密码,从而提高数据安全性。AUTH 仅适用于自行设计的集群。
主题
Valkey 和 Redis ElastiCache OSS 的身份验证概述
当你在 for AUTH Valkey 和 Redis OSS 集群中使用时,会有一些改进。 ElastiCache
使用 AUTH 时,尤其要注意以下 AUTH 令牌或密码限制:
-
令牌(或密码)必须是 16-128 个可打印字符。
-
非字母数字字符仅限使用 !、&、#、$、^、<、>、-。
-
只能为启用传输中加密的 Valkey 或 Redis OSS 集群启用身份验证。
要设置增强令牌,我们建议您遵循严格的密码策略,例如,要求满足以下条件:
-
令牌(或密码)必须包含至少以下任意三种字符类型:
-
大写字符
-
小写字符
-
数字
-
非字母数字字符(
!
、&
、#
、$
、^
、<
、>
、-
)
-
-
令牌(或密码)不能包含词典单词或稍加修改的词典单词。
-
令牌(或密码)不能与最近使用过的令牌相同或相似。
对适用 ElastiCache 于 Valkey 和 Redis 的 OSS 集群进行身份验证
您可以要求用户在受令牌保护的 Valkey 或 Redis OSS 服务器上输入令牌(密码)。为此,在创建复制组或集群时,请在 --auth-token
参数(API:AuthToken
)中包含正确的令牌。还要在复制组或集群的所有后续命令中包含该令牌。
以下 AWS CLI 操作创建启用了传输中加密 (TLS) 和AUTH令牌的复制组
。用已存在的子网组替换子网组 This-is-a-sample-token
sng-test
。
关键参数
-
--engine
– 必须为valkey
或redis
。 -
--engine-version
– 如果引擎为 Redis OSS,则必须为 3.2.6、4.0.10 或更高版本。 -
--transit-encryption-enabled
– 对于身份验证和 HIPAA 资格是必需的。 -
--auth-token
– 对于 HIPAA 资格是必需的。该值必须是该受令牌保护的 Valkey 或 Redis OSS 服务器的正确令牌。 -
--cache-subnet-group
– 对于 HIPAA 资格是必需的。
对于 Linux、macOS 或 Unix:
aws elasticache create-replication-group \ --replication-group-id
authtestgroup
\ --replication-group-descriptionauthtest
\ --engineredis
\ --cache-node-typecache.m4.large
\ --num-node-groups1
\ --replicas-per-node-group2
\ --transit-encryption-enabled \ --auth-tokenThis-is-a-sample-token
\ --cache-subnet-groupsng-test
对于 Windows:
aws elasticache create-replication-group ^ --replication-group-id
authtestgroup
^ --replication-group-descriptionauthtest
^ --engineredis
^ --cache-node-typecache.m4.large
^ --num-node-groups1
^ --replicas-per-node-group2
^ --transit-encryption-enabled ^ --auth-tokenThis-is-a-sample-token
^ --cache-subnet-groupsng-test
修改现有集群上的 AUTH 令牌
为了简化更新身份验证的过程,您可以修改集群上使用的 AUTH 令牌。如果引擎版本为 Valkey 7.2 或更高版本或 Redis 5.0.6 或更高版本,则可以进行此修改。 ElastiCache 还必须启用传输中加密。
修改 AUTH 令牌支持两种策略:ROTATE 和 SET。ROTATE 策略会向服务器添加一个额外的 AUTH 令牌,同时保留之前的令牌。SET 策略会更新服务器,使其仅支持一个 AUTH 令牌。请使用 --apply-immediately
参数进行这些修改调用以立即应用更改。
轮换 AUTH 令牌
要使用新的 AUTH 令牌更新 Valkey 或 Redis OSS 服务器,请调用 ModifyReplicationGroup
API,并将 --auth-token
参数设置为新的 AUTH 令牌,将 --auth-token-update-strategy
值设置为 ROTATE。ROTATE 修改完成后,除 auth-token
参数中指定的 AUTH 令牌外,集群还将支持之前的 AUTH 令牌。如果在 AUTH 令牌轮换之前未在复制组上配置 AUTH 令牌,则集群除了支持未进行身份验证的连接以外,还支持 --auth-token
参数中指定的 AUTH 令牌。请参阅设置 AUTH 令牌,使用更新策略 SET 更新所需的 AUTH 令牌。
注意
如果您之前未配置 AUTH 令牌,则修改完成后,除在 auth-token 参数中指定的一个令牌外,集群将不支持任何 AUTH 令牌。
如果在已支持两个 AUTH 令牌的服务器上执行此修改,则在此操作过程中还将删除最早的 AUTH 令牌。这允许服务器在给定时间内支持最多两个最新的 AUTH 令牌。
此时,您可以更新客户端以使用最新的 AUTH 令牌。在更新客户端后,您可以使用 SET 策略轮换 AUTH 令牌(在下一节中说明)以开始使用唯一的新令牌。
以下 AWS CLI 操作修改复制组以轮换令AUTH牌
。This-is-the-rotated-token
对于 Linux、macOS 或 Unix:
aws elasticache modify-replication-group \ --replication-group-id
authtestgroup
\ --auth-tokenThis-is-the-rotated-token
\ --auth-token-update-strategy ROTATE \ --apply-immediately
对于 Windows:
aws elasticache modify-replication-group ^ --replication-group-id
authtestgroup
^ --auth-tokenThis-is-the-rotated-token
^ --auth-token-update-strategy ROTATE ^ --apply-immediately
设置 AUTH 令牌
要更新 Valkey 或 Redis OSS 服务器以支持单个所需 AUTH 令牌,请调用 ModifyReplicationGroup
API 操作,并使用与上一个 AUTH 令牌值相同的 --auth-token
参数和 SET
值的 --auth-token-update-strategy
参数。SET 策略只能用于拥有 2 个 AUTH 令牌或之前使用 ROTATE 策略时拥有 1 个可选 AUTH 令牌的集群。在修改完成后,服务器仅支持 auth-token 参数中指定的 AUTH 令牌。
以下 AWS CLI 操作修改复制组以将 AUTH 令牌设置为。This-is-the-set-token
对于 Linux、macOS 或 Unix:
aws elasticache modify-replication-group \ --replication-group-id
authtestgroup
\ --auth-tokenThis-is-the-set-token
\ --auth-token-update-strategy SET \ --apply-immediately
对于 Windows:
aws elasticache modify-replication-group ^ --replication-group-id
authtestgroup
^ --auth-tokenThis-is-the-set-token
^ --auth-token-update-strategy SET ^ --apply-immediately
在现有集群上启用身份验证
要在现有 Valkey 或 Redis OSS 服务器上启用身份验证,请调用 ModifyReplicationGroup
API 操作。调用 ModifyReplicationGroup
,将 --auth-token
参数作为新令牌,并将 --auth-token-update-strategy
参数值设置为 ROTATE。
在 ROTATE 修改完成后,集群除了支持未进行身份验证的连接外,还支持 --auth-token
参数中指定的 AUTH 令牌。在所有客户端应用程序都更新为使用 AUTH 令牌针对 Valkey 或 Redis OSS 进行身份验证后,请使用 SET 策略根据需要标记 AUTH 令牌。只有启用了传输中加密(TLS)的 Valkey 和 Redis OSS 服务器才支持启用身份验证。
从 RBAC 迁移到 AUTH
如果您使用 Valkey 或 Redis OSS 基于角色的访问控制(RBAC)对用户进行身份验证(如基于角色的访问控制(RBAC)中所述),并希望迁移到 AUTH,请使用以下流程。您可以使用控制台或 CLI 进行迁移。
要使用控制台从 RBAC 迁移到 AUTH
登录 AWS Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/
。 -
从右上角的列表中,选择要修改的集群所在的 AWS 区域。
-
在导航窗格中,选择在您要修改的集群上运行的引擎。
此时会显示选定引擎的集群列表。
-
在集群列表中,对于要修改的集群,选择其名称。
-
对于 Actions(操作),选择 Modify(修改)。
此时将显示修改窗口。
-
对于访问控制,选择 Valkey AUTH 默认用户访问或 Redis OSS AUTH 默认用户访问。
-
在 Valkey AUTH 令牌或 Redis OSS AUTH 令牌下,设置新令牌。
-
选择预览更改,然后在下一个屏幕上选择修改。
要从 RBAC 迁移到 AUTH,请使用 AWS CLI
使用以下任一命令为 Valkey 或 Redis OSS 复制组配置新的可选 AUTH 令牌。请注意,在使用下一步中的更新策略 SET
根据需要标记 Auth 令牌之前,可选的 Auth 令牌将允许对复制组进行未经身份验证的访问。
对于 Linux、macOS 或 Unix:
aws elasticache modify-replication-group \ --replication-group-id test \ --remove-user-groups \ --auth-token This-is-a-sample-token \ --auth-token-update-strategy ROTATE \ --apply-immediately
对于 Windows:
aws elasticache modify-replication-group ^ --replication-group-id test ^ --remove-user-groups ^ --auth-token This-is-a-sample-token ^ --auth-token-update-strategy ROTATE ^ --apply-immediately
执行上述命令后,您可以使用新配置的可选身份验证令牌更新您的 Valkey 或 Redis OSS 应用程序,以向 ElastiCache 复制组进行身份验证。要完成 Auth 令牌轮换,请在下面的后续命令中使用更新策略 SET
。这将根据需要标记可选 AUTH 令牌。Auth 令牌更新完成后,复制组状态将显示为 ACTIVE
,并且该复制组的所有连接都需要进行身份验证。
对于 Linux、macOS 或 Unix:
aws elasticache modify-replication-group \ --replication-group-id test \ --auth-token This-is-a-sample-token \ --auth-token-update-strategy SET \ --apply-immediately
对于 Windows:
aws elasticache modify-replication-group ^ --replication-group-id test ^ --remove-user-groups ^ --auth-token This-is-a-sample-token ^ --auth-token-update-strategy SET ^ --apply-immediately
有关更多信息,请参阅 使用 Valkey 和 Redis OSS AUTH 命令进行身份验证。
注意
如果您需要在 ElastiCache 集群上禁用访问控制,请参阅禁用 ElastiCache Valkey 或 Redis OSS 缓存的访问控制。