You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RedisStack中为ACL用户配置RedisJSON模块命令权限的问题

RedisStack中为ACL用户配置RedisJSON模块命令权限的问题

嗨,我来帮你搞定这个权限问题~

你遇到的问题本质是:Redis默认的@read、@write这些命令分组只包含Redis核心原生命令,像RedisJSON这类扩展模块提供的json.set、json.get等命令并不在这些分组里,所以即使你给了+@read和+@write,用户依然没有执行JSON模块命令的权限。

这里有两种针对性的解决方案,你可以根据需求选择:

方案一:单独授予特定JSON命令权限

如果你只需要让用户执行某几个JSON命令,可以直接把这些命令添加到ACL规则里。比如你需要json.set和json.get,修改后的ACL规则如下:

user username on -@all +@read +@write +@connection ~prefix:* >somepassword +json.set +json.get

方案二:授予整个RedisJSON模块的命令权限

如果要让用户使用RedisJSON的所有命令,更高效的方式是直接授予RedisJSON的模块命令分组权限。Redis模块的命令分组命名规则是@<模块名>,RedisJSON对应的分组是@json,修改后的规则如下:

user username on -@all +@read +@write +@connection ~prefix:* >somepassword +@json

修改完ACL规则后,你可以切换到该用户,执行json.set prefix:test $ '{"foo":"bar"}'这类命令测试一下,应该就能正常执行了~

备注:内容来源于stack exchange,提问作者Raouf Ben Hassine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 14:18:01