Zugriff auf Instanzen mit einfacher tokenbasierter Authentifizierung sichern

Zusätzlich zur IAM-Authentifizierung (Identity and Access Management) können Sie die einfache tokenbasierte Authentifizierung verwenden, um den Zugriff auf Ihre Memorystore for Valkey-Instanzen zu sichern. Mit der einfachen tokenbasierten Authentifizierung können Clients ihre Identitäten in Ihren Anwendungen mithilfe ihrer Tokens bestätigen.

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

Vorteile

Die Verwendung der einfachen tokenbasierten Authentifizierung bietet folgende Vorteile:

  • Flexibilität: Sie können die Authentifizierung für neue und bestehende Instanzen jederzeit aktivieren. Wenn Sie die einfache tokenbasierte Authentifizierung aktivieren, sind Ihre Instanzen sicher. Bei allen neuen Verbindungen müssen Nutzer ein Authentifizierungstoken angeben, um sich bei Ihren Instanzen zu authentifizieren.
  • Rotation ohne Ausfallzeiten: Nutzer-Tokens rotieren, ohne dass es zu Ausfallzeiten in Ihren Anwendungen kommt.
  • Kompatibilität: Der default-Superuser behält dieselben Berechtigungen, die diesem Nutzer gewährt werden. Die einfache tokenbasierte Authentifizierung bietet eine zusätzliche Schutzebene. So wird die Abwärtskompatibilität sichergestellt, wenn Sie Ihre Arbeitslasten von Memorystore for Redis zu Memorystore for Valkey migrieren.

Authentifizierungsmodi

Die grundlegende 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.
  • Authentifizierung für mehrere Nutzer: Sie können mehrere Nutzer verwalten, um den Zugriff auf Ihre Instanzen zu authentifizieren.

Best Practices

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

  • Nutzer-Tokens rotieren: Verwenden Sie eine Rotationsrichtlinie für Nutzer-Tokens.
  • Secret Manager verwenden: Die grundlegenden tokenbasierten Authentifizierungsanmeldedaten eines Nutzers sollten nicht fest in den Anwendungscode einprogrammiert werden. 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. So wird die unkontrollierte Ausbreitung von Secrets verhindert und der operative Aufwand für die manuelle Verwaltung von Anmeldedaten reduziert. Der Zugriff wird über IAM-Richtlinien gesteuert und es werden automatisch Audit-Logs generiert. So wird die Compliance sichergestellt und die Offenlegung von Anmeldedaten verhindert.

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

Hinweis

Bevor Sie Ihre Instanzen mit einfacher tokenbasierter 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, indem Sie sicherstellen, dass die Anwendungen den Befehl AUTH verwenden können.

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

AUTH TOKEN

In diesem Befehl ist TOKEN das Authentifizierungstoken des Standardnutzers.

Alle anderen Nutzer authentifizieren sich mit dem folgenden Befehl:

AUTH USERNAME TOKEN

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

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

Google Cloud Console, Google Cloud CLI und APIs verwenden

So verwenden Sie die Google Cloud Console, die gcloud CLI und die 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.

    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 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 für Memorystore for Valkey benötigen Sie mindestens die gcloud CLI-Version 489.0.0.

  4. Aktivieren Sie die Memorystore for Valkey API.
    Memorystore for Valkey 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 Instanzen benötigen Sie eine der folgenden IAM-Rollen in Ihrem Google Cloud -Projekt:

  • roles/memorystore.admin (die Rolle „Memorystore Admin“)
  • roles/owner (Rolle „Inhaber“)
  • roles/editor (Rolle „Bearbeiter“)

Einfache tokenbasierte Authentifizierung für Instanzen verwalten

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

Instanz mit einfacher tokenbasierter Authentifizierung erstellen

Wenn Sie eine Instanz mit einfacher tokenbasierter Authentifizierung erstellen, haben Sie eine einfache und weitgehend unterstützte Methode, um den Zugriff eines Nutzers auf die Instanz einzuschränken.

Sie können die Instanz mit der gcloud CLI erstellen.

Verwenden Sie den Befehl gcloud beta memorystore instances create, um eine Instanz zu erstellen, in der die einfache tokenbasierte Authentifizierung aktiviert ist.

gcloud beta memorystore instances create INSTANCE_ID \
--location=REGION \
--authorization-mode=token-auth

Ersetzen Sie die folgenden Werte:

  • INSTANCE_ID: Die ID der Instanz, die Sie erstellen möchten, um die einfache tokenbasierte Authentifizierung zu verwenden.
  • REGION: die Region, in der sich die Instanz befinden soll

Standard-tokenbasierte Authentifizierung für eine Instanz aktivieren

Wenn Sie die einfache tokenbasierte Authentifizierung für eine Instanz aktivieren, haben Sie eine einfache und weitgehend unterstützte Methode, um den Zugriff eines Nutzers auf die Instanz einzuschränken.

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

Wenn Sie die einfache tokenbasierte Authentifizierung aktivieren, kann es zu Ausfallzeiten für Anwendungen kommen, die versuchen, neue Verbindungen herzustellen, da für Memorystore for Valkey authentifizierte Anfragen erforderlich sind. Vorhandene Verbindungen sind davon nicht betroffen. Wenn Sie jedoch für nachfolgende Verbindungsversuche mit der Instanz die einfache tokenbasierte Authentifizierung verwenden möchten, müssen Sie Ihre Anwendungen aktualisieren. Weitere Informationen finden Sie unter Mit der einfachen tokenbasierten Authentifizierung eine Verbindung zu einer Instanz herstellen.

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

Verwenden Sie den Befehl gcloud beta memorystore instances update, um die einfache tokenbasierte Authentifizierung zu aktivieren.

gcloud beta memorystore instances update INSTANCE_ID \
--location=REGION \
--authorization-mode=token-auth

Ersetzen Sie die folgenden Werte:

  • INSTANCE_ID: die ID der Instanz, für die Sie die einfache tokenbasierte Authentifizierung aktivieren möchten.
  • REGION: die Region, in der sich die Instanz befindet.

Einen einfachen Nutzer für die tokenbasierte Authentifizierung für eine Instanz erstellen

Wenn Sie einen einfachen Nutzer für die tokenbasierte Authentifizierung für eine Instanz erstellen, konfigurieren Sie die Instanz so, dass die Authentifizierung für mehrere Nutzer möglich ist. Nachdem sich der Nutzer zum ersten Mal angemeldet hat, dient dieser Authentifizierungsmodus als sichere und widerrufliche Anmeldedaten für neue Verbindungen. Der Nutzer kann das Authentifizierungstoken weiterhin verwenden, bis er es löscht oder der Nutzer entfernt wird.

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

Verwenden Sie zum Erstellen des Nutzers den Befehl gcloud beta memorystore instances create-token-auth-user.

gcloud beta memorystore instances create-token-auth-user INSTANCE_ID \
--location=REGION \
--token-auth-user=USERNAME

Ersetzen Sie die folgenden Werte:

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

Nutzer mit einfacher tokenbasierter Authentifizierung für eine Instanz auflisten

Sie können eine Liste der Nutzer mit einfacher tokenbasierter Authentifizierung für eine Instanz mit der gcloud CLI abrufen.

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

gcloud beta memorystore instances token-auth-users list \
--instance=INSTANCE_ID \
--location=REGION

Ersetzen Sie die folgenden Werte:

  • INSTANCE_ID: Die ID der Instanz, für die Sie eine Liste der Nutzer mit einfacher tokenbasierter Authentifizierung abrufen möchten
  • REGION: die Region, in der sich die Instanz befindet.

Informationen zu einem Nutzer mit einfacher tokenbasierter Authentifizierung ansehen

Sie können Informationen zu einem Nutzer mit einfacher tokenbasierter Authentifizierung mit der gcloud CLI aufrufen.

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

gcloud beta memorystore instances token-auth-users describe USERNAME \
--instance=INSTANCE_ID \
--location=REGION

Ersetzen Sie die folgenden Werte:

  • USERNAME: Der Nutzername des Nutzers mit einfacher tokenbasierter Authentifizierung, zu dem Sie Informationen aufrufen möchten.
  • INSTANCE_ID: die ID der Instanz, bei der sich der Nutzer authentifizieren kann
  • REGION: die Region, in der sich die Instanz befindet.

Einen Nutzer mit einfacher Token-Authentifizierung aus einer Instanz löschen

Wenn Sie einen Nutzer mit einfacher tokenbasierter Authentifizierung aus einer Instanz löschen, widerrufen Sie die Zugriffsrechte des Nutzers für die Instanz.

Sie können einen Nutzer mit einfacher tokenbasierter Authentifizierung aus einer Instanz löschen, indem Sie die gcloud CLI verwenden.

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

gcloud beta memorystore instances token-auth-users delete USERNAME \
--instance=INSTANCE_ID \
--location=REGION

Ersetzen Sie die folgenden Werte:

  • USERNAME: Der Nutzername des Nutzers der einfachen tokenbasierten Authentifizierung.
  • INSTANCE_ID: die ID der Instanz, aus der Sie den Nutzer löschen möchten
  • REGION: die Region, in der sich die Instanz befindet.

Für den Nutzer, den Sie löschen, beendet Memorystore for Valkey keine bestehenden Verbindungen. Führen Sie den folgenden Befehl auf allen Knoten in der Instanz aus, um diese Verbindungen zu beenden:

CLIENT KILL USER USERNAME

Einfache tokenbasierte Authentifizierung für Nutzer verwalten

Memorystore for Valkey 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 Ihrer Anwendungen kommt.

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

Verwenden Sie zum Erstellen des Nutzers den Befehl gcloud beta memorystore instances token-auth-users create-auth-token.

gcloud beta memorystore instances token-auth-users create-auth-token USERNAME \
--instance=INSTANCE_ID \
--location=REGION

Ersetzen Sie die folgenden Werte:

  • USERNAME: Der Nutzername des Nutzers, für den Sie ein Authentifizierungstoken erstellen möchten.
  • INSTANCE_ID: die ID der Instanz, auf die der Nutzer mit dem Token zugreifen kann
  • REGION: die Region, in der sich die Instanz 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 Befehl gcloud beta memorystore instances token-auth-users auth-tokens list, um die Tokens aufzulisten.

gcloud beta memorystore instances token-auth-users auth-tokens list \
--token-auth-user=USERNAME \
--instance=INSTANCE_ID \
--location=REGION

Ersetzen Sie die folgenden Werte:

  • USERNAME: Der Nutzername des Nutzers, zu dem die Authentifizierungstokens gehören.
  • INSTANCE_ID: die ID der Instanz, auf die der Nutzer mit den Authentifizierungstokens zugreifen kann
  • REGION: die Region, in der sich die Instanz befindet.

Informationen zu einem Authentifizierungstoken für einen Nutzer ansehen

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

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

gcloud beta memorystore instances token-auth-users auth-tokens describe AUTH_TOKEN \
--instance=INSTANCE_ID \
--location=REGION \
--token-auth-user=USERNAME

Ersetzen Sie die folgenden Werte:

  • AUTH_TOKEN: Der Name des Authentifizierungstokens, zu dem Sie Informationen aufrufen möchten.
  • INSTANCE_ID: die ID der Instanz, auf die der Nutzer mit dem Token zugreifen kann
  • REGION: die Region, in der sich die Instanz befindet.
  • USERNAME: Der Nutzername des Nutzers, zu dem das Authentifizierungstoken gehört.

Authentifizierungstoken eines Nutzers löschen

Das Löschen eines Authentifizierungstokens für einen Nutzer ist eine wichtige Sicherheitsmaßnahme, durch die das Token ungültig wird.

Sie können ein Authentifizierungstoken eines Nutzers mit der gcloud CLI löschen.

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

gcloud beta memorystore instances token-auth-users auth-tokens delete AUTH_TOKEN \
--instance=INSTANCE_ID \
--location=REGION \
--token-auth-user=USERNAME

Ersetzen Sie die folgenden Werte:

  • AUTH_TOKEN: Der Name des Authentifizierungstokens, das Sie aus dem Nutzer entfernen möchten.
  • INSTANCE_ID: Die ID der Instanz, auf die der Nutzer nicht mehr zugreifen soll, indem das Token gelöscht wird
  • REGION: die Region, in der sich die Instanz befindet.
  • USERNAME: Der Nutzername des Nutzers, der ein Token hat, das Sie löschen möchten.

Verbindung zu einer Instanz über die einfache tokenbasierte Authentifizierung herstellen

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

  • URI-String (Uniform Resource Identifier): Dieser einzelne, formatierte String ist praktisch, da alle erforderlichen Verbindungsinformationen (z. B. der Nutzername und das Authentifizierungstoken des Nutzers sowie die IP-Adresse und der Hostname der Instanz) in einem String enthalten sind.
  • Flags: Diese Methode eignet sich besser für die individuelle Verwendung des Befehlszeilentools, für Scripting oder für Umgebungen, in denen die Konfiguration durch die Verwendung mehrerer separater Argumente in separate Umgebungsvariablen unterteilt wird.

In den folgenden Abschnitten wird jede Verbindungsmethode erläutert.

URI-String verwenden

Wenn Sie über eine Compute Engine-VM oder eine unterstützte Umgebung eine Verbindung mit einem URI-String herstellen möchten, verwenden Sie den folgenden Befehl:

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

Ersetzen Sie die folgenden Werte:

  • USERNAME ist der Name des Nutzers, der versucht, eine Verbindung zur Instanz herzustellen.
  • TOKEN: Das Authentifizierungstoken des Nutzers.
  • IP_ADDRESS: die IP-Adresse der Instanz.
  • PORT: die Portnummer, die für die Instanz reserviert ist

Flags verwenden

Wenn Sie über eine Compute Engine-VM oder eine unterstützte Umgebung eine Verbindung mit Flags herstellen möchten, verwenden Sie den folgenden Befehl:

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

Ersetzen Sie die folgenden Werte:

  • USERNAME ist der Name des Nutzers, der versucht, eine Verbindung zur Instanz herzustellen.
  • TOKEN: Das Authentifizierungstoken des Nutzers.
  • IP_ADDRESS: die IP-Adresse der Instanz.
  • PORT: die Portnummer, die für die Instanz reserviert ist

Authentifizierungstoken eines Nutzers ohne Ausfallzeit rotieren

So rotieren Sie das Authentifizierungstoken eines Nutzers, ohne dass es zu Ausfallzeiten Ihrer Anwendungen kommt:

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

Zugriffsprotokolle für die einfache tokenbasierte Authentifizierung

Memorystore for Valkey generiert Audit-Logs zu Administratoraktivitäten und zum Datenzugriff 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.