In diesem Tutorial werden wir untersuchen, wie ACL -Funktionen in Redis verwendet werden, um die Sicherheit des Redis -Servers zu verbessern.
Wie funktioniert es?
Sie beginnen damit, Benutzer in der ACL zu definieren. Sobald ein Client eine Verbindung zur Redis -CLI herstellt, muss er sich mit einem Benutzernamen und einem Passwort authentifizieren, das in der Liste der Zugriffskontrolle angegeben ist.
Nach erfolgreicher Authentifizierung verbindet Redis diese Verbindung mit dem Benutzer und weist dieser Verbindung die definierte Genehmigung zu.
Wenn sich ein Client beispielsweise mit einem Benutzer mit nur Ansichtserlaubnis authentifiziert, wird die Verbindung die Berechtigungen des Benutzers erben.
Hinweis: Die ACL -Funktion ist nur in Redis 6 erhältlich.0 und höher.
Redis Auth -Befehl
In der neueren Version von Redis verwenden wir den Befehl auth, gefolgt vom Benutzernamen und dem Passwort.
Wenn nur das Kennwort geliefert wird, automatisch automatisch als Standardbenutzer automatisch authentifiziert.
Redis konfigurieren ACL
Redis wird mit einem Standardbenutzer geliefert, der als Standard in der ACL bezeichnet wird. Sie können dies mit dem Befehl ACL List anzeigen:
127.0.0.1: 6379> ACL -Liste
1) "Benutzer Standard An #5E884898DA28047151D0E56F8DC6292773603D0D6AABBD62A11EF721D1542D8 ~* +@alle”
Die Ausgabe des Befehls der ACL -Liste folgt einem bestimmten Muster. Lassen Sie es uns aufschlüsseln:
ACL -Regeln
Redis verfügt über eine umfangreiche Liste von ACL -Regeln, die Sie verwenden können. Lassen Sie uns jedoch einige wesentliche auflisten.
Redis konfigurieren ACL -Benutzer
Verwenden Sie den Befehl ACL SetUser, um einen Benutzer zur ACL -Liste hinzuzufügen, um den Befehl ACL SetUser. Der Befehl nimmt den Benutzernamen und die Liste der Regeln auf, um für den angegebenen Benutzer zu gelten.
Ein Beispiel ist wie unten gezeigt:
127.0.0.1: 6379> ACL SetUser LinuxHint
OK
Der Befehl fügt einen Benutzer mit dem angegebenen Benutzernamen hinzu.
Sie können die Benutzer in der ACL -Liste untersuchen wie:
127.0.0.1: 6379> ACL -Liste
1) "Benutzer Standard auf ~* +@All"
2) "Benutzer LinuxHint Off -@All"
Beachten Sie, dass der Benutzer "LinuxHint" standardmäßig deaktiviert ist und keine Befehle ausführen oder zugreifen kann.
Redis erstellt einen neuen Benutzer mit den geringsten Berechtigungen.
Wir können den folgenden Befehl ausführen, um dem Benutzer zu aktivieren und ein Kennwort festzulegen.
127.0.0.1: 6379> ACL SetUser LinuxHint auf> Passwort
OK
Im obigen Befehl ermöglichen wir dem Benutzer, indem wir den Wert auf ein einstellen und ein Passwort als> Passwort hinzufügen.
Um dem Benutzer Befehle hinzuzufügen, können wir dies tun:
127.0.0.1: 6379> ACL SetUser LinuxHint +Set | Get | Del
OK
Dies sollte dem LinuxHint -Benutzer ein paar Befehle hinzufügen.
Der Benutzer kann jedoch keinen Schlüssel zugreifen. Wir können dem Benutzer ermöglichen, auf alle Schlüssel zugreifen, wie im folgenden Befehl gezeigt:
127.0.0.1: 6379> ACL SetUser LinuxHint ~*
OK
Denken Sie daran, dass die Benutzernamen fallempfindlich sind.
Wir können jetzt die Benutzer in ACL als:
1) "Benutzer Standard auf ~* +@All"
2) "Benutzer LinuxHint on ~* -@alle +set | Get | Del"
Redis beschreibt den Benutzer
Führen Sie den Befehl ACL GetUser, gefolgt vom Ziel -Benutzernamen, den Befehls -ACL -GetUser aus, um beschreibende Informationen eines ACL -Benutzer zu erhalten.
127.0.0.1: 6379> ACL GetUser LinuxHint
1) "Flaggen"
2) 1) "on"
2) "alle Keeys"
3) "Passwörter"
4) 1) “5E884898DA28047151D0E56F8DC6292773603D0D6AABBDD62A11EF721D1542D8”
5) "Befehle"
6) "-@alle +set | Get | Del"
7) "Schlüssel"
8) 1) "*"
ACL generieren Passwort
Wenn Sie kein Kennwort für Ihren Benutzer generieren möchten, können Sie den Befehl ACL Genpass verwenden.
Ein Beispiel ist wie gezeigt:
127.0.0.1: 6379> ACL GenPassDer obige Befehl sollte einen zufälligen Passwort -Hash zurückgeben.
Abschluss
Dies war ein destillierter Artikel, der die Redis -ACL -Funktion beschreibt. Wir haben behandelt, wie man ACL in Redis aktiviert und verwendet, Benutzer hinzufügen, ACL -Regeln usw. festlegen usw.
Wir empfehlen dringend, die Dokumentation zu überprüfen, um mehr zu erfahren.
Danke fürs Lesen, bis zum nächsten Mal.