新增用户
功能概述
一组 Redis 集群,赋予多个应用使用,用户需要为每个应用限定其使用权限。除默认用户外,Redis Cluster 自 v6.2.5 版本起,新增用户 ACL(Access Control List)功能,支持普通用户的创建与权限管理操作。用户可以在 Console 页面进行用户的相关操作。
创建 Redis Cluster 集群时,系统将同步创建一个默认用户 default,作为 管理员账户 使用,拥有全部权限。除此之外,用户还可添加写用户、读用户、监控用户等,赋予相应的权限。例如:
| 说明 |
|---|
|
操作步骤
步骤二:添加 ACL 用户
-
通过 Web 浏览器登录企业云平台的 Console。
-
在顶部菜单栏中选择产品与服务 > 数据库与缓存 > 键值数据库 Redis Cluster,进入 Redis Cluster 管理页面。
-
在 Redis Cluster 管理页面,点击目标集群 ID,进入集群详情页面。
-
在右侧用户管理 ACL 标签页,点击 + 添加帐号,弹出账号配置对话框。
-
用户根据页面提示信息,填写相关参数。页面参数说明如下。
参数 说明 角色
默认为分片。
用户名
输入数据库账号名。不可创建同名账号。
-
不支持
default。 -
命名规则:由大写字母
A~Z、小写字母a~z、数字0~9组成的,长度为2~26的字符串。
密码
-
输入数据库密码。
-
密码规则:由大写字母
A~Z、小写字母a~z、数字0~9和特殊字符!@#$%^&*()./;组成的,长度最少为 6 的字符串。 -
可设为空。
开启/停用
是否启用该帐号。开启后,该用户才可验证登录。支持后续修改,具体操作请参见启停帐号。
规则
用户权限的控制规则。通过访问控制字符串设置用户的权限。具体说明请参见权限控制字符串。
-
-
确认配置信息无误后,点击提交,返回账号列表页面,即可查看已添加账号。待集群状态更新为
活跃即创建成功。
附录
权限控制字符串
权限控制字符串即 ACL 规则,用于给用户设置命令权限及数据权限,避免用户的误操作导致数据丢失或避免数据泄露的安全风险。适用于以下场景。
-
希望限制用户访问命令和键以提高安全性,使不受信任的用户没有权限访问,而受信任的用户仅有完成工作的最小访问权限。例如,限制用户只能执行只读命令。
-
希望提高运营安全,以防止由于软件错误或人为错误而导致进程或人员访问 Redis,从而破坏数据或配置。例如,禁止工作人员从 Redis 调用
FLUSHALL命令。
ACL 规则是使用 DSL(Domain specific language)定义的,描述了用户能够执行以及不能执行的操作。规则始终按照从左到右,从第一个到最后一个的顺序进行应用。多条规则之间使用空格分隔。
允许/禁止命令
| 参数 | 说明 | ||
|---|---|---|---|
+<command> |
将命令添加到用户可以调用的命令列表中。 |
||
-<command> |
将命令从用户可以调用的命令列表中移除。 |
||
+@<category> |
允许用户调用
|
||
-@<category> |
禁止用户调用 |
||
allcommands |
|
||
nocommands |
|
||
+<command>|subcommand |
允许使用已禁用命令的特定子命令。
|
允许/禁止 Key
| 参数 | 说明 |
|---|---|
~<pattern> |
添加可以在命令中提及的键模式。 |
allkey |
|
resetkeys |
使用当前模式覆盖所有允许的模式。例如 |
配置示例
-
示例一:允许用户调用 GET 命令。
+get ~* -
示例二:允许用户调用除 GET 命令之外的所有命令。
+@all -get ~* -
示例三:允许用户调用 READ 与 ADMIN 类别下的命令。
+@read +@admin ~*示例四:允许读以
qingcloud:或redis:开头的 Key。+@read ~qingcloud:* ~redis:*示例五:允许用户使用
cluster info,cluster nodes查看集群相关信息。+cluster|info +cluster|nodes