You need to enable JavaScript to run this app.
导航
创建角色
最近更新时间:2024.12.04 10:53:40首次发布时间:2024.07.11 10:12:28

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

注意事项

缓存数据库 Redis 企业版默认禁用了 flushallflushdbkeys 命令,因此即使您的账号角色中包含了上述这些禁用命令的权限,也无法执行对应命令操作。如需使用上述命令,请提交工单联系技术支持。关于企业版实例的更多功能特性限制详情,请参见约束与限制

ACL 语法

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

说明

  • 缓存数据库 Redis 企业版支持的命令类以及每种命令类下包含的具体命令详情,请参见 Redis 控制台创建角色对话框内的详细说明。
  • 缓存数据库 Redis 企业版支持的命令详情,请参见命令支持

语法规则

缓存数据库 Redis 企业版的 ACL 语法规则如下:

  • 每条 ACL 规则都必须以 +- 开头,+- 后可以加上指定的命令或命令类,其中:
    • +:表示允许调用某些命令或命令类。例如 +@all 表示允许调用所有命令。
    • -:表示禁止调用某些命令或命令类。例如 -@dangerous 表示禁止调用 dangerous 命令类中的所有命令。
  • 命令类前面必须使用 @ 表示,便于和具体的命令作区分。例如:
    • 指定命令类: 例如 +@read 表示允许调用 read 命令类中的所有命令。
    • 指定具体命令:例如 -get 表示仅禁止调用 get 命令。
  • 命令和命令类都必须使用小写字母,长度为 1~24 个字符。
  • Redis 原生命令中包含了部分特殊字符,在为这些命令设置 ACL 语法规则时需要注意如下几点。
    特殊字符是否需在 ACL 规则中转化转化示例
    空格需要转化为竖线(|)。例如需要允许使用 ACL CAT 命令,那么 ACL 规则需设置为:+acl|cat
    短横线(-)无需转化。例如需要禁止使用 MEMORY MALLOC-STATS 命令,那么 ACL 规则需设置为:-memory|malloc-stats
    下划线(_)无需转化。例如需要禁止使用 GEORADIUSBYMEMBER_RO 命令,那么 ACL 规则需设置为:-georadiusbymember_ro
  • 缓存数据库 Redis 企业版默认为所有角色的 ACL 规则自动添加 ~* 语法,表示可以访问所有 KEY。
  • 不支持使用 ~<key> 语法来访问指定 KEY。

语法示例

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

默认角色名称ACL 规则当前角色包含或除外的具体命令

Administrator

+@all ~*

允许对所有 KEY 使用所有企业版已支持的命令。
缓存数据库 Redis 企业版支持的命令详情,请参见命令支持

操作步骤

  1. 登录 Redis 控制台
  2. 在顶部菜单栏的左上角,选择实例所属的项目和地域。
  3. 实例列表页,单击目标实例名称。
  4. 在实例详情页,单击账号管理页签。
  5. 账号管理页签下,单击角色页签。
  6. 角色页签下,单击创建角色,在弹出的对话框中,配置如下参数。

    说明

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

    参数说明

    角色名称

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

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

    ACL 规则

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

  7. 单击确定

后续操作

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