用户 ACL 最佳实践
更新时间:2025-08-15 03:41:38
场景描述
一组 Redis 集群赋予多个应用使用,需要为每个应用限定权限,需设置有监控,但为确保数据安全,不宜给全部权限的。
部署方案
-
添加
写用户,作为数据操作账户使用,有读写权限,没有查看和管理服务权限。 -
添加
读用户,作为读取数据账户使用,有只读权限和查看槽位权限,没有写权限、没有查看和管理服务状态权限。 -
添加
监控用户,作为监控服务状态使用,只有查看服务器状态权限,没有调整服务配置以及读写数据权限。
前提条件
-
已获取管理控制台登录账号和密码,且已获取集群操作权限。
-
已创建 Redis Standalone 集群,且集群状态为
活跃。 -
已在服务器安装 redis-cli 客户端,且服务器与 Redis 之间网络通常。
约束限制
适用于 Redis Standalone 6.2.5-v1.0.0 及其以上版本。
操作步骤
步骤一:设置密码
-
创建 Redis Standalone 实例时设置密码
创建 Redis Standalone 实例时,设置更多参数中的
requirepass,详细操作可参考创建 Redis Standalone 集群。 -
修改配置参数设置密码
Redis Standalone 集群创建完成后,可通过修改配置参数
requirepass来设置密码,详细操作可参考修改 Redis Standalone 参数。
步骤二:添加不同权限的用户
-
设置读写数据权限用户
按如下格式,填写权限规则,其中
+cluster\|nodes是查看槽位表命令,仅适用于部分客户端。-@all +@read +@write +cluster|nodes ~* -
设置只读权限用户
按如下格式,填写权限规则,其中
+cluster\|nodes是查看槽位表命令,仅适用于部分客户端。-@all +cluster|nodes +@read ~* -
设置监控用户
监控用户只有查看服务状态权限,规则填写如下。
-@all +config|get +cluster|nodes +cluster|info +client|list +client|info +time +role +ping +info