Zugriff auf Ihre Cluster mit einfacher tokenbasierter Authentifizierung sichern

Zusätzlich zur Identity and Access Management-Authentifizierung (IAM), können Sie die einfache tokenbasierte Authentifizierung verwenden, um den Zugriff auf Ihre Cluster zu schützen in Memorystore for Redis Cluster. Mit der einfachen tokenbasierten Authentifizierung können Clients ihre Identitäten in Ihren Anwendungen mithilfe ihrer Tokens überprüfen.

Die einfache tokenbasierte Authentifizierung hat minimale Ressourcenanforderungen und einen geringen Ressourcen-Overhead. Wenn Ihre aktuellen Arbeitslasten in Memorystore for Redis oder Ihren lokalen Anwendungen bereits die einfache tokenbasierte Authentifizierung verwenden, erleichtert diese Funktion außerdem den Übergang bei der Migration zu Memorystore for Redis Cluster.

Vorteile

Die Verwendung der einfachen tokenbasierten Authentifizierung bietet folgende Vorteile:

  • Flexibilität: Sie können die Authentifizierung jederzeit für neue und vorhandene Cluster aktivieren. Wenn Sie die einfache tokenbasierte Authentifizierung aktivieren, sind Ihre Cluster sicher. Für alle neuen Verbindungen müssen Nutzer ein Token angeben, um sich in Ihren Clustern zu authentifizieren.
  • Rotation ohne Ausfallzeiten: Sie können Nutzertokens rotieren, ohne dass es zu Ausfallzeiten für Ihre Anwendungen kommt.
  • Kompatibilität: Der default Superuser behält dieselben Berechtigungen, die diesem Nutzer gewährt wurden. Die einfache tokenbasierte Authentifizierung bietet zusätzlichen Schutz. So wird die Abwärtskompatibilität sichergestellt, wenn Sie Ihre Arbeitslasten von Memorystore for Redis zu Memorystore for Redis Cluster migrieren.

Authentifizierungsmodi

Die einfache tokenbasierte Authentifizierung unterstützt zwei primäre Authentifizierungsmodi:

  • Einfache Authentifizierung: Eine einfache Methode, bei der ein Nutzer ein Authentifizierungstoken sendet, um sich als default Nutzer zu authentifizieren.
  • Multi-User-Authentifizierung: Sie können mehrere Nutzer verwalten, um den Zugriff auf Ihre Cluster zu authentifizieren.

Best Practices

Aus Sicherheitsgründen empfehlen wir die folgenden Best Practices für die einfache tokenbasierte Authentifizierung:

  • Nutzertokens rotieren: Verwenden Sie eine Rotationsrichtlinie für Nutzer tokens.
  • Secret Manager verwenden: Codieren Sie die Anmeldedaten für die einfache tokenbasierte Authentifizierung eines Nutzers nicht fest in Ihrem Anwendungscode. Speichern Sie sie stattdessen in Secret Manager und rufen Sie sie zur Laufzeit ab.

    Secret Manager bietet einen zentralen, verschlüsselten Tresor für Nutzeranmeldedaten, wodurch die Secret-Verwaltung vereinfacht und der Betriebsaufwand für die manuelle Verwaltung von Anmeldedaten reduziert wird. Die Zugriffssteuerung wird mit IAM erzwungen und Audit-Logs werden automatisch generiert. So wird die Compliance sichergestellt und die Offenlegung von Anmeldedaten verhindert.

  • Einfache tokenbasierte Authentifizierung mit Transport Layer Security (TLS) kombinieren: Wenn Sie die einfache tokenbasierte Authentifizierung verwenden, empfehlen wir, die Verschlüsselung bei der Übertragung zu aktivieren. So wird sichergestellt, dass Nutzernamen und Tokens nicht im Klartext über das Netzwerk gesendet werden.

Hinweis

Bevor Sie Ihre Cluster mit der einfachen tokenbasierten Authentifizierung schützen, müssen Sie die Voraussetzungen in diesem Abschnitt erfüllen.

Clientunterstützung für die einfache tokenbasierte Authentifizierung prüfen

Prüfen Sie, ob Ihre Clientanwendungen die einfache tokenbasierte Authentifizierung unterstützen. Dazu muss in den Anwendungen der Befehl AUTH verwendet werden können.

Der default-Nutzer authentifiziert sich bei Ihren Clientanwendungen mit dem folgenden Befehl:

AUTH TOKEN

In diesem Befehl ist TOKEN das Authentifizierungstoken des Standardnutzers.

Alle anderen Nutzer authentifizieren sich mit dem folgenden Befehl:

AUTH USERNAME TOKEN

In diesem Befehl sind USERNAME und TOKEN der Nutzername und das Authentifizierungstoken des Nutzers.

Weitere Informationen zum AUTH Befehl finden Sie in der Redis-Dokumentation unter AUTH.

Google Cloud Console, Google Cloud CLI und APIs verwenden

So verwenden Sie die Google Cloud Console, die gcloud CLI und APIs:

  1. Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein -Projekt aus oder erstellen Sie eines. Google Cloud

    Projektauswahl aufrufen

  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 (gcloud CLI).

    Hinweis:Wenn Sie die gcloud CLI bereits installiert haben, prüfen Sie, ob Sie die aktuelle Version haben, indem Sie gcloud components update ausführen. Für den Zugriff auf die gcloud CLI-Befehle von Memorystore for Redis Cluster benötigen Sie mindestens die gcloud CLI-Version 489.0.0.

  4. Aktivieren Sie die Memorystore for Redis Cluster API.
    Memorystore for Redis Cluster API
  5. Aktivieren Sie die Network Connectivity API.
    Network Connectivity API
  6. Aktivieren Sie die Service Consumer Management API.
    Service Consumer Management API

Rollen zuweisen

Zum Konfigurieren der einfachen tokenbasierten Authentifizierung für Ihre Cluster benötigen Sie eine der folgenden IAM-Rollen in Ihrem Google Cloud Projekt:

  • roles/redis.admin (die Rolle „Redis-Administrator“)
  • roles/owner (die Rolle „Inhaber“)
  • roles/editor (die Rolle „Bearbeiter“)

Einfache tokenbasierte Authentifizierung für Cluster verwalten

Memorystore for Redis Cluster unterstützt die folgenden Aktionen zum Verwalten der einfachen tokenbasierten Authentifizierung für Cluster:

Cluster mit einfacher tokenbasierter Authentifizierung erstellen

Wenn Sie einen Cluster mit einfacher tokenbasierter Authentifizierung erstellen, haben Sie eine einfache und weit verbreitete Methode, um den Zugriff eines Nutzers auf den Cluster einzuschränken.

Sie können den Cluster mit der gcloud CLI erstellen.

Verwenden Sie den gcloud beta redis clusters create Befehl, um einen Cluster zu erstellen, für den die einfache tokenbasierte Authentifizierung aktiviert ist.

gcloud beta redis clusters create CLUSTER_ID \
--region=REGION \
--auth-mode=token-auth

Ersetzen Sie die folgenden Werte:

  • CLUSTER_ID: die ID des Clusters, den Sie erstellen möchten, um die einfache tokenbasierte Authentifizierung zu verwenden
  • REGION: die Region, in der sich der Cluster befinden soll

Einfache tokenbasierte Authentifizierung für einen Cluster aktivieren

Wenn Sie die einfache tokenbasierte Authentifizierung für einen Cluster aktivieren, haben Sie eine einfache und weit verbreitete Methode, um den Zugriff eines Nutzers auf den Cluster einzuschränken.

Der default-Nutzer kann sich nur mit seinem Token beim Cluster authentifizieren. Alle anderen Nutzer authentifizieren sich mit einem Standardnutzernamen und einem Token. Weitere Informationen finden Sie unter Clientunterstützung für die einfache tokenbasierte Authentifizierung prüfen.

Das Aktivieren der einfachen tokenbasierten Authentifizierung kann zu Ausfallzeiten für Anwendungen führen, die versuchen, neue Verbindungen herzustellen, da Memorystore for Redis Cluster authentifizierte Anfragen erfordert. Vorhandene Verbindungen sind davon nicht betroffen. Wenn Sie die einfache tokenbasierte Authentifizierung für nachfolgende Verbindungsversuche zum Cluster verwenden möchten, müssen Sie Ihre Anwendungen aktualisieren. Weitere Informationen finden Sie unter Mit einfacher tokenbasierter Authentifizierung eine Verbindung zu einem Cluster herstellen.

Sie können die einfache tokenbasierte Authentifizierung für einen Cluster mit der gcloud CLI aktivieren.

Verwenden Sie den gcloud beta redis clusters update-Befehl, um die einfache tokenbasierte Authentifizierung zu aktivieren.

gcloud beta redis clusters update CLUSTER_ID \
--region=REGION \
--auth-mode=token-auth

Ersetzen Sie die folgenden Werte:

  • CLUSTER_ID: die ID des Clusters, für den Sie die einfache tokenbasierte Authentifizierung aktivieren möchten
  • REGION: die Region, in der sich der Cluster befindet

Nutzer für die einfache tokenbasierte Authentifizierung für einen Cluster erstellen

Wenn Sie einen Nutzer für die einfache tokenbasierte Authentifizierung für einen Cluster erstellen, konfigurieren Sie den Cluster so, dass die Mehrere Nutzer-Authentifizierung zulässig ist. Nach der ersten Anmeldung des Nutzers dient dieser Authentifizierungsmodus als sichere und widerrufliche Anmeldedaten für neue Verbindungen. Der Nutzer kann das Authentifizierungstoken weiterhin verwenden, bis es gelöscht oder der Nutzer entfernt wird.

Sie können einen Nutzer für die einfache tokenbasierte Authentifizierung mit der gcloud CLI erstellen.

Verwenden Sie den gcloud beta redis clusters create-token-auth-user Befehl, um den Nutzer zu erstellen.

gcloud beta redis clusters create-token-auth-user CLUSTER_ID \
--region=REGION \
--token-auth-user=USERNAME

Ersetzen Sie die folgenden Werte:

  • CLUSTER_ID: die ID des Clusters, für den Sie einen Nutzer für die einfache tokenbasierte Authentifizierung erstellen möchten
  • REGION: die Region, in der sich der Cluster befindet
  • USERNAME: der Nutzername des Nutzers

Nutzer für die einfache tokenbasierte Authentifizierung für einen Cluster auflisten

Sie können eine Liste der Nutzer für die einfache tokenbasierte Authentifizierung für einen Cluster abrufen mit der gcloud CLI.

Verwenden Sie den gcloud beta redis clusters token-auth-users list Befehl, um die Nutzer aufzulisten.

gcloud beta redis clusters token-auth-users list \
--cluster=CLUSTER_ID \
--region=REGION

Ersetzen Sie die folgenden Werte:

  • CLUSTER_ID: die ID des Clusters, für den Sie eine Liste der Nutzer für die einfache tokenbasierte Authentifizierung abrufen möchten
  • REGION: die Region, in der sich der Cluster befindet

Informationen zu einem Nutzer für die einfache tokenbasierte Authentifizierung aufrufen

Sie können Informationen zu einem Nutzer für die einfache tokenbasierte Authentifizierung mit der gcloud CLI aufrufen.

Verwenden Sie den Befehl gcloud beta redis clusters token-auth-users describe, um Informationen zum Nutzer aufzurufen.

gcloud beta redis clusters token-auth-users describe USERNAME \
--cluster=CLUSTER_ID \
--region=REGION

Ersetzen Sie die folgenden Werte:

  • USERNAME: der Nutzername des Nutzers für die einfache tokenbasierte Authentifizierung zu dem Sie Informationen aufrufen möchten
  • CLUSTER_ID: die ID des Clusters, bei dem sich der Nutzer authentifizieren kann
  • REGION: die Region, in der sich der Cluster befindet

Nutzer für die einfache tokenbasierte Authentifizierung aus einem Cluster löschen

Wenn Sie einen Nutzer für die einfache tokenbasierte Authentifizierung aus einem Cluster löschen, widerrufen Sie die Zugriffsrechte des Nutzers auf den Cluster.

Sie können einen Nutzer für die einfache tokenbasierte Authentifizierung mit der gcloud CLI aus einem Cluster löschen.

Verwenden Sie den gcloud beta redis clusters token-auth-users delete Befehl, um den Nutzer zu löschen.

gcloud beta redis clusters token-auth-users delete USERNAME \
--cluster=CLUSTER_ID \
--region=REGION

Ersetzen Sie die folgenden Werte:

  • USERNAME: der Nutzername des Nutzers für die einfache tokenbasierte Authentifizierung
  • CLUSTER_ID: die ID des Clusters, aus dem Sie den Nutzer löschen möchten
  • REGION: die Region, in der sich der Cluster befindet

Für den Nutzer, den Sie löschen, beendet Memorystore for Redis Cluster keine vorhandenen Verbindungen. Führen Sie den folgenden Befehl auf allen Knoten im Cluster aus, um diese Verbindungen zu beenden:

CLIENT KILL USER USERNAME

Einfache tokenbasierte Authentifizierung für Nutzer verwalten

Memorystore for Redis Cluster unterstützt die folgenden Aktionen zum Verwalten der einfachen tokenbasierten Authentifizierung für Nutzer:

Authentifizierungstoken für einen Nutzer erstellen

Wenn Sie ein Authentifizierungstoken für einen Nutzer erstellen, können Sie das vorhandene Token des Nutzers rotieren , ohne dass es zu Ausfallzeiten für Ihre Anwendungen kommt.

Sie können ein Authentifizierungstoken für einen Nutzer mit der gcloud CLI erstellen.

Verwenden Sie den gcloud beta redis clusters token-auth-users create-auth-token Befehl, um den Nutzer zu erstellen.

gcloud beta redis clusters token-auth-users create-auth-token USERNAME \
--cluster=CLUSTER_ID \
--region=REGION

Ersetzen Sie die folgenden Werte:

  • USERNAME: der Nutzername des Nutzers, für den Sie ein Authentifizierungstoken erstellen möchten
  • CLUSTER_ID: die ID des Clusters, auf den der Nutzer mit dem Token zugreifen kann
  • REGION: die Region, in der sich der Cluster befindet

Authentifizierungstokens für einen Nutzer auflisten

Sie können eine Liste der Authentifizierungstokens für einen Nutzer mit der gcloud CLI abrufen.

Verwenden Sie den gcloud beta redis clusters token-auth-users auth-tokens list Befehl, um die Tokens aufzulisten.

gcloud beta redis clusters token-auth-users auth-tokens list \
--token-auth-user=USERNAME \
--cluster=CLUSTER_ID \
--region=REGION

Ersetzen Sie die folgenden Werte:

  • USERNAME: der Nutzername des Nutzers, zu dem die Authentifizierungstokens gehören
  • CLUSTER_ID: die ID des Clusters, auf den der Nutzer mit den Authentifizierungstokens zugreifen kann
  • REGION: die Region, in der sich der Cluster befindet

Informationen zu einem Authentifizierungstoken für einen Nutzer aufrufen

Sie können Informationen zu einem Authentifizierungstoken für einen Nutzer mit der gcloud CLI aufrufen.

Verwenden Sie den gcloud beta redis clusters token-auth-users auth-tokens describe Befehl, um die Informationen aufzurufen.

gcloud beta redis clusters token-auth-users auth-tokens describe AUTH_TOKEN \
--cluster=CLUSTER_ID \
--region=REGION \
--token-auth-user=USERNAME

Ersetzen Sie die folgenden Werte:

  • AUTH_TOKEN: der Name des Authentifizierungstokens, zu dem Sie Informationen aufrufen möchten
  • CLUSTER_ID: die ID des Clusters, auf den der Nutzer mit dem Token zugreifen kann
  • REGION: die Region, in der sich der Cluster befindet
  • USERNAME: der Nutzername des Nutzers, zu dem das Authentifizierungs token gehört

Authentifizierungstoken von einem Nutzer löschen

Das Löschen eines Authentifizierungstokens von einem Nutzer ist eine kritische Sicherheitsmaßnahme, durch die das Token ungültig wird.

Sie können ein Authentifizierungstoken von einem Nutzer mit der gcloud CLI löschen.

Verwenden Sie den gcloud beta redis clusters token-auth-users auth-tokens delete Befehl, um das Token zu löschen.

gcloud beta redis clusters token-auth-users auth-tokens delete AUTH_TOKEN \
--cluster=CLUSTER_ID \
--region=REGION \
--token-auth-user=USERNAME

Ersetzen Sie die folgenden Werte:

  • AUTH_TOKEN: der Name des Authentifizierungstokens, das Sie vom Nutzer löschen möchten
  • CLUSTER_ID: die ID des Clusters, auf den der Nutzer nicht mehr zugreifen soll, nachdem Sie das Token gelöscht haben
  • REGION: die Region, in der sich der Cluster befindet
  • USERNAME: der Nutzername des Nutzers, der ein Token hat, das Sie löschen möchten

Mit einfacher tokenbasierter Authentifizierung eine Verbindung zu einem Cluster herstellen

Sie haben folgende Möglichkeiten, mit der einfachen tokenbasierten Authentifizierung eine Verbindung zu einem Cluster herzustellen:

  • URI-String (Uniform Resource Identifier): Dieser einzelne, formatierte String ist praktisch, da alle erforderlichen Verbindungsinformationen (z. B. der Nutzername und das Token des Nutzers sowie die IP-Adresse und der Hostname des Clusters) in einem String enthalten sind.
  • Flags: Diese Methode eignet sich besser für die individuelle Verwendung des Befehlszeilentools für Skripts oder für Umgebungen, in denen die Konfiguration mit mehreren separaten Argumenten in separate Umgebungsvariablen aufgeteilt ist.

In den folgenden Abschnitten wird jede Verbindungsmethode erläutert.

URI-String verwenden

Verwenden Sie den folgenden Befehl, um von einer Compute Engine-VM oder einer unterstützten Umgebung aus eine Verbindung mit einem URI-String herzustellen:

redis-cli -u
redis://USERNAME:TOKEN@IP_ADDRESS:PORT

Ersetzen Sie die folgenden Werte:

  • USERNAME: der Nutzername des Nutzers, der versucht, eine Verbindung zu dem Cluster herzustellen
  • TOKEN: das Authentifizierungstoken des Nutzers
  • IP_ADDRESS: die IP-Adresse des Clusters
  • PORT: die Portnummer, die für den Cluster reserviert ist

Flags verwenden

Verwenden Sie den folgenden Befehl, um von einer Compute Engine-VM oder einer unterstützten Umgebung aus eine Verbindung mit Flags herzustellen:

redis-cli --user USERNAME -a TOKEN -h IP_ADDRESS -p PORT

Ersetzen Sie die folgenden Werte:

  • USERNAME: der Nutzername des Nutzers, der versucht, eine Verbindung zu dem Cluster herzustellen
  • TOKEN: das Authentifizierungstoken des Nutzers
  • IP_ADDRESS: die IP-Adresse des Clusters
  • PORT: die Portnummer, die für den Cluster reserviert ist

Authentifizierungstoken eines Nutzers ohne Ausfallzeiten rotieren

So rotieren Sie das Authentifizierungstoken eines Nutzers, ohne dass es zu Ausfallzeiten für Ihre Anwendungen kommt:

  1. Zusätzliches Authentifizierungstoken für den Nutzer erstellen: Memorystore for Redis Cluster generiert ein zweites gültiges Token. Beide Tokens sind gültig.
  2. Anwendungen aktualisieren: Aktualisieren Sie Ihre Anwendungen, um das neue Token zu verwenden.
  3. Authentifizierungstoken für den Nutzer löschen: Memorystore for Redis Cluster entfernt das erste Token. Der Nutzer kann sich nur mit dem zweiten Token bei Ihren Anwendungen authentifizieren.

Zugriffsprotokolle für die einfache tokenbasierte Authentifizierung

Memorystore for Redis Cluster generiert Audit-Logs zu Administratoraktivitäten und Datenzugriffen für Vorgänge, die mit Authentifizierungstokens und Nutzern verknüpft sind. Weitere Informationen zu diesen Audit-Logs finden Sie unter Zugriff mit Audit-Logs überwachen.