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 Beispielanwendungsfälle für die Verwendung von ACL-Richtlinien zum Sichern des Zugriffs auf Cluster:
- Rollenbasierte Zugriffssteuerung (RBAC) bereitstellen: Erstellen Sie separate Nutzerprofile für verschiedene Komponenten Ihrer Anwendungen. Ein Web-Frontend kann beispielsweise Lesezugriff haben, während ein Hintergrund-Worker-Dienst Lese- und Schreibzugriff hat. So werden versehentliche Datenlecks oder Manipulationen verhindert.
- Destruktive Befehle verhindern: Beschränken Sie gefährliche Befehle wie
FLUSHALL,FLUSHDBoderCONFIGauf Administratoren mit hohen Berechtigungen. So wird die Datenintegrität vor Softwarefehlern oder manuellen Fehlern geschützt. Anwendungssicherheit für Mehrmandantenanwendungen 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 Befehle mit Lesezugriff (z. B.SCANoderTYPE) für Analyse-Engines oder Dashboard-Anwendungen verwenden kann. So werden versehentliche Schreibvorgänge oder Datenlöschungen verhindert.Datenbankschlüssel sichern: Beschränken Sie Anwendungen so, dass sie nur mit Schlüsseln interagieren, die bestimmten Mustern entsprechen (z. B.
app1:*). Dadurch werden Daten innerhalb eines Clusters logisch getrennt.Lua-Skripts deaktivieren: Verwenden Sie ACL-Richtlinien, um Lua-Skriptfunktionen für Ihre Cluster zu 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.
Hinweis
Bevor Sie ACL-Richtlinien verwenden können, 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 zuvor installiert haben, prüfen Sie, ob Sie die aktuelle Version haben, indem Sie
gcloud components updateausführen. 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 aufrufen möchten, verwenden Sie die Rolle Redis Viewer (roles/redis.viewer).
Berechtigungen für Memorystore for Redis Cluster zuweisen
Zusätzlich zu den Rollen „Redis Admin“, „Redis Editor“ und „Redis Viewer“ 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 erhöhen Sie die Sicherheit Ihrer Cluster, indem Sie den Nutzerzugriff auf bestimmte Schlüssel, Befehle und Pub/Sub-Kanäle einschränken.
Sie können eine ACL-Richtlinie entweder mit der Google Cloud Console oder der gcloud CLI erstellen.
Console
Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis-Cluster auf.
Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.
Klicken Sie auf der Seite ACL-Richtlinien auf Richtlinie erstellen.
Führen Sie im Fenster Richtlinie erstellen die folgenden Schritte aus:
Geben Sie im Feld Richtlinienname einen Namen für die ACL-Richtlinie ein. Der Richtlinienname darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Sie muss außerdem mit einem Buchstaben beginnen und in ihrer Region eindeutig sein.
Wählen Sie im Menü Region die Region aus, in der Memorystore for Redis Cluster die ACL-Richtlinie erstellen soll.
Klicken Sie auf Regel hinzufügen.
Geben Sie im Feld Nutzer-ID den Namen des Nutzers ein, auf den die ACL-Richtlinie angewendet werden soll.
Geben Sie im Feld Zugriffsstring den Zugriffsstring für die Richtlinie ein. Der Zugriffsstring ist eine menschenlesbare Regel, die die spezifischen Berechtigungen für den Nutzer definiert.
Wenn Sie beispielsweise dem Superuser
defaultLese- und Schreibberechtigungen für alle ACL-Schlüssel für den Cluster gewähren möchten, füllen Sie die Felder Nutzer-ID und Zugriffsstring so aus:Nutzer-ID Zugriffsstring defaulton ~* &* +@allMit dieser Regel werden dem Nutzer
defaultdie folgenden Berechtigungen gewährt:on: Der Nutzer ist aktiv und für die Authentifizierung aktiviert.~*: Der Nutzer hat Lese- und Schreibzugriff auf alle möglichen Schlüssel.&*: Der Nutzer hat Zugriff auf alle Pub/Sub-Channels.+@all: Der Nutzer kann alle verfügbaren Befehle ausführen.
Weitere Informationen zu anderen ACL-Regeln und -Richtlinien, die Sie erstellen können, finden Sie in der Redis-Dokumentation unter ACL.
Wiederholen Sie die Schritte c bis e für weitere ACL-Regeln, die Sie für die Richtlinie erstellen möchten.
Klicken Sie auf 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. Sie muss außerdem mit einem Buchstaben beginnen und in ihrer Region eindeutig sein.
- REGION: Die Region, in der sich die ACL-Richtlinie befinden soll.
Diese Richtlinie verwendet eine einfache tokenbasierte Authentifizierung und enthält Regeln, die die folgenden Aktionen ausführen:
- 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 mit Schlüsseln verknüpften Werte abrufen. Der Zugriff des Nutzers wird auf schreibgeschützte Datenvorgänge beschränkt und der Nutzer kann keine Schlüssel ändern.
Wenn Sie Regeln für eine ACL-Richtlinie erstellen, die die IAM-Authentifizierung (Identity and Access Management) verwendet, empfehlen wir, IAM-Hauptkonten 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, die keine Authentifizierung verwendet, 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 wird der Nutzerzugriff auf bestimmte Schlüssel, Befehle und Pub/Sub-Kanäle beschränkt.
Sie können einem Cluster eine ACL-Richtlinie entweder über dieGoogle Cloud Console oder die gcloud CLI zuweisen.
Richtlinie einem neuen Cluster zuweisen
Informationen zum Erstellen eines Clusters und zum 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.
Console
Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis-Cluster auf.
Klicken Sie auf die ID des Clusters, dem Sie eine ACL-Richtlinie zuweisen möchten.
Scrollen Sie auf der Seite Cluster auf einen Blick zur Karte Sicherheit.
Klicken Sie neben dem Feld ACL-Richtlinie auf Bearbeiten (edit).
Führen Sie im Fenster ACL-Richtlinie bearbeiten die folgenden Schritte aus:
Wählen Sie im Menü Richtlinie die Richtlinie aus, die Sie dem Cluster zuweisen möchten.
Klicken Sie auf Cluster aktualisieren.
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 sich Informationen zu ACL-Richtlinien in Memorystore for Redis Cluster ansehen, 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-Kanäle zugreifen können.
Informationen zu ACL-Richtlinien können Sie entweder über dieGoogle Cloud Console oder die gcloud CLI aufrufen.
Console
Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis-Cluster auf.
Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.
Auf der Seite ACL-Richtlinien können Sie die folgenden Informationen zu jeder ACL-Richtlinie aufrufen:
- Richtlinien-ID: die eindeutige ID der Richtlinie
- Standort: die Region, in der sich die Richtlinie befindet
- Erstellt am: Datum und Uhrzeit der Erstellung der Richtlinie
- Aktualisiert am: Datum und Uhrzeit der letzten Aktualisierung der Richtlinie.
- Anzahl der Regeln: die Gesamtzahl der Regeln für die Richtlinie
- Wird von Clustern verwendet: Die Cluster, die der Richtlinie zugewiesen sind
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 zu prüfen, ob Ihre Anwendungen den entsprechenden Zugriff haben, und um zu großzügige 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 (Überarbeitung) für die Richtlinie. Jedes Mal, wenn Sie die Richtlinie ändern, erstellt Memorystore for Redis Cluster eine nachfolgende Richtlinienrevision.
Da diese Überarbeitungen automatisch von Memorystore for Redis Cluster generiert werden, können Sie sie für interne Tracking- und Prüfungszwecke verwenden. Außerdem können Sie sich die Versionen ansehen, um den genauen Inhalt der ACL-Richtlinie für jede frühere Version aufzurufen.
Mithilfe von ACL-Richtlinienversionen können Sie nachverfolgen, welche Cluster welche Version einer Richtlinie verwenden. So behalten Sie den Überblick und können dafür sorgen, dass Cluster nach einer Richtlinienaktualisierung während der Zeiträume der Eventual Consistency die richtige Version haben.
Informationen zu ACL-Richtlinienversionen können Sie entweder über dieGoogle Cloud Console oder die gcloud CLI aufrufen.
Console
Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis Cluster auf.
Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.
Klicken Sie auf der Seite ACL-Richtlinien auf die ID der ACL-Richtlinie, für die Sie Überarbeitungen ansehen möchten. Auf der Seite ACL-Richtlinienversionen werden die folgenden Informationen angezeigt:
- Versions-ID: Die ID jeder ACL-Richtlinienversion.
- Überarbeitungsnummer: Die Nummer jeder ACL-Richtlinienversion.
- Standort: die Region, in der sich die einzelnen ACL-Richtlinienversionen befinden
- Erstellt am: Das Datum und die Uhrzeit, zu der die einzelnen ACL-Richtlinienversionen erstellt wurden
- Angehängte Cluster: Die Cluster, die jeder ACL-Richtlinienversion zugewiesen sind.
- Snapshot: Detaillierte Informationen zu jeder ACL-Richtlinienversion
gcloud
Verwenden Sie den Befehl gcloud redis acl-policies revisions list, um Informationen zu ACL-Richtlinienversionen aufzurufen.
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 die Überarbeitungen enthält, zu denen Sie Informationen aufrufen möchten
- REGION: die Region, in der sich die ACL-Richtlinie befindet
Notieren Sie sich die Überarbeitungs-IDs in der Ausgabe. Sie benötigen diese IDs, um Informationen zu bestimmten ACL-Richtlinienversionen aufzurufen.
Informationen zu einer ACL-Richtlinienversion ansehen
Wenn Sie eine ACL-Richtlinienversion aufrufen, können Sie die zugehörigen Regeln, Metadaten und eine Liste aller angehängten Cluster sehen. Sie können Informationen zu einer ACL-Richtlinienrevision entweder über die Google Cloud Console oder die gcloud CLI aufrufen.
Console
Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis Cluster auf.
Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.
Klicken Sie auf der Seite ACL-Richtlinien auf die ID der ACL-Richtlinie, deren Version Sie ansehen möchten.
Klicken Sie auf der Seite ACL-Richtlinienversionen neben der ACL-Richtlinienversion, die Informationen enthält, die Sie aufrufen möchten, auf den Link Snapshot.
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 das Ändern einer ACL-Richtlinie in Memorystore for Redis Cluster können Sie die Sicherheit erhöhen, den Zugriff nach dem Prinzip der geringsten Berechtigung erzwingen und die Betriebssicherheit verwalten. Sie können eine Richtlinie entweder mit der Google Cloud Console oder der gcloud CLI ändern.
Regel zu einer ACL-Richtlinie hinzufügen
Um die Sicherheit einer ACL-Richtlinie zu erhöhen, fügen Sie ihr eine Regel hinzu.
Console
Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis Cluster auf.
Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.
Klicken Sie neben der ACL-Richtlinie, der Sie eine Regel hinzufügen möchten, auf Weitere Aktionen (more_vert) und wählen Sie Bearbeiten aus.
Klicken Sie im Fenster Richtlinie bearbeiten auf Regel hinzufügen.
Geben Sie im Feld Nutzer-ID den Namen des Nutzers ein, auf den die ACL-Richtlinie angewendet werden soll.
Geben Sie im Feld Zugriffsstring den Zugriffsstring für die Richtlinie ein. Weitere Informationen zu Zugriffsstrings für ACL-Richtlinien finden Sie unter ACL-Richtlinie erstellen.
Wiederholen Sie die Schritte 4 bis 6 für weitere ACL-Regeln, die Sie der Richtlinie hinzufügen möchten.
Klicken Sie auf Speichern.
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
Mit dieser Regel wird lucian Zugriff auf alle Schlüssel gewährt, die mit list: beginnen.
Regel für eine ACL-Richtlinie ändern
Durch das Ändern einer ACL-Regel für eine ACL-Richtlinie wird die Sicherheit erhöht, die Betriebssicherheit verbessert und eine detailliertere Nutzerzugriffssteuerung ermöglicht. Sie können beispielsweise Berechtigungen während einer Incident Response widerrufen oder temporären Zugriff für die Fehlerbehebung aktivieren.
Console
Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis Cluster auf.
Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.
Klicken Sie neben der ACL-Richtlinie, für die Sie eine Regel ändern möchten, auf Weitere Aktionen (more_vert) und wählen Sie dann Bearbeiten aus.
Klicken Sie im Fenster Richtlinie bearbeiten auf Regel hinzufügen.
Ändern Sie in den Feldern User ID (Nutzer-ID) und Access string (Zugriffsstring) die Nutzer-ID oder den Zugriffsstring für die Richtlinie. Weitere Informationen zu Zugriffsstrings für ACL-Richtlinien finden Sie unter ACL-Richtlinie erstellen.
Wiederholen Sie die Schritte 4 und 5 für weitere ACL-Regeln, die Sie für die Richtlinie ändern möchten.
Klicken Sie auf Speichern.
Regeln einer ACL-Richtlinie ersetzen
Ähnlich wie das Ändern einer Regel für eine Richtlinie bietet das Ersetzen der Regeln einer Richtlinie mehr Sicherheit, eine verbesserte Betriebssicherheit und eine detailliertere Zugriffssteuerung für Nutzer.
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: der 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.
Console
Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis Cluster auf.
Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.
Klicken Sie neben der ACL-Richtlinie, aus der Sie eine Regel entfernen möchten, auf das Dreipunkt-Menü (more_vert) und wählen Sie Bearbeiten aus.
Klicken Sie im Fenster Richtlinie bearbeiten neben einer Regel, die Sie aus der Richtlinie entfernen möchten, auf Regel löschen (delete).
Wiederholen Sie Schritt 4 für weitere ACL-Regeln, die Sie aus der Richtlinie entfernen möchten.
Klicken Sie auf Speichern.
gcloud
Verwenden Sie den Befehl gcloud redis acl-policies update, um eine Regel aus einer ACL-Richtlinie zu entfernen.
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 und unterliegt den Berechtigungen dieses Nutzers.
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 entweder über dieGoogle Cloud Console oder die gcloud CLI entfernen.
Console
Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis Cluster auf.
Klicken Sie auf die ID des Clusters, aus dem Sie eine ACL-Richtlinie entfernen möchten.
Scrollen Sie auf der Seite Cluster auf einen Blick zur Karte Sicherheit.
Klicken Sie neben dem Feld ACL-Richtlinie auf Bearbeiten (edit).
Führen Sie im Fenster ACL-Richtlinie bearbeiten die folgenden Schritte aus:
Wähle im Menü Richtlinie die Option Keine Richtlinie aus.
Klicken Sie auf Cluster aktualisieren.
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 entweder über die Google Cloud Console oder die gcloud CLI löschen.
Console
Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis-Cluster auf.
Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.
Klicken Sie neben der ACL-Richtlinie, die Sie löschen möchten, auf Weitere Aktionen (more_vert) und wählen Sie dann Löschen aus.
Wenn das Menüelement Löschen deaktiviert ist, ist die Richtlinie Clustern zugewiesen. Bevor Sie die Richtlinie löschen können, müssen Sie sie aus jedem Cluster entfernen.
Führen Sie im Fenster Richtlinie löschen die folgenden Schritte aus:
Geben Sie im Textfeld den Namen der Richtlinie ein.
Klicken Sie auf 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: der Name der ACL-Richtlinie, die Sie löschen möchten
- REGION: die Region, in der sich die ACL-Richtlinie befindet
Lua-Skripts deaktivieren
Mit ACL-Richtlinien können Sie die Lua-Scripting-Funktionen für Ihre Cluster verwalten. Das Deaktivieren oder Einschränken von Lua-Skripts kann für die Leistungsoptimierung, die Vereinfachung der Funktionalität Ihrer Cluster oder die Einhaltung von Sicherheitsrichtlinien für Ihre Organisation nützlich sein.
Scripting-Befehle für Nutzer deaktivieren
Wenn Sie Lua-Skripts deaktivieren möchten, damit Nutzer sie nicht ausführen können, müssen Sie ACL-Richtlinien verwenden und die Berechtigungen für die Skriptbefehle 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-Script ausführen, das als String bereitgestellt wirdEVALSHA: Führt ein Lua-Skript aus, das mit dem BefehlSCRIPT LOADim Cache gespeichert wurde.SCRIPT: Skript-Cache verwalten (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 Skriptbefehle 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 Skriptbefehle 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 Nutzernamen 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
Verwenden Sie den Befehl gcloud redis acl-policies update, um eine ACL-Richtlinie so zu ändern, dass alle Skriptbefehle für lucian deaktiviert werden.
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 Lesezugriff auf 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 für einen Nutzer deaktivieren. Sie können dem Nutzer beispielsweise erlauben, alle Scripting-Befehle außer dem Befehl SCRIPT FLUSH auszuführen. Wenn Sie einen Skriptbefehl 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 Skriptbefehle finden Sie unter Skriptbefehle 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 +@all-Wert. Wenn der Nutzer beispielsweise nur Lesezugriff auf 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.
Standardnutzer schützen
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 Skriptbefehle 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 Sie beispielsweise möchten, dass dieser Nutzer nur Lesezugriff auf Befehle hat, ä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 bei der Verwendung von ACL-Richtlinien auftreten können, sowie die Gründe für diese Meldungen und Tipps zur Fehlerbehebung.
| 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 die ACL-Richtlinie dann noch einmal. |
duplicate username found in ACL policy |
In einer ACL-Richtlinie sind doppelte Nutzernamen vorhanden. | Suchen Sie in den Fehlerlogs nach dem doppelten Nutzernamen. Ändern Sie die Anfrage zur Erstellung 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 Basisauthentifizierung 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. Aktivieren Sie die Basisauthentifizierung oder die IAM-basierte Authentifizierung, um die Authentifizierung einzurichten. |
invalid ACL rule syntax |
Sie haben einen Zugriffsstring in mindestens einer der Regeln der ACL-Richtlinie nicht richtig formatiert. | Formatieren Sie den Zugriffsstring richtig. |
ACL policy is in DELETING state and cannot be used |
Sie versuchen, einem Cluster eine ACL-Richtlinie zuzuweisen, aber die Richtlinie hat den Status DELETING. |
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, denen sie zugewiesen ist, entfernen. 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 die Richtlinie nicht ändern. |