我们有很多使用 redis 的服务,我们通过为每个服务创建一个特定的用户来保护我们新的分片集群 redis。为了保护我们的集群,每个用户需要禁用哪些 redis 命令?我们的服务正常使用 redis(读写密钥、发布/订阅通道、一些健康检查等),不需要管理员或危险命令。下面的 ACL 是否足以保护我们的 redis?
user foo reset on>password resetkeys ~{bar:baz}:baz:* resetchannels ${bar:baz}:baz:* +@all -@admin -@dangerous
目的是从根本上保护我们的集群,因为不允许用户修改另一个密钥/通道,或者不允许用户执行集群/实例操作、管理任务等。最后,我们所有的服务都使用https:/ /github.com/StackExchange/StackExchange.Redis和https://www.npmjs.com/package/bull(带有连接器https://github.com/luin/ioredis)客户端。