Zugriff auf Ihre Cluster mit ACL-Richtlinien sichern

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, FLUSHDB oder CONFIG auf 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 GET oder andere Befehle mit Lesezugriff (z. B. SCAN oder TYPE) 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:

  1. 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
  2. Die Abrechnung für Ihr Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist.
  3. 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 update ausführen. Sie benötigen mindestens die gcloud CLI-Version 440.0.0, um auf die gcloud CLI-Befehle für Memorystore for Redis-Cluster zuzugreifen.

  4. Aktivieren Sie die Memorystore for Redis API.
    Memorystore for Redis
  5. Aktivieren Sie die Network Connectivity API.
    Network Connectivity API
  6. 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

  1. Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis-Cluster auf.

    Memorystore for Redis Cluster

  2. Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.

  3. Klicken Sie auf der Seite ACL-Richtlinien auf Richtlinie erstellen.

  4. Führen Sie im Fenster Richtlinie erstellen die folgenden Schritte aus:

    1. 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.

    2. Wählen Sie im Menü Region die Region aus, in der Memorystore for Redis Cluster die ACL-Richtlinie erstellen soll.

    3. Klicken Sie auf Regel hinzufügen.

    4. Geben Sie im Feld Nutzer-ID den Namen des Nutzers ein, auf den die ACL-Richtlinie angewendet werden soll.

    5. 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 default Lese- 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
      default on ~* &* +@all

      Mit dieser Regel werden dem Nutzer default die 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.

    6. Wiederholen Sie die Schritte c bis e für weitere ACL-Regeln, die Sie für die Richtlinie erstellen möchten.

    7. 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 lucian die Berechtigung ~* +@all. Mit dieser Berechtigung kann der Nutzer auf alle Schlüssel zugreifen und alle Befehle ausführen.
  • Die zweite Regel gewährt taylor die Berechtigung get. 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

  1. Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis-Cluster auf.

    Memorystore for Redis Cluster

  2. Klicken Sie auf die ID des Clusters, dem Sie eine ACL-Richtlinie zuweisen möchten.

  3. Scrollen Sie auf der Seite Cluster auf einen Blick zur Karte Sicherheit.

  4. Klicken Sie neben dem Feld ACL-Richtlinie auf Bearbeiten ().

  5. Führen Sie im Fenster ACL-Richtlinie bearbeiten die folgenden Schritte aus:

    1. Wählen Sie im Menü Richtlinie die Richtlinie aus, die Sie dem Cluster zuweisen möchten.

    2. 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

  1. Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis-Cluster auf.

    Memorystore for Redis Cluster

  2. 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

  1. Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis Cluster auf.

    Memorystore for Redis Cluster

  2. Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.

  3. 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

  1. Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis Cluster auf.

    Memorystore for Redis Cluster

  2. Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.

  3. Klicken Sie auf der Seite ACL-Richtlinien auf die ID der ACL-Richtlinie, deren Version Sie ansehen möchten.

  4. 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

  1. Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis Cluster auf.

    Memorystore for Redis Cluster

  2. Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.

  3. Klicken Sie neben der ACL-Richtlinie, der Sie eine Regel hinzufügen möchten, auf Weitere Aktionen () und wählen Sie Bearbeiten aus.

  4. Klicken Sie im Fenster Richtlinie bearbeiten auf Regel hinzufügen.

  5. Geben Sie im Feld Nutzer-ID den Namen des Nutzers ein, auf den die ACL-Richtlinie angewendet werden soll.

  6. 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.

  7. Wiederholen Sie die Schritte 4 bis 6 für weitere ACL-Regeln, die Sie der Richtlinie hinzufügen möchten.

  8. 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

  1. Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis Cluster auf.

    Memorystore for Redis Cluster

  2. Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.

  3. Klicken Sie neben der ACL-Richtlinie, für die Sie eine Regel ändern möchten, auf Weitere Aktionen () und wählen Sie dann Bearbeiten aus.

  4. Klicken Sie im Fenster Richtlinie bearbeiten auf Regel hinzufügen.

  5. Ä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.

  6. Wiederholen Sie die Schritte 4 und 5 für weitere ACL-Regeln, die Sie für die Richtlinie ändern möchten.

  7. 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

  1. Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis Cluster auf.

    Memorystore for Redis Cluster

  2. Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.

  3. Klicken Sie neben der ACL-Richtlinie, aus der Sie eine Regel entfernen möchten, auf das Dreipunkt-Menü () und wählen Sie Bearbeiten aus.

  4. Klicken Sie im Fenster Richtlinie bearbeiten neben einer Regel, die Sie aus der Richtlinie entfernen möchten, auf Regel löschen ().

  5. Wiederholen Sie Schritt 4 für weitere ACL-Regeln, die Sie aus der Richtlinie entfernen möchten.

  6. 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

  1. Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis Cluster auf.

    Memorystore for Redis Cluster

  2. Klicken Sie auf die ID des Clusters, aus dem Sie eine ACL-Richtlinie entfernen möchten.

  3. Scrollen Sie auf der Seite Cluster auf einen Blick zur Karte Sicherheit.

  4. Klicken Sie neben dem Feld ACL-Richtlinie auf Bearbeiten ().

  5. Führen Sie im Fenster ACL-Richtlinie bearbeiten die folgenden Schritte aus:

    1. Wähle im Menü Richtlinie die Option Keine Richtlinie aus.

    2. 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

  1. Rufen Sie in der Google Cloud Console die Seite Memorystore for Redis-Cluster auf.

    Memorystore for Redis Cluster

  2. Klicken Sie im seitlichen Navigationsbereich auf ACL-Richtlinien.

  3. Klicken Sie neben der ACL-Richtlinie, die Sie löschen möchten, auf Weitere Aktionen () 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.

  4. Führen Sie im Fenster Richtlinie löschen die folgenden Schritte aus:

    1. Geben Sie im Textfeld den Namen der Richtlinie ein.

    2. 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:

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.