Zugriff auf Instanzen mit einfacher tokenbasierter Authentifizierung sichern

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

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

Vorteile

Die Verwendung der einfachen tokenbasierten Authentifizierung bietet folgende Vorteile:

  • Flexibilität: Sie können die Authentifizierung jederzeit für neue und bestehende Instanzen aktivieren. Wenn Sie die einfache tokenbasierte Authentifizierung aktivieren, sind Ihre Instanzen sicher. Für alle neuen Verbindungen müssen Nutzer ein Authentifizierungstoken angeben, um sich in Ihren Instanzen 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 werden. Die einfache tokenbasierte Authentifizierung bietet zusätzlichen Schutz. So wird die Abwärtskompatibilität gewährleistet, wenn Sie Ihre Arbeitslasten von Memorystore for Redis zu Memorystore for Valkey 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.
  • 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:

  • 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 Anmeldedaten von Nutzern. So wird die unkontrollierte Verbreitung von Secrets verhindert und der Betriebsaufwand für die manuelle Verwaltung von Anmeldedaten reduziert. Die Zugriffssteuerung wird mit IAM erzwungen und Audit-Logs werden automatisch generiert. So wird die Compliance gewährleistet 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 verhindert, dass Nutzernamen und Authentifizierungstokens im Klartext über das Netzwerk gesendet werden.

Hinweis

Bevor Sie Ihre Instanzen 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, indem Sie prüfen, ob 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

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

Um die einfache tokenbasierte Authentifizierung für Ihre Instanzen zu konfigurieren, benötigen Sie eine der folgenden IAM-Rollen in Ihrem Google Cloud Projekt:

  • roles/memorystore.admin (die Rolle „Memorystore-Administrator“)
  • roles/owner (die Rolle „Inhaber“)
  • roles/editor (die 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 weit verbreitete Methode, um den Zugriff eines Nutzers auf die Instanz einzuschränken.

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

Verwenden Sie den gcloud beta memorystore instances create Befehl, um eine Instanz zu erstellen, für die 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

Einfache tokenbasierte Authentifizierung für eine Instanz aktivieren

Wenn Sie die einfache tokenbasierte Authentifizierung für eine Instanz aktivieren, haben Sie eine einfache und weit verbreitete 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 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 Valkey authentifizierte Anfragen erfordert. Vorhandene Verbindungen sind davon nicht betroffen. Wenn Sie die einfache tokenbasierte Authentifizierung für nachfolgende Verbindungsversuche mit der Instanz verwenden möchten, müssen Sie Ihre Anwendungen aktualisieren. Weitere Informationen finden Sie unter Mit einfacher tokenbasierter 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 gcloud beta memorystore instances update Befehl, 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

Nutzer für die einfache tokenbasierte Authentifizierung für eine Instanz erstellen

Wenn Sie einen Nutzer für die einfache tokenbasierte Authentifizierung für eine Instanz erstellen, konfigurieren Sie die Instanz so, dass die Authentifizierung für mehrere Nutzer möglich 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 er es lö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 memorystore instances create-token-auth-user Befehl, um den Nutzer zu erstellen.

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 für die einfache tokenbasierte Authentifizierung für eine Instanz auflisten

Sie können eine Liste der Nutzer für die einfache tokenbasierte Authentifizierung für eine Instanz abrufen, indem Sie die gcloud CLIverwenden.

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 für die einfache tokenbasierte Authentifizierung abrufen möchten
  • REGION: die Region, in der sich die Instanz 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 gcloud beta memorystore instances token-auth-users describe Befehl, 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 für die einfache tokenbasierte 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

Nutzer für die einfache tokenbasierte Authentifizierung aus einer Instanz löschen

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

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

Verwenden Sie den gcloud beta memorystore instances token-auth-users delete Befehl, 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 für die einfache tokenbasierte 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 vorhandenen 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 für Ihre Anwendungen kommt.

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

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

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 gcloud beta memorystore instances token-auth-users auth-tokens list Befehl, 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 aufrufen

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

Verwenden Sie den gcloud beta memorystore instances token-auth-users auth-tokens describe Befehl, 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 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 memorystore instances token-auth-users auth-tokens delete Befehl, 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 vom Nutzer löschen möchten
  • INSTANCE_ID: die ID der Instanz, auf die der Nutzer durch das Löschen des Tokens nicht mehr zugreifen soll
  • REGION: die Region, in der sich die Instanz befindet
  • USERNAME: der Nutzername des Nutzers, der ein Token hat, das Sie löschen möchten

Mit einfacher tokenbasierter Authentifizierung eine Verbindung zu einer Instanz herstellen

Sie können die folgenden Methoden verwenden, um mit der einfachen tokenbasierten Authentifizierung eine Verbindung zu einer Instanz 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 Skripts oder für Umgebungen, in denen die Konfiguration mit mehreren separaten Argumenten in separate Umgebungsvariablen unterteilt 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:

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

Ersetzen Sie die folgenden Werte:

  • USERNAME: der Nutzername des Nutzers, der versucht, eine Verbindung zu der 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

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

valkey-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 der 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 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 Valkey 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 Valkey entfernt das erste Token. Der Nutzer kann sich nur mit dem zweiten Token bei Ihren Anwendungen authentifizieren.

Auf Logs für die einfache tokenbasierte Authentifizierung zugreifen

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