Introducció a les ACLs

Les Llistes de Control d'Accés (ACLs) són una característica de seguretat de Redis que permeten definir permisos detallats per a diferents usuaris. Amb les ACLs, pots controlar quines comandes poden executar els usuaris i quines claus poden accedir. Aquesta funcionalitat és essencial per a entorns on múltiples aplicacions o usuaris accedeixen a la mateixa instància de Redis.

Conceptes Clau

  • Usuari: Un compte que pot tenir permisos específics.
  • Permís: Autorització per executar determinades comandes o accedir a determinades claus.
  • Patró de Claus: Un patró que defineix quines claus pot accedir un usuari.

Configuració Bàsica de les ACLs

Crear un Usuari

Per crear un usuari amb permisos específics, utilitza la comanda ACL SETUSER. A continuació es mostra un exemple de com crear un usuari anomenat user1 amb permisos per executar només les comandes GET i SET i accedir a claus que comencen amb foo:.

ACL SETUSER user1 on >password ~foo:* +GET +SET

Explicació del Fragment de Codi

  • user1: Nom de l'usuari.
  • on: Activa l'usuari.
  • >password: Estableix la contrasenya de l'usuari.
  • ~foo:*: Permet accedir a claus que comencen amb foo:.
  • +GET +SET: Permet executar les comandes GET i SET.

Verificar la Configuració de l'Usuari

Per veure la configuració d'un usuari, utilitza la comanda ACL GETUSER.

ACL GETUSER user1

Sortida Esperada

1) "flags"
2) 1) "on"
3) "passwords"
4) 1) "password"
5) "commands"
6) 1) "get"
   2) "set"
7) "keys"
8) 1) "foo:*"

Exemples Pràctics

Exemple 1: Crear un Usuari amb Accés de Només Lectura

ACL SETUSER readonly on >readonlypassword ~* +GET

Aquest usuari pot accedir a totes les claus (~*) però només pot executar la comanda GET.

Exemple 2: Crear un Usuari amb Accés a Claus Específiques

ACL SETUSER writer on >writerpassword ~bar:* +SET

Aquest usuari pot accedir només a les claus que comencen amb bar: i pot executar només la comanda SET.

Exercicis Pràctics

Exercici 1: Crear un Usuari amb Accés Complet

Crea un usuari anomenat admin amb la contrasenya adminpassword que tingui accés complet a totes les comandes i claus.

Solució

ACL SETUSER admin on >adminpassword allcommands allkeys

Exercici 2: Crear un Usuari amb Accés Limitat

Crea un usuari anomenat limited amb la contrasenya limitedpassword que només pugui executar les comandes GET i DEL i accedir a claus que comencen amb baz:.

Solució

ACL SETUSER limited on >limitedpassword ~baz:* +GET +DEL

Errors Comuns i Consells

  • Error: "ERR invalid password" - Assegura't que la contrasenya compleix amb els requisits de seguretat establerts.
  • Error: "ERR unknown command" - Verifica que les comandes especificades són vàlides i suportades per Redis.
  • Consell: Utilitza patrons de claus específics per limitar l'accés a claus sensibles i millorar la seguretat.

Resum

En aquesta secció, hem après com configurar les Llistes de Control d'Accés (ACLs) a Redis per gestionar els permisos dels usuaris. Hem vist com crear usuaris amb permisos específics, verificar la configuració dels usuaris i hem practicat amb alguns exemples i exercicis. Les ACLs són una eina poderosa per assegurar la teva instància de Redis i controlar l'accés de manera granular.

© Copyright 2024. Tots els drets reservats