Securitate Enterprise cu Liste de Control al Accesului (ACL) în Redis: ACL SETUSER și Permisiuni Granulare în Redis & In-Memory Data Store

Ghid complet pentru securizarea Redis cu liste de control al accesului (ACL): crearea utilizatorilor cu drepturi restrânse, filtrare pe categorii de comenzi, restricționare pe prefixe de chei și audit cu ACL LOG.

Sintaxă comandă
ACL SETUSER user on >pass ~app:* +@read +@write -@dangerous | ACL LIST | ACL LOG

Înainte de Redis 6, securitatea la nivel de instanță era extrem de rudimentară: exista o singură parolă globală configurată prin requirepass. Odată autentificat, orice client deținea drepturi depline de administrator și putea executa comenzi distructive fatale precum FLUSHALL sau CONFIG SET.

Sistemul Access Control Lists (ACL) aduce securitate de nivel enterprise: permite crearea de utilizatori distincți, asociați cu parole unice, restricționați la anumite categorii de comenzi și limitate la prefixe specifice de chei (Key Pattern Matching).

Configurarea unui Utilizator Securizat de Aplicație
# 1. Creăm utilizatorul 'worker_backend' activat (on), cu parolă dedicată (>ParolaSecreta42!):
# Reguli aplicate:
# ~cache:*        -> Permite accesul EXCLUSIV pe chei care încep cu 'cache:'
# +@read +@write  -> Permite comenzile standard de citire și scriere (GET, SET, DEL, HGET etc.)
# -@dangerous     -> Interzice toate comenzile periculoase (FLUSHALL, KEYS, SHUTDOWN, DEBUG)
# -@admin         -> Interzice comenzile administrative (CONFIG, MONITOR, ACL)
ACL SETUSER worker_backend on >ParolaSecreta42! ~cache:* +@read +@write -@dangerous -@admin

# 2. Testarea autentificării din client:
AUTH worker_backend ParolaSecreta42!

# 3. Operațiune permisă:
SET cache:sesiune_utilizator "token_abc"
# Răspuns: OK

# 4. Operațiune respinsă la nivel de prefix de cheie:
SET date_financiare:sold 50000
# Răspuns de eroare:
# (error) NOPERM this user has no permissions to access the 'date_financiare:sold' key

# 5. Operațiune respinsă la nivel de comandă:
FLUSHALL
# Răspuns de eroare:
# (error) NOPERM this user has no permissions to run the 'flushall' command

Monitorizarea Tentativelor Neautorizate cu ACL LOG

Dacă un atacator încearcă să acceseze chei nepermise sau să execute comenzi restricționate, Redis înregistrează automat incidentul în jurnalul de securitate:

ACL LOG 5
# Afișează ultimele 5 încălcări de securitate: adresa IP sursă, utilizatorul, comanda apelată și cheia accesată nepermis.
Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Securitate Enterprise cu Liste de Control al Accesului (ACL) în Redis: ACL SETUSER și Permisiuni Granulare

Ai o nelămurire despre utilizarea comenzii Securitate Enterprise cu Liste de Control al Accesului (ACL) în Redis: ACL SETUSER și Permisiuni Granulare sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.