Redis6.0新特性——ACL(权限控制列表)实现限制用户可执行命令和KEY

ACL简介

ACL是Access Control List(访问控制列表)的缩写,该功能允许根据可以执行的命令和可以访问的键来限制某些连接

新旧版本对比

  • Redis 5版本之前:Redis 安全规则只有密码控制 还有通过rename 来调整高危命令比如 flushdb , KEYS* , shutdown 等
  • Redis 6版本之后:提供ACL的功能对用户进行更细粒度的权限控制 :
    (1)接入权限:用户名和密码
    (2)可以执行的命令
    (3)可以操作的 KEY

常用命令

acl list

展示用户权限列表

127.0.0.1:6379> acl list
1) "user default on nopass ~* &* +@all"
2) "user zwb off resetchannels -@all"

在这里插入图片描述

acl cat

  1. 查看添加权限指令类别
  2. 加参数类型名可以查看类型下具体命令

acl whoami

查看当前用户

acl set user

创建和编辑用户ACL

  1. ACL规则
    下面是有效ACL规则的列表。某些规则只是用于激活或删除标志,或对用户ACL执行给定更改的单个单词。其他规则是字符前缀,它们与命令或类别名称、键模式等连接在一起。
    在这里插入图片描述
  2. 通过命令创建新用户默认权限
    acl setuser ***
    在这里插入图片描述
    用户不存在:使用just created的默认属性来创建用户
    用户已存在:上面的命令不执行任何操作
  3. 设置有用户名、密码、ACL权限、并启用的用户
    acl setuser *** on >password ~cached:* +get
    在这里插入图片描述
  4. 切换用户,验证权限效果
  • 切换用户:auth *** password
    在这里插入图片描述
  • 验证权限效果
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/zwb568/article/details/125386708