
# 配置Redis ACL访问账号
如需为Redis缓存实例创建多个账号，可以通过DCS的账号管理（ACL）功能，创建只读或读写账号，实现不同用户对缓存实例的只读或读写访问控制。
#### 操作视频
本视频演示如何为Redis实例创建访问账号的操作。因产品功能演进，操作界面可能存在差异，相关视频仅供参考，具体以实际环境为准。
<video controls="controls" preload="none" id="object13425113121810" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/support/dcs-video/ConfiguringUsers.mp4" title="创建Redis访问账号" poster="https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000002378665758.jpg" height="335.0000" width="600.0000"></video>
#### 约束与限制
- 目前Redis 4.0/5.0/6.0/7.0版本的Redis实例，默认支持ACL账号管理功能。Redis 6.0版本的Redis实例暂时限制使用该功能，如有需要请先[提交工单](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)联系客服开启ACL账号管理功能。如果Redis 6.0实例的小版本低于6.2.10.4，Redis 7.0实例的小版本低于7.2.11.3，还需要升级小版本，查看及升级实例小版本请参考[升级DCS实例小版本/代理版本](https://support.huaweicloud.com/usermanual-dcs/dcs_03_0016.html)。
- 每个实例最多支持创建18个账号。
- 账号管理目前仅支持读写和只读权限，不支持其他细粒度权限。
 
#### 配置Redis ACL访问账号
1. 登录[分布式缓存服务管理控制台](https://console.huaweicloud.com/dcs)。
2. 在管理控制台左上角单击![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000001549115173.png)，选择实例所在的区域。
3. 单击左侧菜单栏的"缓存管理"，进入实例信息页面。
4. 单击DCS缓存实例名称，进入该实例的概览页面。
5. 选择"账号管理"进入账号管理页面。 
   "账号名称"为"default"的账号为实例的"默认账号"，默认账号的权限为读写权限，该账号的密码即缓存实例的访问密码。
   
   
6. 单击"创建账号"，可以创建普通账号。 
   ![](https://support.huaweicloud.com/usermanual-dcs/public_sys-resources/caution_3.0-zh-cn.png)
   **如果Redis实例开启了免密访问，创建的普通账号不生效，仅支持默认账号。**如需使用普通账号请先关闭默认账号的免密访问：单击默认账号对应"操作"列的"重置密码"即可为实例设置密码。
   
   
7. 在弹出的创建账号窗口中，设置账号名称和密码。 
   - 账号名称的长度范围为1到64个字符。需要以字母开头，并且只能包含字母、数字、中划线和下划线。
   
   - 密码的长度范围为8到64个字符，不能与正序或倒序的用户名称相同。需要至少包含三种字符组合：小写字母、大写字母、数字、特殊字符\` \~!@#$%\^\&\*()-_=+\\\|{},\<.\>/?。
   
   
   
   
8. 选择账号权限为"只读"或"读写"。
9. （可选）如果是**Proxy集群或读写分离** 实例，支持选择"只读路由策略"，其他实例类型不支持。
   
   如果需要指定账号的读请求转发到主节点、备节点或主备节点，请选择"主节点""备节点"或"主备节点"，如果不需要指定账号读请求的执行节点，请选择"关闭"。
   图1选择只读路由策略   
   ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000002408398253.png "点击放大")
   - **只有Proxy集群或读写分离实例的代理版本（Proxy版本）大于等于5.1.14.19时，支持配置"只读路由策略"。** 如需升级代理版本请参见[升级DCS实例小版本/代理版本](https://support.huaweicloud.com/usermanual-dcs/dcs_03_0016.html)。
   
   - **"只读路由策略"目前限制开放** ，如果Proxy集群或读写分离实例满足如上代理版本条件，控制台无配置"只读路由策略"选项，您可以[提交工单](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)联系客服开启该功能。
   
   - Proxy集群实例如果需要配置只读路由策略，参数backend-master-only的值需要配置为no（开启Proxy集群实例读写分离），如果账号创建后将backend-master-only参数的值改回为yes，配置的只读路由策略将失效。
   
   - 特性开关feature.dcs2.support.acl.read.policy和feature.dcs2.support.acl需同时开启才支持"只读路由策略"设置。
   
   - ACL账号的只读路由策略优先级低于support-dispatch-to-replica-list参数对于读请求的转发配置策略，详情请参见[读请求处理优先级](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0312024.html#dcs-ug-0312024__section410672125711)。
   
   
   
   
10. 根据需要填写账号备注，备注内容不超过512个字符。
11. 单击"确定"，完成账号创建。 
    图2账号管理   
    ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000002447106933.png "点击放大")
    
    
 
#### 使用ACL账号连接实例说明
当使用创建的ACL普通账号连接实例时，需要配置实例密码为***{username:password}***。
- 以[使用redis-cli连接Redis实例](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0713004.html)为例，当使用默认账号连接实例时命令如下：
  ```
  ./redis-cli -h {dcs_instance_address} -p 6379 -a {password}
  ```
  
- 如果使用实例创建的ACL普通账号连接，实例密码需要配置为"账号名称:账号密码"：
  ```
  ./redis-cli -h {dcs_instance_address} -p 6379 -a {username:password}
  ```
  
 
#### 更多操作
普通账号创建后，支持以下操作：
表1账号操作 
| 操作     | 操作说明                                                                                                                                                                                                                      |
|:---|:---|
| 修改密码   | 单击账号对应"操作"列的"修改密码"，修改该账号的访问密码。                                                                                                                                                                                            |
| 重置密码   | 如果原账号未设置密码，或忘记了原账号密码，单击账号对应"操作"列的"重置密码"，可以重置该账号的访问密码。                                                                                                                                                                     |
| 修改权限   | 单击普通账号对应"操作"列的"更多 \> 修改权限"，可修改账号为"只读"或"读写"权限。 如果是**Proxy集群或读写分离** 实例，单击默认账号对应"操作"列的"更多 \> 修改权限"，可以选择"只读路由策略"，详细说明请参见[开启只读路由策略的方式和说明]。默认账号为读写权限，不支持修改权限类型。 |
| 修改备注   | 单击普通账号对应"操作"列的"更多 \> 修改备注"，可修改账号的"备注"。                                                                                                                                                                                    |
| 删除账号   | 单击普通账号对应"操作"列的"更多 \> 删除"，删除该账号。 默认账号无法删除。                                                                                                                                                |
| 批量删除账号 | 勾选需要删除的普通账号，单击上方的"删除"，删除所选账号。 默认账号无法删除。                                                                                                                                                   |
   
#### 相关文档
DCS支持通过API创建ACL账号，相关操作文档请参见[账号管理](https://support.huaweicloud.com/api-dcs/AccountManagement.html)。
