【发布时间】:2019-11-30 02:29:36
【问题描述】:
对于由登录名/密码标识的特定客户端,有没有办法限制 Redis 中允许的命令列表?我想禁止KEYS 和SCAN 命令。理想情况下,我只允许 GET 而不允许其他任何内容,因此客户端将只能访问它知道的密钥。
【问题讨论】:
标签: redis
对于由登录名/密码标识的特定客户端,有没有办法限制 Redis 中允许的命令列表?我想禁止KEYS 和SCAN 命令。理想情况下,我只允许 GET 而不允许其他任何内容,因此客户端将只能访问它知道的密钥。
【问题讨论】:
标签: redis
直到 Redis v5,没有内置的方法可以做到这一点。
从 Redis v6(ETA Soon(TM) ;))开始,您将能够使用访问控制列表功能。简而言之,ACL 允许定义用户及其各自的权限,包括他们可以执行的命令和他们可以访问的键模式。
例如,要允许为用户禁用 GET 以外的所有内容,您可以执行以下操作:
redis> ACL SETUSER myuser on >password -@all +get
WIP 文档目前位于https://redis.io/topics/acl。
【讨论】:
您可以禁用命令,请参阅:https://redis.io/topics/security
但是,这将应用于所有客户端。
【讨论】: