DBAtlas · Atlas de operaciones de bases de datos

Crear usuarios ACL, probar permisos y hacerlos persistentes

RedisSeguridad

Comando

# Application user: only app:* keys and channels, dangerous commands excluded:
ACL SETUSER app_rw on >S3cret-Change ~app:* resetchannels &app:* +@read +@write -@dangerous
# Monitoring user: no key access, only specific commands:
ACL SETUSER monitor on >M0n-Secret resetkeys resetchannels -@all +info +ping +client|list +slowlog|get +latency +config|get
# Test permissions without running the command:
ACL DRYRUN app_rw GET app:1001
ACL GETUSER app_rw
ACL LIST
# Make it persistent: ACL SAVE if aclfile is set, otherwise CONFIG REWRITE into redis.conf
ACL SAVE

Qué hace

Crea usuarios de aplicación y de monitoreo autorizados por prefijo de clave, canal pub/sub y categoría de comandos; prueba con DRYRUN si un comando está permitido sin ejecutarlo y escribe las ACL en disco.

Cuándo usarlo

Al pasar de una única contraseña compartida (requirepass) a accesos por usuario, al aislar las aplicaciones de las claves de las demás o al crear una cuenta de solo lectura para una herramienta de monitoreo.

Precaución

El orden de las reglas importa: resetchannels elimina cualquier regla &channel dada antes. -@dangerous también bloquea comandos como KEYS, FLUSHALL, CONFIG y DEBUG; verifique con DRYRUN los comandos que usa la aplicación. Si el usuario default sigue habilitado con nopass y +@all, las ACL no protegen nada; ejecute ACL SETUSER default off tras crear un usuario administrador. En redis-cli, si AUTH con --user/--pass falla, la conexión continúa como el usuario default y el comando se ejecuta igualmente; por eso use DRYRUN para las pruebas de permisos.

Abrir en DBAtlas →

Relacionado