You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Kvrocks currently supports authentication through requirepass and namespace tokens, but it does not support Redis ACL users or fine-grained permission control.
This is something the Kvrocks community has needed for a long time and is eager to have.
This limits Redis compatibility and makes some production scenarios hard to secure, especially:
read-only replication users
command-level restrictions
key-pattern restrictions
per-user password management
Redis client compatibility with ACL-aware workflows
This tracking issue splits Redis ACL support into smaller sub-issues. The initial goal is not to support every Redis ACL edge case at once, but to build a maintainable foundation that can evolve safely.
High-Level Design Direction
ACL users are managed by the admin user.
Each ACL user maps to exactly one Kvrocks namespace.
ACL data is persisted in storage instead of an external ACL file, so it can participate in replication.
ACL rules are stored in a Redis-compatible ACL SETUSER rule-string form where practical.
Runtime permission checks use parsed/cached ACL user objects.
Command permissions should support command names, categories, and subcommands.
Key/channel permissions should be enforced through the existing command key extraction path where possible.
Initial Non-Goals
Do not support deprecated Redis first-argument ACL rules.
Do not require a full ACL file implementation in the first phase.
Do not refactor every command family before the ACL foundation lands.
Do not change public command behavior unrelated to ACL.
Motivation
Kvrocks currently supports authentication through
requirepassand namespace tokens, but it does not support Redis ACL users or fine-grained permission control.This is something the Kvrocks community has needed for a long time and is eager to have.
This limits Redis compatibility and makes some production scenarios hard to secure, especially:
Related discussions and issues:
Scope
This tracking issue splits Redis ACL support into smaller sub-issues. The initial goal is not to support every Redis ACL edge case at once, but to build a maintainable foundation that can evolve safely.
High-Level Design Direction
ACL SETUSERrule-string form where practical.Initial Non-Goals
Recommended implementation steps
AUTHandHELLO AUTHACL DRYRUNAcceptance Criteria
HELLO ... AUTH default <password>remain compatible.