操作场景
云数据库 Redis® 通过账号机制提供读写权限控制和路由策略控制,以满足复杂业务场景中对业务权限的控制。目前仅云数据库 Redis® 版(不含2.8兼容版本)支持账号设置。
账号分类
默认账号:只有密码的账号。在创建实例时,设置的访问数据库的密码。具体信息,请参见 创建实例。
自定义账号:带账号名的账号,自定义账号的鉴权方式为
账号名@密码
,作为访问 Redis 的密码参数。连接示例:redis-cli -h 1.1.1.1 -p 6379 -a readonlyuser@password
。账号匹配优先级
存在默认账号带 @ 分隔符的情况时,会优先匹配默认账号,再匹配自定义账号,自定义账号的匹配将以第一个 @ 符号为分隔符。
云数据库 Redis® 对免密码认证方式和原始 Redis 社区版有所不同,实例开通免密码访问后,如果访问参数密码不为空,认证将会失败,原始社区版会认证成功。
权限设置
只读权限:账号只有读取数据的权限,无修改数据的权限。
读写权限:账号具有读和写数据的权限。
只读路由策略
通过只读路由策略配置,您可以将指定账号的读请求分发到指定节点(主节点或副本节点)。
没有开通副本只读的实例,不支持路由到副本节点,可在节点管理页开通副本只读功能。
存在访问副本节点账号的实例,不允许关闭副本只读功能,如需关闭副本只读功能,需要先删除该账号。
前提条件
云数据库 Redis® 实例已创建,且在运行中。
已规划待定义的账号及其密码、读写权限、只读路由策略等信息。
创建自定义账号
1. 登录 Redis 控制台。
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,找到目标实例。
4. 单击目标实例的实例 ID,进入实例详情页面。
5. 单击账号管理页签,单击创建账号。
6. 在创建账号对话框,设置自定义账户名称及其密码信息,如下图所示。
界面参数 | 参数解释 |
账号名称 | 自定义访问数据库的名称。 仅由字母、数字、下划线、中划线组成。 长度不能大于32位。 |
密码 | 设置自定义账号的密码。密码复杂度要求如下: 字符个数为[8,30]。 至少包含小写字母、大写字母、数字和字符 ()`~!@#$%^&*-+=_|{}[]:;<>,.?/ 中的两种。 不能以"/"开头。 |
确认密码 | 再次输入密码。 |
命令权限 | 请在下拉列表中,选择账户权限,支持选择只读与读写权限。 |
只读路由策略 | |
只读本地节点 | 此处已禁用。该功能指在访问终端的同可用区有节点(主节点或者副本节点)的情况下,仅访问同可用区的节点,以降低读取延迟,避免跨可用区读取数据,可在控制台参数配置页面配置参数read-local-node-only来开启和关闭该功能。 |
7. 单击确定,完成创建,可使用该自定义账户访问数据库。具体连接方式,请参见 连接实例。
删除自定义账号
1. 登录 Redis 控制台。
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,找到目标实例。
4. 单击目标实例的实例 ID,进入实例详情页面。
5. 单击账号管理页签,在账号列表中,找到需删除的自定义账号。
6. 在其操作列,单击删除。
7. 在删除账号对话框,确定需删除的账号信息,单击确认删除。
说明:
默认账号即仅有密码的账户, 该账号不能删除。
账号删除后, 使用该账号的存量连接不会被断开, 新建连接使用该账号将无法验证。
修改账号权限
1. 登录 Redis 控制台。
2. 在右侧实例列表页面上方,选择地域。
3. 在实例列表中,找到目标实例。
4. 单击目标实例的实例 ID,进入实例详情页面。
5. 单击账号管理页签,在账号列表中,找到需修改权限的自定义账号。
6. 在其操作列,单击修改权限。
7. 在修改权限对话框,在命令权限后面的下拉列表中,选择账号的读写权限;在只读路由策略后面的下拉列表中,选择只读路由分发的节点,如下图所示。
8. 单击确定,完成设置。
相关 API
API 接口 | 接口含义 |
创建实例自定义账号 | |
修改实例子账号 | |
删除实例自定义账号 | |
查看实例账号信息 |