You need to enable JavaScript to run this app.
导航

创建角色

最近更新时间2023.07.13 11:46:01

首次发布时间2023.01.19 10:47:32

缓存数据库 Redis 版支持自定义角色权限,您可以根据业务需要,创建新的角色并赋予不同的权限,实现数据库的精细化管理,提升数据安全性。本文介绍如何创建角色。

ACL 语法

缓存数据库 Redis 版将所有支持的命令根据一定的规则进行了分组,每个分组即为一个命令类(Command Category),您可以使用 ACL(Access Control Lists)语法为角色授予指定命令或命令类的调用权限。

说明

  • 缓存数据库 Redis 版支持的命令类以及每种命令类下包含的具体命令详情,请参见 Redis 控制台创建角色对话框内的详细说明。
  • 缓存数据库 Redis 版支持通过 disabled-commands 参数来设置禁用高危命令(包括 keysflushdbflushall),但如果您的账号角色默认不包含上述这些高危命令的权限,即使 disabled-commands 参数中移除了上述高危命令,也无法执行。关于高危命令的更多说明,请参见高危命令限制
  • 语法规则
    缓存数据库 Redis 版的 ACL 语法规则如下:

    • 每条 ACL 规则都必须以 +- 开头,+- 后可以加上指定的命令或命令类,其中:

      • +:表示允许调用某些命令或命令类。例如 +@all 表示允许调用所有命令。
      • -:表示禁止调用某些命令或命令类。例如 -@dangerous 表示禁止调用 dangerous 命令类中的所有命令。
    • 命令类前面必须使用 @ 表示,便于和具体的命令作区分。例如:

      • 指定命令类: 例如 +@read 表示允许调用 read 命令类中的所有命令。
      • 指定具体命令:例如 -get 表示仅禁止调用 get 命令。
    • 命令和命令类都必须使用小写字母,长度为 1~20 个字符。

    • 缓存数据库 Redis 版默认为所有角色的 ACL 规则自动添加 ~* 语法,表示可以访问所有 KEY。

    • 不支持使用 ~<key> 语法来访问指定 KEY。

  • 语法示例
    缓存数据库 Redis 版默认提供了 Administrator、NotDangerous、ReadWrite 和 ReadOnly 四种角色,每种角色的 ACL 规则不同,支持的权限也不同。下表以默认的四种角色为例介绍角色的 ACL 规则设置方法。

    默认角色名称ACL 规则说明
    Administrator+@all ~*允许对所有 KEY 使用所有命令。
    NotDangerous+@all -@dangerous ~*允许对所有 KEY 使用除 dangerous 类之外的所有命令。
    ReadWrite+@all -@admin ~*允许对所有 KEY 使用除 admin 类之外的所有命令。
    ReadOnly+@read ~*允许对所有 KEY 使用 read 类中的所有命令。

操作步骤

  1. 登录 Redis 控制台

  2. 在顶部菜单栏的左上角,选择实例所属的项目和地域。

  3. 实例列表页,单击目标实例的名称。

  4. 在实例详情页,单击账号管理页签。

  5. 账号管理页签下,再单击角色页签。

  6. 角色页签下,单击创建角色,在弹出的对话框中,配置如下参数。

    说明

    角色创建后,暂不支持编辑或删除角色。

    参数说明

    角色名称

    角色名称需同时满足以下条件:

    • 由小写字母、连字符(-)、数字组成。
    • 以字母开头,以字母或数字结尾。
    • 长度为 2~63 个字符。

    ACL规则

    设置角色的 ACL 规则。输入 ACL 规则后,使用空格键或 Enter 键即可生成规则。支持一次输入多条规则。
    关于 ACL 规则的具体说明,请参见 ACL 语法规则

  7. 单击确定

后续操作

角色创建成功后,您可以在创建账号时,根据业务需要为账号选择合适的角色,实现数据库的精细化管理,提升数据安全性。更多详情,请参见创建与管理账号