本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Valkey 和 Redis 命令进行身份验证 OSS AUTH
注意
AUTH已被取代。基于角色的访问控制 () RBAC所有无服务器缓存都必须RBAC用于身份验证。
Valkey 和 Redis OSS 身份验证令牌或密码使 Valkey 和 Redis OSS 能够在允许客户端运行命令之前要求输入密码,从而提高数据安全性。仅AUTH适用于自行设计的集群。
主题
Valkey 和 ElastiCache Redis 的概述 AUTH OSS
当你将AUTH ElastiCache 与 Valkey 或 Redis OSS 集群搭配使用时,会有一些改进。
特别是,在使用以下令牌或密码时,请注意这些AUTH令牌或密码限制AUTH:
-
令牌(或密码)必须是 16-128 个可打印字符。
-
非字母数字字符仅限使用 !、&、#、$、^、<、>、-。
-
AUTH只能为通过 Valkey 或 Redis OSS 集群启用的 ElastiCache 传输中加密启用。
要设置增强令牌,我们建议您遵循严格的密码策略,例如,要求满足以下条件:
-
令牌或密码必须至少包含以下三种字符类型:
-
大写字符
-
小写字符
-
数字
-
非字母数字字符(
!
、&
、#
、$
、^
、<
、>
、-
)
-
-
令牌或密码不得包含字典单词或稍作修改的字典单词。
-
令牌或密码不得与最近使用的令牌相同或相似。
对使用 Valkey 或 Redis ElastiCache OSS 的集群应用身份验证
您可以要求用户在受令牌保护的 Valkey 或 Redis 服务器上输入令牌(密码)。OSS为此,请在创建复制组或集群时加入带有正确令牌的参数 --auth-token
(API:AuthToken
)。还要在复制组或集群的所有后续命令中包含该令牌。
以下 Amazon CLI 操作将创建一个启用传输中加密 (TLS) 和AUTH令牌的复制组
。用已存在的子网组替换子网组 This-is-a-sample-token
sng-test
。
关键参数
-
--engine
— 必须是valkey
或redis
。 -
--engine-version
— 如果引擎是 RedisOSS,则必须是 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 还必须启用传输中加密。
修改身份验证令牌支持两种策略:ROTATE和。SET该ROTATE策略在保留先前AUTH令牌的同时,向服务器添加一个额外的令牌。该SET策略更新服务器以仅支持单个AUTH令牌。请使用 --apply-immediately
参数进行这些修改调用以立即应用更改。
轮换代AUTH币
要使用新AUTH令牌更新 Valkey 或 Redis OSS 服务器,请ModifyReplicationGroup
API使用--auth-token
参数作为新AUTH令牌调用,--auth-token-update-strategy
使用值作为参数调用。ROTATEROTATE修改完成后,除了auth-token
参数中指定的AUTH令牌外,集群还将支持之前的令牌。如果在AUTH令牌轮换之前未在复制组上配置AUTH令牌,则集群除了支持无需身份验证即可连接外,还支持--auth-token
参数中指定的AUTH令牌。设置代AUTH币要使用更新策略更新所需的AUTH令牌,请参阅SET。
注意
如果您之前未配置AUTH令牌,则修改完成后,集群将不支持除 auth-token 参数中指定的AUTH令牌之外的任何令牌。
如果在已经支持两个AUTH令牌的服务器上执行此修改,则在此操作期间,最旧的AUTH令牌也将被删除。这允许服务器在给定时间最多支持两个最新的AUTH令牌。
此时,您可以通过更新客户端以使用最新的AUTH令牌来继续。客户端更新后,您可以使用AUTH代币轮换SET策略(将在下一节中进行说明)来开始独家使用新代币。
以下 Amazon 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令牌,请使用与最后一个AUTH令牌具有相同值的--auth-token
参数和具有该值的--auth-token-update-strategy
参数来调用该ModifyReplicationGroup
API操作。SET
该SET策略只能与之前使用ROTATE策略的 2 个AUTH代币或 1 个可选代AUTH币的集群一起使用。修改完成后,服务器仅支持 auth-AUTH token 参数中指定的令牌。
以下 Amazon 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
APIModifyReplicationGroup
使用--auth-token
参数作为新标记,--auth-token-update-strategy
使用值调用ROTATE。
ROTATE修改完成后,集群除了支持无需身份验证即可连接外,还支持--auth-token
参数中指定的AUTH令牌。更新所有客户端应用程序以使用令牌向 Valkey 或 Redis OSS 进行身份验证后,使用SET策略将AUTH令AUTH牌标记为必填项。只有启用传输中加密 (TLS) 的 Valkey 和 Redis OSS 服务器才支持启用身份验证。
从迁移RBAC到 AUTH
如果您要按中所述使用 Valkey 或 Redis OSS 基于角色的访问控制 (RBAC) 对用户进行身份验证基于角色的访问控制 () RBAC,并且想要迁移到AUTH,请使用以下步骤。您可以使用控制台进行迁移,也可以使用控制台进行迁移CLI。
AUTH使用控制台RBAC从迁移到
登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/
。 -
从右上角的列表中,选择要修改的集群所在的 Amazon 区域。
-
在导航窗格中,选择在您要修改的集群上运行的引擎。
此时会显示选定引擎的集群列表。
-
在集群列表中,对于要修改的集群,选择其名称。
-
对于 Actions(操作),选择 Modify(修改)。
此时将显示修改窗口。
-
对于访问控制,请选择 Valkey AUTH 默认用户访问权限或 Redis OSS AUTH 默认用户访问权限。
-
在 Val AUTH key 代币或 Redis OSS AUTH 令牌下,设置一个新令牌。
-
选择预览更改,然后在下一个屏幕上选择修改。
要从迁移RBAC到,请AUTH使用 Amazon CLI
使用以下命令之一为您的 Valkey 或 Redis OSS 复制组配置新的可选AUTH令牌。请注意,在身份验证令牌被标记为必填之前,可选的身份验证令牌将允许对复制组进行未经身份验证的访问,使用下一步SET
中的更新策略。
对于 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
执行上述命令后,您可以使用新配置的可选AUTH令牌更新您的 Valkey 或 Redis OSS 应用程序,以向 ElastiCache 复制组进行身份验证。要完成身份验证令牌的轮换,请在下面的后续命令SET
中使用更新策略。这将根据需要标记到可选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 缓存上禁用访问控制。