DBAtlas · Atlas für Datenbankbetrieb

ACL-Benutzer anlegen, Berechtigungen testen und dauerhaft speichern

RedisSicherheit

Befehl

# 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

Was es tut

Legt Anwendungs- und Monitoring-Benutzer an, die nach Key-Präfix, Pub/Sub-Kanal und Befehlskategorie berechtigt sind; testet mit DRYRUN, ob ein Befehl erlaubt ist, ohne ihn auszuführen, und schreibt die ACLs auf die Platte.

Wann einsetzen

Beim Umstieg von einem gemeinsamen Passwort (requirepass) auf Zugriff pro Benutzer, beim Isolieren von Anwendungen von den Keys der anderen oder beim Anlegen eines Nur-Lese-Kontos für ein Monitoring-Tool.

Vorsicht

Die Reihenfolge der Regeln zählt: resetchannels entfernt alle vorher angegebenen &channel-Regeln. -@dangerous blockiert auch Befehle wie KEYS, FLUSHALL, CONFIG und DEBUG; prüfe die von der Anwendung genutzten Befehle mit DRYRUN. Bleibt der Benutzer default mit nopass und +@all aktiv, bieten ACLs keinen Schutz; nach dem Anlegen eines Admin-Benutzers ACL SETUSER default off ausführen. Schlägt in redis-cli AUTH mit --user/--pass fehl, läuft die Verbindung als Benutzer default weiter und der Befehl wird trotzdem ausgeführt; nutze deshalb DRYRUN für Berechtigungstests.

In DBAtlas öffnen →

Verwandte Einträge