Mit ACL-Richtlinien (Access Control List) in Memorystore for Redis Cluster können Sie den Zugriff auf Ihre Cluster sichern. Sie können eine detaillierte Sicherheit aktivieren, indem Sie den Nutzer- und Dienstzugriff auf bestimmte Schlüssel, Befehle und Pub/Sub-Channels beschränken.
Im Folgenden finden Sie einige Beispiele für Anwendungsfälle, in denen ACL-Richtlinien verwendet werden, um den Zugriff auf Cluster zu sichern:
- Rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) bereitstellen: Erstellen Sie separate Nutzerprofile für verschiedene Komponenten Ihrer Anwendungen. Ein Web-Frontend kann beispielsweise schreibgeschützten Zugriff haben, während ein Hintergrunddienst Lese- und Schreibzugriff hat. So werden versehentliche Datenlecks oder Manipulationen verhindert.
- Destruktive Befehle verhindern: Beschränken Sie gefährliche Befehle wie
FLUSHALL,FLUSHDBoderCONFIGauf Administratoren der obersten Ebene. So wird die Datenintegrität vor Softwarefehlern oder manuellen Fehlern geschützt. Sicherheit für Mandantenanwendungen bereitstellen: Verwenden Sie separate ACL-Nutzer für verschiedene Mikrodienste oder externe Partner. So wird sichergestellt, dass Nutzer eines Dienstes keine Schlüssel lesen oder ändern können, die einem anderen Dienst gehören.
Memorystore for Redis Cluster bietet keine Mandantenfähigkeit auf Ressourcenebene. Auch wenn Keyspaces aufgeteilt sind, kann ein Dienst einen unverhältnismäßigen Anteil an Arbeitsspeicher oder CPU-Leistung verbrauchen.
Analysen und Monitoring mit Lesezugriff durchführen: Weisen Sie einen dedizierten Nutzer zu, der nur
GEToder andere schreibgeschützte Befehle (z. B.SCANoderTYPE) für Analyse-Engines oder Dashboard-Anwendungen verwenden kann. So wird verhindert, dass versehentlich Daten geschrieben oder gelöscht werden.Sichere Datenbankschlüssel: Beschränken Sie Anwendungen so, dass sie nur mit Schlüsseln interagieren, die bestimmten Mustern entsprechen (z. B.
app1:*). Dadurch wird eine logische Trennung der Daten innerhalb eines Clusters erreicht.Lua-Skripts deaktivieren: Verwenden Sie ACL-Richtlinien, um die Lua-Scripting-Funktionen für Ihre Cluster zu verwalten. Das Deaktivieren oder Einschränken von Lua-Skripts kann nützlich sein, um die Leistung zu optimieren, die Funktionalität Ihrer Cluster zu vereinfachen oder die Sicherheitsrichtlinien Ihrer Organisation einzuhalten.
Hinweis
Bevor Sie ACL-Richtlinien verwenden, müssen Sie die Anleitung in diesem Abschnitt ausführen.
Google Cloud Console, Google Cloud CLI und APIs verwenden
So verwenden Sie die Google Cloud Console, die Google Cloud CLI und APIs:
- Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Google Cloud -Projekt aus oder erstellen Sie eines.
Hinweis:Wenn Sie die Ressourcen, die Sie in diesem Verfahren erstellen, nicht behalten möchten, erstellen Sie ein Projekt, anstatt ein vorhandenes Projekt auszuwählen. Wenn Sie fertig sind, können Sie das Projekt löschen und dadurch alle mit dem Projekt verknüpften Ressourcen entfernen.
Zur Projektauswahl - Die Abrechnung für Ihr Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
Installieren und initialisieren Sie die Google Cloud CLI.
Hinweis:Wenn Sie die gcloud CLI bereits installiert haben, prüfen Sie mit
gcloud components update, ob Sie die aktuelle Version verwenden. Sie benötigen mindestens die gcloud CLI-Version440.0.0, um auf die gcloud CLI-Befehle für Memorystore for Redis-Cluster zuzugreifen.-
Aktivieren Sie die Memorystore for Redis API.
Memorystore for Redis -
Aktivieren Sie die Network Connectivity API.
Network Connectivity API -
Aktivieren Sie die Service Consumer Management API.
Service Consumer Management API
Memorystore for Redis Cluster-Rollen zuweisen
Achten Sie darauf, dass Sie oder das verwendete Nutzerkonto die erforderlichen Berechtigungen für die Aktion haben, die Sie ausführen möchten.
Für alle ACL-Richtlinienvorgänge benötigen Sie die Rollen Redis-Administrator (roles/redis.admin) und Redis-Bearbeiter (roles/redis.editor). Wenn Sie nur ACL-Richtlinien ansehen möchten, verwenden Sie die Rolle Redis-Betrachter (roles/redis.viewer).
Memorystore for Redis Cluster-Berechtigungen zuweisen
Zusätzlich zu den Rollen „Redis-Administrator“, „Redis-Bearbeiter“ und „Redis-Betrachter“ benötigen Sie die folgenden Berechtigungen, um ACL-Richtlinien in Memorystore for Redis Cluster zu verwenden:
| Aktion | Berechtigung |
|---|---|
| ACL-Richtlinie erstellen | redis.aclPolicies.create |
| ACL-Richtlinie einem Cluster zuweisen | redis.clusters.update |
| Informationen zu ACL-Richtlinien ansehen | redis.aclPolicies.list |
| Informationen zu einer ACL-Richtlinie ansehen | redis.aclPolicies.get |
| Informationen zu ACL-Richtlinienversionen ansehen | redis.aclPolicyRevisions.list |
| Informationen zu einer ACL-Richtlinienversion ansehen | redis.aclPolicyRevisions.get |
| ACL-Richtlinie ändern | redis.aclPolicies.update |
| ACL-Richtlinie aus einem Cluster entfernen | redis.clusters.update |
| ACL-Richtlinie löschen | redis.aclPolicies.delete |
ACL-Richtlinie erstellen
Durch das Erstellen von ACL-Richtlinien in Memorystore for Redis Cluster können Sie die Sicherheit Ihrer Cluster verbessern, indem Sie den Nutzerzugriff auf bestimmte Schlüssel, Befehle und Pub/Sub-Channels einschränken.
Sie können eine ACL-Richtlinie mit der gcloud CLI erstellen.
gcloud
Verwenden Sie den Befehl gcloud redis acl-policies create, um eine ACL-Richtlinie zu erstellen.
gcloud redis acl-policies create ACL_POLICY_NAME \ --region=REGION \ --rules=rule="on ~* +@all",username="lucian" \ --rules=rule="on +get",username="taylor"
Ersetzen Sie die folgenden Werte:
- ACL_POLICY_NAME: der Name der ACL-Richtlinie, die Sie erstellen. Der Richtlinienname darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Er muss auch mit einem Buchstaben beginnen und darf in der Region nur einmal vorkommen.
- REGION: Die Region, in der sich die ACL-Richtlinie befinden soll.
Für diese Richtlinie wird die einfache tokenbasierte Authentifizierung verwendet. Sie enthält Regeln, mit denen die folgenden Aktionen ausgeführt werden:
- Die erste Regel gewährt
luciandie Berechtigung~* +@all. Mit dieser Berechtigung kann der Nutzer auf alle Schlüssel zugreifen und alle Befehle ausführen. - Die zweite Regel gewährt
taylordie Berechtigungget. Mit dieser Berechtigung kann der Nutzer die Werte abrufen, die mit Schlüsseln verknüpft sind. Sie beschränkt den Zugriff des Nutzers auf schreibgeschützte Datenvorgänge und verhindert, dass der Nutzer Schlüssel ändert.
Wenn Sie Regeln für eine ACL-Richtlinie erstellen möchten, die die IAM-Authentifizierung (Identity and Access Management) verwendet, empfehlen wir, IAM-Principals für die Nutzernamen zu verwenden, z. B. die E-Mail-Adressen der Nutzer.
gcloud redis acl-policies create ACL_POLICY_NAME \ --region=REGION \ --rules=rule="on ~* +@all",username="lucian@example.com" \ --rules=rule="on +get",username="taylor@example.com"
Wenn Sie eine Regel für eine ACL-Richtlinie erstellen möchten, für die keine Authentifizierung erforderlich ist, muss der Nutzer der default-Nutzer sein.
gcloud redis acl-policies create ACL_POLICY_NAME \ --region=REGION \ --rules=rule="on ~* +@all",username="default"
Weitere Informationen zur einfachen tokenbasierten Authentifizierung und zur IAM-Authentifizierung finden Sie unter Zugriff auf Ihre Cluster mit einfacher tokenbasierter Authentifizierung sichern und IAM-Authentifizierung.
Weitere Informationen zu anderen ACL-Regeln und ‑Richtlinien, die Sie erstellen können, finden Sie in der Redis-Dokumentation unter ACL.
ACL-Richtlinie einem Cluster zuweisen
Wenn Sie einem Cluster eine ACL-Richtlinie zuweisen oder eine zugewiesene Richtlinie ersetzen, kann Memorystore for Redis Cluster die Regeln der Richtlinie auf den Cluster anwenden. Dadurch schränken Sie den Nutzerzugriff auf bestimmte Schlüssel, Befehle und Pub/Sub-Channels ein.
Sie können einem Cluster mit der gcloud CLI eine ACL-Richtlinie zuweisen.
Richtlinie einem neuen Cluster zuweisen
Informationen zum Erstellen eines Clusters und Zuweisen einer ACL-Richtlinie zum Cluster finden Sie unter Instanzen erstellen.
Richtlinie einem vorhandenen Cluster zuweisen
Um die Sicherheit eines vorhandenen Clusters zu erhöhen, können Sie dem Cluster eine ACL-Richtlinie zuweisen.
gcloud
Verwenden Sie den Befehl gcloud redis clusters update, um einem vorhandenen Cluster eine ACL-Richtlinie zuzuweisen.
gcloud redis clusters update CLUSTER_ID \ --update_mask=acl_policy \ --acl-policy=ACL_POLICY_NAME \ --region=REGION
Ersetzen Sie die folgenden Werte:
- CLUSTER_ID: Die ID des Clusters, dem Sie die ACL-Richtlinie zuweisen.
- ACL_POLICY_NAME: der Name der ACL-Richtlinie
- REGION: die Region, in der sich der Cluster befindet
Informationen zu ACL-Richtlinien ansehen
Wenn Sie Informationen zu ACL-Richtlinien in Memorystore for Redis Cluster aufrufen, können Sie die Sicherheit aufrechterhalten, die Betriebsstabilität Ihrer Umgebung gewährleisten und In-Memory-Daten prüfen. Diese Richtlinien definieren, welche Nutzer bestimmte Schlüsselmuster lesen oder ändern, bestimmte Befehle ausführen oder auf bestimmte Pub/Sub-Channels zugreifen können.
Sie können Informationen zu ACL-Richtlinien mit der gcloud CLI aufrufen.
gcloud
Verwenden Sie den Befehl gcloud redis acl-policies list, um Informationen zu ACL-Richtlinien aufzurufen.
gcloud redis acl-policies list --region=REGION
Ersetzen Sie REGION durch die Region, in der sich die ACL-Richtlinie befindet.
Informationen zu einer ACL-Richtlinie ansehen
Wenn Sie Informationen zu einer ACL-Richtlinie in Memorystore for Redis Cluster aufrufen, können Sie Sicherheitsprüfungen durchführen, Zugriffsfehler beheben und das Prinzip der geringsten Berechtigung erzwingen, indem Sie Nutzerbefehle, Schlüsselberechtigungen und den Zugriff auf Pub/Sub-Channels überprüfen. Außerdem können Administratoren eine ACL-Richtlinie aufrufen, um sicherzustellen, dass Ihre Anwendungen den entsprechenden Zugriff haben, und um zu restriktive Regeln zu erkennen.
Sie können Informationen zu einer ACL-Richtlinie mit der gcloud CLI aufrufen. Verwenden Sie den Befehl gcloud redis acl-policies describe, um diese Informationen aufzurufen.
gcloud redis acl-policies describe ACL_POLICY_NAME \ --region=REGION
Ersetzen Sie die folgenden Werte:
- ACL_POLICY_NAME: der Name der ACL-Richtlinie, zu der Sie Informationen aufrufen möchten
- REGION: die Region, in der sich die ACL-Richtlinie befindet
Informationen zu ACL-Richtlinienversionen ansehen
Wenn Sie eine ACL-Richtlinie erstellen, erstellt Memorystore for Redis Cluster eine Version (Revision) für die Richtlinie. Jedes Mal, wenn Sie die Richtlinie ändern, erstellt Memorystore for Redis Cluster eine nachfolgende Richtlinienrevision.
Da diese Überarbeitungen in Memorystore for Redis Cluster automatisch generiert werden, können Sie sie für interne Tracking- und Prüfungszwecke verwenden. Außerdem können Sie sich die genauen Inhalte der ACL-Richtlinie in jeder früheren Version ansehen.
Mithilfe von ACL-Richtlinienversionen können Sie nachverfolgen, welche Cluster welche Version einer Richtlinie verwenden. So können Sie die Sichtbarkeit aufrechterhalten und dafür sorgen, dass in Clustern während des Zeitraums der eventual consistency nach einer Richtlinienaktualisierung die richtige Version verwendet wird.
Sie können Informationen zu ACL-Richtlinienrevisionen mit der gcloud CLI aufrufen.
gcloud
Mit dem Befehl gcloud redis acl-policies revisions list können Sie Informationen zu ACL-Richtlinienversionen aufrufen.
gcloud redis acl-policies revisions list \ --acl-policy=ACL_POLICY_NAME \ --region=REGION
Ersetzen Sie die folgenden Werte:
- ACL_POLICY_NAME: der Name der ACL-Richtlinie, die Überarbeitungen enthält, zu denen Sie Informationen aufrufen möchten
- REGION: die Region, in der sich die ACL-Richtlinie befindet
Notieren Sie sich in der Ausgabe die Revisions-IDs. Sie benötigen diese IDs, um Informationen zu bestimmten ACL-Richtlinienversionen aufzurufen.
Informationen zu einer ACL-Richtlinienversion ansehen
Wenn Sie eine ACL-Richtlinienrevision aufrufen, sehen Sie die zugehörigen Regeln, Metadaten und eine Liste aller angehängten Cluster. Sie können Informationen zu einer ACL-Richtlinienversion mit der gcloud CLI aufrufen.
gcloud
Verwenden Sie den Befehl gcloud redis acl-policies revisions describe, um Informationen zu einer ACL-Richtlinienversion aufzurufen.
gcloud redis acl-policies revisions describe ACL_POLICY_REVISION_ID \ --acl-policy=ACL_POLICY_NAME \ --region=REGION
Ersetzen Sie die folgenden Werte:
- ACL_POLICY_REVISION_ID: Die ID der ACL-Richtlinienversion, zu der Sie Informationen aufrufen möchten. Sie haben diese ID notiert, als Sie Informationen zu ACL-Richtlinienversionen aufgerufen haben.
- ACL_POLICY_NAME: Der Name der ACL-Richtlinie, die die Überarbeitung enthält.
- REGION: die Region, in der sich die ACL-Richtlinie befindet.
ACL-Richtlinie ändern
Durch Ändern einer ACL-Richtlinie in Memorystore for Redis Cluster können Sie die Sicherheit erhöhen, den Zugriff mit dem geringsten erforderlichen Berechtigungsniveau erzwingen und die Betriebssicherheit verwalten. Sie können eine Richtlinie mit der gcloud CLI ändern.
Einer ACL-Richtlinie eine Regel hinzufügen
Um die Sicherheit einer ACL-Richtlinie zu erhöhen, fügen Sie ihr eine Regel hinzu.
gcloud
Verwenden Sie den Befehl gcloud redis acl-policies update, um einer ACL-Richtlinie eine Regel hinzuzufügen.
gcloud redis acl-policies update ACL_POLICY_NAME \ --region=REGION \ --add-rules=rule="on ~list:*",username="lucian"
Ersetzen Sie die folgenden Werte:
- ACL_POLICY_NAME: Der Name der ACL-Richtlinie, der Sie eine ACL-Regel hinzufügen möchten.
- REGION: die Region, in der sich die ACL-Richtlinie befindet
Diese Regel gewährt lucian Zugriff auf alle Schlüssel, die mit list: beginnen.
Regeln einer ACL-Richtlinie ersetzen
Durch das Ersetzen der ACL-Regeln einer ACL-Richtlinie wird die Sicherheit erhöht, die Betriebssicherheit verbessert und eine detailliertere Nutzerzugriffssteuerung ermöglicht. So können Sie beispielsweise Berechtigungen während einer Incident Response widerrufen oder vorübergehenden Zugriff zu Debugging-Zwecken aktivieren.
gcloud
Verwenden Sie den Befehl gcloud redis acl-policies update, um die Regeln einer ACL-Richtlinie zu ersetzen.
gcloud redis acl-policies update ACL_POLICY_NAME \ --region=REGION \ --rules=rule="on ~c*che",username="lucian"
Ersetzen Sie die folgenden Werte:
- ACL_POLICY_NAME: Name der ACL-Richtlinie, für die Sie die ACL-Regeln ersetzen möchten
- REGION: die Region, in der sich die ACL-Richtlinie befindet
Die Regel, die Sie für die Richtlinie ersetzen, gewährt lucian Zugriff auf alle Schlüssel, die dem Muster c*che entsprechen. Beispiel: cache, caache und ceche.
Regel aus einer ACL-Richtlinie entfernen
Wenn eine ACL-Regel nicht mehr für eine ACL-Richtlinie gilt, können Sie sie entfernen.
gcloud
Verwenden Sie zum Entfernen einer Regel aus einer ACL-Richtlinie den Befehl gcloud redis acl-policies update.
gcloud redis acl-policies update ACL_POLICY_NAME \ --region=REGION \ --remove-rules=rule="on ~set",username="lucian"
Ersetzen Sie die folgenden Werte:
- ACL_POLICY_NAME: Der Name der ACL-Richtlinie, aus der Sie eine ACL-Regel entfernen möchten.
- REGION: die Region, in der sich die ACL-Richtlinie befindet
Wenn Sie diese Regel entfernen, werden die zugehörigen Berechtigungen für lucian widerrufen. Um auf den Cluster zuzugreifen, muss lucian jetzt als Nutzer default eine Verbindung herstellen. Die Berechtigungen dieses Nutzers gelten.
ACL-Richtlinie aus einem Cluster entfernen
Wenn eine ACL-Richtlinie nicht mehr für einen Cluster in Memorystore for Redis Cluster gilt, können Sie sie entfernen. Sie können eine Richtlinie mit der gcloud CLI entfernen.
gcloud
Verwenden Sie den Befehl gcloud redis clusters update, um eine ACL-Richtlinie aus einem Cluster zu entfernen.
gcloud redis clusters update CLUSTER_ID \ --acl-policy="" \ --region=REGION
Ersetzen Sie die folgenden Werte:
- CLUSTER_ID: die ID des Clusters, aus dem Sie die ACL-Richtlinie entfernen
- REGION: die Region, in der sich der Cluster befindet
Der Wert "" für den Parameter acl-policy ist ein leerer String. Das bedeutet, dass Sie die ACL-Richtlinie aus dem Cluster entfernen möchten.
ACL-Richtlinie löschen
Wenn Sie eine ACL-Richtlinie nicht mehr benötigen, können Sie sie löschen. Sie können eine Richtlinie mit der gcloud CLI löschen.
gcloud
Verwenden Sie zum Löschen einer ACL-Richtlinie den Befehl gcloud redis acl-policies delete.
gcloud redis acl-policies delete ACL_POLICY_NAME \ --region=REGION
Ersetzen Sie die folgenden Werte:
- ACL_POLICY_NAME: Name der ACL-Richtlinie, die Sie löschen möchten
- REGION: die Region, in der sich die ACL-Richtlinie befindet
Lua-Scripts deaktivieren
Mit ACL-Richtlinien können Sie die Lua-Scripting-Funktionen für Ihre Cluster verwalten. Das Deaktivieren oder Einschränken von Lua-Scripts kann nützlich sein, um die Leistung zu optimieren, die Funktionalität Ihrer Cluster zu vereinfachen oder die Sicherheitsrichtlinien Ihrer Organisation einzuhalten.
Scripting-Befehle für Nutzer deaktivieren
Wenn Sie Lua-Scripts deaktivieren möchten, damit Nutzer sie nicht ausführen können, müssen Sie ACL-Richtlinien verwenden und die Berechtigungen für die Scripting-Befehle aus dem ACL-Regelstring des Nutzers entfernen.
Redis kategorisiert Befehle in Gruppen. Lua-Scripting fällt unter die Kategorie @scripting. Die primären Befehle, für die Sie Nutzerberechtigungen entfernen müssen, sind:
EVAL: Ein Lua-Skript ausführen, das als String bereitgestellt wirdEVALSHA: Führt ein Lua-Skript aus, das mit dem BefehlSCRIPT LOADim Cache gespeichert wurde.SCRIPT: Verwalten des Skript-Cache (z. B.LOAD,FLUSH,EXISTSundKILL)Der Befehl
SCRIPTumfasst die folgenden Unterbefehle:
Sie können entweder alle Scripting-Befehle oder einen bestimmten Befehl für Nutzer deaktivieren.
Wenn Sie Scripting-Befehle deaktivieren möchten, verwenden Sie die gcloud CLI und stellen Sie dem Befehl oder der Kategorie ein Minuszeichen (-) voran.
Alle Scripting-Befehle für einen Nutzer deaktivieren
Wenn Sie alle Scripting-Befehle für einen Nutzer deaktivieren möchten, erstellen Sie entweder eine ACL-Richtlinie und weisen Sie sie einem Cluster zu oder ändern Sie eine ACL-Richtlinie, die einem Cluster zugewiesen ist.
Richtlinie erstellen
Wenn Sie eine ACL-Richtlinie erstellen möchten, um alle Scripting-Befehle für einen Nutzer mit dem Namen lucian zu deaktivieren, verwenden Sie den Befehl gcloud redis acl-policies create.
gcloud redis acl-policies create POLICY_NAME \ --region=REGION \ --rules=rule="on ~* +@all -@scripting",username=lucian
Ersetzen Sie die folgenden Werte:
- POLICY_NAME: der Name der ACL-Richtlinie
- REGION: die Region, in der sich die ACL-Richtlinie befinden soll
Nachdem Sie die Richtlinie erstellt haben, müssen Sie sie einem neuen oder vorhandenen Cluster zuweisen.
Richtlinie ändern
Wenn Sie eine ACL-Richtlinie ändern möchten, um alle Scripting-Befehle für lucian zu deaktivieren, verwenden Sie den Befehl gcloud redis acl-policies update.
gcloud redis acl-policies update POLICY_NAME \ --region=REGION \ --rules=rule="on ~* +@all -@scripting",username=lucian
Ersetzen Sie die folgenden Werte:
- POLICY_NAME: der Name der ACL-Richtlinie
- REGION: die Region, in der sich die ACL-Richtlinie befindet
Wenn Sie nur bestimmte Berechtigungen gewähren möchten, die ein Nutzer benötigt, ändern Sie den Wert +@all. Wenn der Nutzer beispielsweise nur Zugriff auf schreibgeschützte Befehle haben soll, ändern Sie +@all in +@read. Weitere Informationen zu den Nutzerberechtigungen, die Sie festlegen können, finden Sie in der Redis-ACL-Dokumentation.
Scripting-Befehl für einen Nutzer deaktivieren
Sie können bestimmte Befehle auswählen, die für einen Nutzer deaktiviert werden sollen. Sie können dem Nutzer beispielsweise erlauben, alle Scripting-Befehle mit Ausnahme des Befehls SCRIPT FLUSH auszuführen. Wenn Sie einen Scripting-Befehl für einen Nutzer deaktivieren möchten, erstellen Sie entweder eine ACL-Richtlinie und weisen Sie sie einem Cluster zu oder ändern Sie eine ACL-Richtlinie, die einem Cluster zugewiesen ist.
Sie können jeden Scripting-Befehl deaktivieren. In den Beispielen in diesem Abschnitt deaktivieren Sie den Befehl SCRIPT FLUSH für den Nutzer. Eine Liste der Scripting-Befehle finden Sie unter Scripting-Befehle für Nutzer deaktivieren.
Richtlinie erstellen
Verwenden Sie den Befehl gcloud redis acl-policies create, um eine ACL-Richtlinie zu erstellen, mit der der Scripting-Befehl SCRIPT FLUSH für lucian deaktiviert wird.
gcloud redis acl-policies create POLICY_NAME \ --region=REGION \ --rules=rule="on ~* -script|flush",username=lucian
Ersetzen Sie die folgenden Werte:
- POLICY_NAME: der Name der ACL-Richtlinie
- REGION: die Region, in der sich die ACL-Richtlinie befinden soll
Nachdem Sie die Richtlinie erstellt haben, müssen Sie sie einem neuen oder vorhandenen Cluster zuweisen.
Richtlinie ändern
Wenn Sie eine ACL-Richtlinie ändern möchten, um alle Scripting-Befehle für lucian zu deaktivieren, verwenden Sie den Befehl gcloud redis acl-policies update.
gcloud redis acl-policies update POLICY_NAME \ --region=REGION \ --rules=rule="on ~* -script|flush",username=lucian
Ersetzen Sie die folgenden Werte:
- POLICY_NAME: der Name der ACL-Richtlinie
- REGION: die Region, in der sich die ACL-Richtlinie befindet
Wenn Sie nur bestimmte Berechtigungen gewähren möchten, die ein Nutzer benötigt, ändern Sie den Wert +@all. Wenn der Nutzer beispielsweise nur Zugriff auf schreibgeschützte Befehle haben soll, ändern Sie +@all in +@read. Weitere Informationen zu den Nutzerberechtigungen, die Sie festlegen können, finden Sie in der Redis-ACL-Dokumentation.
Standardnutzerkonto sichern
Wenn Sie die Scripting-Berechtigungen für den default-Superuser deaktivieren möchten, erstellen Sie entweder eine ACL-Richtlinie und weisen Sie sie einem Cluster zu oder ändern Sie eine ACL-Richtlinie, die einem Cluster zugewiesen ist.
Richtlinie erstellen
Verwenden Sie den Befehl gcloud redis acl-policies create, um eine ACL-Richtlinie zu erstellen, mit der alle Scripting-Befehle für den Nutzer default deaktiviert werden.
gcloud redis acl-policies create POLICY_NAME \ --region=REGION \ --rules=rule="on ~* +@all -@scripting",username=default
Ersetzen Sie die folgenden Werte:
- POLICY_NAME: der Name der ACL-Richtlinie
- REGION: die Region, in der sich die ACL-Richtlinie befinden soll
Nachdem Sie die Richtlinie erstellt haben, müssen Sie sie einem neuen oder vorhandenen Cluster zuweisen.
Richtlinie ändern
Wenn Sie eine ACL-Richtlinie ändern möchten, um alle Scripting-Befehle für den Nutzer default zu deaktivieren, verwenden Sie den Befehl gcloud redis acl-policies update.
gcloud redis acl-policies update POLICY_NAME \ --region=REGION \ --rules=rule="on ~* +@all -@scripting",username=default
Ersetzen Sie die folgenden Werte:
- POLICY_NAME: der Name der ACL-Richtlinie
- REGION: die Region, in der sich die ACL-Richtlinie befindet
Wenn Sie nur bestimmte Berechtigungen gewähren möchten, die der default-Nutzer benötigt, ändern Sie den +@all-Wert. Wenn dieser Nutzer beispielsweise nur Zugriff auf schreibgeschützte Befehle haben soll, ändern Sie +@all in +@read. Weitere Informationen zu den Nutzerberechtigungen, die Sie festlegen können, finden Sie in der Redis-ACL-Dokumentation.
Fehlerbehebung
In diesem Abschnitt werden Fehlermeldungen aufgeführt, die Sie bei der Verwendung von ACL-Richtlinien erhalten können. Außerdem werden die Gründe für diese Meldungen und Tipps zur Fehlerbehebung beschrieben.
| Fehlermeldung | Ursache | Fehlerbehebung |
|---|---|---|
username cannot be empty |
Sie haben in einer ACL-Richtlinie einen leeren String oder einen String mit nur Leerzeichen für einen Nutzernamen festgelegt. | Verwenden Sie einen Nutzernamen mit alphanumerischen Zeichen oder Sonderzeichen. Erstellen Sie dann die ACL-Richtlinie noch einmal. |
duplicate username found in ACL policy |
Sie haben doppelte Nutzernamen in einer ACL-Richtlinie. | Suchen Sie in den Fehlerlogs nach dem doppelten Nutzernamen. Ändern Sie die Anfrage zum Erstellen der ACL-Richtlinie so, dass genau eine Regel für den Nutzernamen angegeben wird. Erstellen Sie dann die ACL-Richtlinie noch einmal. |
ACL rule token cannot contain token. use either
IAM or Basic Auth features to enable authentication
|
Sie können in einer ACL-Richtlinie keine Passwortzeichen (z. B. <, >, # und !) oder zugehörige Befehle (z. B. nopass, resetpass und reset) verwenden. |
Entfernen Sie alle Passwortzeichen und zugehörigen Befehle aus den Regeln der ACL-Richtlinie. Erstellen Sie dann die ACL-Richtlinie noch einmal. Um die Authentifizierung einzurichten, aktivieren Sie die Standardauthentifizierung oder die IAM-basierte Authentifizierung. |
passwords not allowed in ACL rules (token starts with
char). use either IAM or Basic Auth features to
enable authentication |
Sie können in einer ACL-Richtlinie keine Passwortzeichen (z. B. <, >, # und !) oder zugehörige Befehle (z. B. nopass, resetpass und reset) verwenden. |
Entfernen Sie alle Passwortzeichen und zugehörigen Befehle aus den Regeln der ACL-Richtlinie. Erstellen Sie dann die ACL-Richtlinie noch einmal. Um die Authentifizierung einzurichten, aktivieren Sie die Standardauthentifizierung oder die IAM-basierte Authentifizierung. |
invalid ACL rule syntax |
Sie haben einen Zugriffsstring in einer oder mehreren Regeln der ACL-Richtlinie nicht korrekt formatiert. | Formatieren Sie den Zugriffsstring richtig. |
ACL policy is in DELETING state and cannot be used |
Sie versuchen, einem Cluster eine ACL-Richtlinie zuzuweisen, die den Status DELETING hat. |
Weisen Sie dem Cluster eine andere ACL-Richtlinie zu. |
ACL_POLICY_IN_USE: ACL policy is in use by 1 or more clusters
|
Sie versuchen, eine ACL-Richtlinie zu löschen, die mindestens einem Cluster zugewiesen ist. | Bevor Sie eine ACL-Richtlinie löschen können, müssen Sie sie aus allen Clustern entfernen, denen sie zugewiesen ist. Informationen dazu, welche Cluster einer Richtlinie zugewiesen sind, finden Sie unter Informationen zu ACL-Richtlinien ansehen. |
fast-failing the workflow as the resource is in DELETING
state |
Sie versuchen, eine ACL-Richtlinie mit dem Status DELETING zu ändern. |
Wenn eine ACL-Richtlinie den Status DELETING hat, können Sie sie nicht ändern. |