配置Redis ACL访问账号
如需为Redis缓存实例创建多个账号,可以通过DCS的账号管理(ACL)功能,创建只读或读写账号,实现不同用户对缓存实例的只读或读写访问控制。
约束与限制
- 目前仅Redis 4.0和Redis 5.0版本的Redis实例,默认支持账号管理功能。
- Redis 6.0版本的实例暂时限制使用该功能,如有需要请先提交工单联系客服开启ACL账号管理功能。如果Redis 6.0实例的小版本低于6.2.10.4,还需要升级小版本,查看及升级实例小版本请参考升级DCS实例小版本/代理版本。
- 每个实例最多支持创建18个账号。
- 账号管理目前仅支持读写和只读权限,不支持其他细粒度权限。
配置Redis ACL访问账号
- 登录分布式缓存服务管理控制台。
- 在管理控制台左上角单击
,选择实例所在的区域。
- 单击左侧菜单栏的“缓存管理”,进入实例信息页面。
- 单击DCS缓存实例名称,进入该实例的基本信息页面。
- 选择“账号管理”进入账号管理页面。
“账号名称”为“default”的账号为实例的“默认账号”,默认账号的权限为读写权限,该账号的密码即缓存实例的访问密码。
- 单击“创建账号”,可以创建普通账号。
如果Redis实例开启了免密访问,创建的普通账号不生效,仅支持默认账号。如需使用普通账号请先关闭默认账号的免密访问:单击默认账号对应“操作”列的“重置密码”即可为实例设置密码。
- 在弹出的创建账号窗口中,设置账号名称及账号密码。
- 选择账号权限为“只读”或“读写”、设置账号密码及备注。
- (可选)如果是Proxy集群或读写分离实例,支持选择“只读路由策略”,其他实例类型不支持。
如果需要指定账号的读请求转发到主节点、备节点或主备节点,请选择“主节点”“备节点”或“主备节点”,如果不需要指定账号读请求的执行节点,请选择“关闭”。
图1 选择只读路由策略- 只有Proxy集群或读写分离实例的代理版本(Proxy版本)大于等于5.1.14.12时,支持配置“只读路由策略”。如需升级代理版本请参见升级DCS实例小版本/代理版本。
- “只读路由策略”目前限制开放,如果Proxy集群或读写分离实例满足如上代理版本条件,控制台无配置“只读路由策略”选项,您可以提交工单联系客服开启该功能。
- Proxy集群实例如果需要配置只读路由策略,参数backend-master-only的值需要配置为no(开启Proxy集群实例读写分离),如果账号创建后将backend-master-only参数的值改回为yes,配置的只读路由策略将失效。
- ACL账号的只读路由策略优先级低于support-dispatch-to-replica-list参数对于读请求的转发配置策略,详情请参见读请求处理优先级。
- 单击“确定”,完成账号创建。
图2 账号管理
使用ACL账号连接实例说明
当使用创建的ACL普通账号连接实例时,需要配置实例密码为{username:password}。
- 以使用redis-cli连接Redis实例为例,当使用默认账号连接实例时命令如下:
./redis-cli -h {dcs_instance_address} -p 6379 -a {password}
- 如果使用实例创建的ACL普通账号连接,实例密码需要配置为“账号名称:账号密码”:
./redis-cli -h {dcs_instance_address} -p 6379 -a {username:password}
更多操作
普通账号创建后,支持以下操作:
操作 |
操作说明 |
---|---|
修改密码 |
单击普通账号对应“操作”列的“修改密码”,修改该账号的访问密码。 |
重置密码 |
如果忘记原账号密码,单击普通账号或默认账号对应“操作”列的“重置密码”,可以重置该账号的访问密码。 |
修改权限 |
单击普通账号对应“操作”列的“更多 > 修改权限”,可修改账号为“只读”或“读写”权限。 |
修改备注 |
单击普通账号对应“操作”列的“更多 > 修改备注”,可修改账号的“备注”。 |
删除账号 |
单击普通账号对应“操作”列的“更多 > 删除”,删除该账号。 默认账号无法删除。 |
批量删除账号 |
勾选需要删除的普通账号,单击上方的“删除”,删除所选账号。 默认账号无法删除。 |
相关文档
DCS支持通过API创建ACL账号,相关操作文档请参见账号管理。