ACL 最佳实践
应用场景
-
一组 Redis 集群并赋予多个应用使用,需要每个应用限定权限。
-
需要设置有监控,但为确保数据安全,不宜给全部权限的。
部署方案
-
配置 requirepass 作为管理员账户使用,拥有全部权限。
-
添加 write 用户,作为数据操作账户使用, 有读写权限,没有查看和管理服务权限。
-
添加 read 用户,作为读取数据账户使用,有只读权限和查看槽位权限,没有写权限、查看和管理服务状态权限。
-
添加 monitor 用户,作为监控服务状态使用,只有查看服务器状态权限,没有调整服务配置以及读写数据权限。
前提条件
-
已获取管理控制台登录账号和密码,且已获取集群操作权限。
-
已创建 Redis Standalone 集群,且集群状态为
活跃
。 -
已在服务器安装 redis-cli 客户端,且服务器与 Redis 之间网络通常。
约束与限制
-
Redis Standalone 6.2.5-v1.0.0 及其以上版本。
操作步骤
-
登录管理控制台。
-
选择产品与服务 > 数据库与缓存 > 键值数据库 Redis Standalone,进入集群管理页面。
-
选择目标集群,点击目标集群 ID,进入集群详情页面。
-
点击配置参数页签,进入集群配置参数管理页面。
-
点击修改属性,公共参数值进入可编辑状态。
-
设置 requirepass 密码。
-
启用 Redis 命令:勾选
CONFIG
,方便后续验证。 -
requirepass:修改独立密码,保证后续不能直接登录,避免通过 redis-cli 就可以获取所有管理和读写权限。
-
-
确认参数信息无误后,点击保存,返回参数列表页面。
-
在用户管理 ACL 页签,点击添加账号。
-
设置读写数据权限用户
规则:-@all +@read +@write ~*
-
设置只读权限用户
规则:-@all +@read ~*
-
设置只有查看服务状态用户
规则:-@all +config|get +client|list +client|info +time +role +ping +info
-
-
查看配置是否正确
-
连接数据库,详细操作请参见连接 Redis (redis-cli 方式)。
-
测试配置。
-
测试读写权限权限用户。
-
测试只读权限用户。
-
测试监控权限用户。
-