- 文档首页
缓存数据库 Redis 版
用户指南
账号与访问授权
创建角色
创建角色
缓存数据库 Redis 版支持自定义角色权限,您可以根据业务需要,创建新的角色并赋予不同的权限,实现数据库的精细化管理,提升数据安全性。本文介绍如何创建角色。
实例状态需为运行中。关于实例状态的更多详情,请参见实例状态。 - 缓存数据库 Redis 版支持通过 disabled-commands 参数来设置禁用命令,且默认情况下禁用了 keys、flushdb 和 flushall 命令,因此如果您的账号角色不包含上述这些禁用命令的权限,即使 disabled-commands 参数中移除了上述命令,也无法执行。关于禁用命令的更多说明,请参见禁用命令说明。
- 每个 Redis 实例默认最多可拥有 100 个角色。若需要创建更多角色,请提交工单联系技术支持修改相关参数。
缓存数据库 Redis 版将所有支持的命令根据一定的规则进行了分组,每个分组即为一个命令类(Command Category),您可以使用 ACL(Access Control Lists)语法为角色授予指定命令或命令类的调用权限。
说明
缓存数据库 Redis 版支持的命令类以及每种命令类下包含的具体命令详情,请参见 Redis 控制台创建角色对话框内的详细说明。 缓存数据库 Redis 版的 ACL 语法规则如下:
- 每条 ACL 规则都必须以 + 或 - 开头,+ 或 - 后可以加上指定的命令或命令类,其中:
- +:表示允许调用某些命令或命令类。例如 +@all 表示允许调用所有命令。
- -:表示禁止调用某些命令或命令类。例如 -@dangerous 表示禁止调用 dangerous 命令类中的所有命令。
- 命令类前面必须使用 @ 表示,便于和具体的命令作区分。例如:
- 指定命令类: 例如 +@read 表示允许调用 read 命令类中的所有命令。
- 指定具体命令:例如 -get 表示仅禁止调用 get 命令。
- 命令和命令类中可以包含小写字母、数字、下划线(_)或英文点号(.),长度为 1~50 个字符。
- 缓存数据库 Redis 版默认为所有角色的 ACL 规则自动添加 ~* 语法,表示可以访问所有 key 和 channel。
- 不支持使用 ~<key> 语法来访问指定 key。
缓存数据库 Redis 版默认提供了 Administrator、NotDangerous、ReadWrite 、ReadOnly 、NotWrite 五种角色,每种角色的 ACL 规则不同,支持的权限也不同。下表以默认的五种角色为例介绍角色的 ACL 规则设置方法。
说明
- 下表中默认角色所支持的命令支持情况,以升级至最新内核小版本的未启用分片集群实例为准,部分命令需要升级到指定小版本才可使用,部分命令在启用分片集群实例中不支持使用。更多详情,请参见数据库小版本发布日志和命令支持。
- 原生 Redis 提供了 V1 和 V2 两个版本的 ACL 规则。在缓存数据库 Redis 版中,Proxy 版本号小于或等于 proxy_version_1.21.0 的 Redis 实例默认采用 ACL V1 规则,大于 proxy_version_1.21.0 的 Redis 实例默认采用 ACL V2 规则。
- 您可以在实例信息页签下查看实例的数据库的小版本信息,具体操作步骤,请参见查看实例信息。
- 下表汇总了默认角色在 V1 和 V2 版本的 ACL 规则差异详情,以供参考。
Administrator
NotDangerous
ReadWrite
ReadOnly
NotWrite
- 在顶部菜单栏的左上角,选择实例所属的项目和地域。
- 在角色页签下,单击创建角色,在弹出的对话框中,配置如下参数。
说明
角色创建后,暂不支持编辑或删除角色。默认允许用户访问所有的 key 和 channel。
后续操作
角色创建成功后,您可以在创建账号时,根据业务需要为账号选择合适的角色,实现数据库的精细化管理,提升数据安全性。更多详情,请参见创建与管理账号。 相关 API
最近更新时间:2026.07.29 15:22:02