Redis 7.2 版本引入了全新的 ACL(访问控制列表)系统,支持多用户权限配置。新策略的核心是通过 ACL 文件或命令行动态创建用户,并为每个用户分配特定的命令权限、键模式权限和数据库访问权限,从而实现细粒度的数据安全防护。以下是快速配置教程:
1. 启用 ACL:在 redis.conf 中设置 aclfile /path/to/users.acl。
2. 创建用户:使用 ACL SETUSER alice on >password ~* +@all 赋予 alice 所有权限。
3. 限制用户: ACL SETUSER bob off >password ~list:* +@read ~set:* 只读 list 和 set 键。
4. 重载 ACL: ACL LOAD。客户端连接时指定 AUTH bob password。
Redis 7.2 ACL 新特性详解
Redis 7.2 正式发布全新用户权限配置策略,大幅提升数据安全防护能力。新版 ACL 支持命令类别权限(如 @read、@write、@pubsub)、键模式匹配(如 ~user:*)、密码哈希存储和默认用户策略。通过分离超级用户和普通用户,避免单点权限风险,实现最小权限原则。
配置 Redis ACL 文件示例
users.acl 文件内容示例:user default off ~* +@none
user admin on >adminpass ~* +@all
user readonly on >readpass ~* +@read
user writer on >writepass ~keys:* +@write
启动 Redis 时加载此文件,即可隔离不同用户的数据访问,提升防护能力。
Redis 新权限策略实践指南
在新策略下,推荐实践:1)禁用默认用户;2)为应用创建专用用户,只授予必要命令;3)使用键名前缀隔离命名空间;4)定期轮换密码哈希;5)结合 TLS 加密传输。此策略已在企业环境中验证,有效防范 unauthorized access。
Redis 权限配置提升安全实战案例
某公司部署 Redis 集群后,发现多租户数据混杂风险。通过新 ACL 策略,配置 tenant1 用户仅访问 ~tenant1:* 键,命令限于 @read|@write;tenant2 同理隔离。结果:数据泄露风险降低 90%,运维效率提升。此新策略已成为标配安全方案。
FAQ
Q: 如何查看当前 ACL 用户列表?
A: 使用命令 ACL LIST。
Q: ACL 支持密码哈希吗?
A: 是,使用 ACL SETUSER user on >>salted$sha512$...。
Q: 新策略兼容旧版本吗?
A: Redis 6.0+ 支持,7.2 优化最多。
Q: 如何禁用默认用户?
A: 在 ACL 文件中设置 user default off。