IAM-Authentifizierung verwalten

Auf dieser Seite finden Sie Anleitungen zu gängigen Aufgaben der IAM-Authentifizierungsfunktion für Memorystore for Valkey. Weitere Informationen zu dieser Funktion Siehe Informationen zur IAM-Authentifizierung.

Instanz mit IAM-Authentifizierung erstellen

Wenn Sie eine Memorystore for Valkey-Instanz mit IAM-Authentifizierung erstellen möchten, führen Sie den Befehl create aus:

gcloud beta memorystore instances create INSTANCE_ID --region=REGION_ID --network=NETWORK --node-type=NODE_TYPE --shard-count=SHARD_COUNT --auth-mode=iam-auth

Ersetzen Sie Folgendes:

  • INSTANCE_ID ist die ID der Memorystore for Valkey-Instanz, die Sie ausführen erstellen. Die Instanz-ID muss 1 bis 63 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern oder Bindestriche enthalten. Er muss mit einem Kleinbuchstaben beginnen und mit Kleinbuchstaben oder eine Ziffer.

  • REGION_ID ist die Region, in der die Instanz platziert werden soll.

  • NETWORK ist das Netzwerk, das zum Erstellen der Instanz verwendet wurde. Sie muss Format: projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID. Die hier verwendete Netzwerk-ID muss mit der Netzwerk-ID übereinstimmen, die in der Richtlinie für die Dienstverbindung verwendet wird. Andernfalls schlägt der create-Vorgang fehl. Weitere Informationen finden Sie unter Netzwerk.

  • NODE_TYPE ist der ausgewählte Knotentyp. Zulässige Werte:

    • shared-core-nano
    • standard-small
    • highmem-medium
    • highmem-xlarge

    Weitere Informationen zu Knotentypen und Instanzkonfigurationen finden Sie in der Spezifikation für Instanzen und Knoten.

  • SHARD_COUNT gibt die Anzahl der Shards in Ihrer Instanz an. Die Shard-Anzahl bestimmt die gesamte Arbeitsspeicherkapazität für die Speicherung Instanzdaten. Weitere Informationen zur Instanzspezifikation finden Sie unter Instanz- und Knotenspezifikation.

Berechtigungen für die IAM-Authentifizierung gewähren

Gewähren Sie dem Hauptkonto die folgende Berechtigung, um IAM-Zugriff zu gewähren: roles/memorystore.dbConnectionUser anhand der Anleitung zum Gewähren von IAM-Rollen.

Wenn Sie einem Hauptkonto die Rolle roles/memorystore.dbConnectionUser zuweisen, kann es standardmäßig auf alle Instanzen in Ihrem Projekt zugreifen.

Eine eingeschränkte IAM-Administratorrolle für eine Instanz erstellen

Sie können eine Rolle erstellen, die IAM-Berechtigungen für die Instanzverbindung ändern kann, ohne vollen IAM-Administratorzugriff zu gewähren. Dazu erstellen Sie eine eingeschränkte IAM- Administrator für die Rolle roles/memorystore.dbConnectionUser. Weitere Informationen Weitere Informationen finden Sie unter Eingeschränkte IAM-Administratoren erstellen.

Verbindung zu einer Instanz herstellen, die die IAM-Authentifizierung verwendet

  1. Wenn Sie noch keine Compute Engine-VM haben, die dasselbe autorisierte Netzwerk wie Ihre Valkey-Instanz verwendet, erstellen Sie eine VM und stellen Sie eine Verbindung zu ihr her: Folgen Sie dazu der Kurzanleitung: Linux-VM verwenden.

  2. Um eine Verbindung zu Ihrer Instanz herzustellen, müssen Sie die folgenden Zugriffsbereiche und APIs für Ihr Projekt aktivieren:

  3. Installieren Sie valkey-cli auf der Compute Engine-VM. Folgen Sie dazu der Anleitung unter Valkey installieren.

  4. Führen Sie den folgenden Befehl aus, um ein Zugriffstoken für Ihren IAM-Nutzer abzurufen:

    gcloud auth print-access-token
    
  5. Stellen Sie eine Verbindung zum Discovery-Endpunkt Ihrer Instanz her:

    valkey-cli -h NETWORK_ADDRESS -p PORT -a ACCESS_TOKEN -c
    

    Ersetzen Sie Folgendes:

    • NETWORK_ADDRESS ist die Netzwerkadresse der Instanz. So rufen Sie die Weitere Informationen finden Sie unter Instanzinformationen aufrufen.

    • PORT ist die Portnummer der Instanz. Informationen zum Aufrufen der Portnummer finden Sie unter Instanzinformationen aufrufen.

    • ACCESS_TOKEN ist das im vorherigen Schritt abgerufene IAM-Zugriffstoken. Schritte.

  6. Führen Sie den Befehl CLUSTER SHARDS aus, um die Knotentopologie aufzurufen. Notieren Sie sich eine der IP-Adressen und Portnummern des Knotens.

  7. Stellen Sie mit folgendem Befehl eine Verbindung zum ausgewählten Knoten her:

    valkey-cli -h NODE_IP_ADDRESS -p NODE_PORT -a ACCESS_TOKEN -c
    

    Ersetzen Sie Folgendes:

    • NODE_IP_ADDRESS ist die IP-Adresse des Knotens, die Sie im vorherigen Schritt ermittelt haben.
    • NODE_PORT ist die Portnummer des Knotens, die Sie im vorherigen Schritt ermittelt haben.
  8. Führen Sie einen Valkey-Befehl SET und GET aus, um zu prüfen, ob eine authentifizierte Verbindung zum Knoten Ihrer Instanz hergestellt wurde.

  9. Nachdem Sie Ihre Verbindung zur Valkey-Instanz getestet haben, sollten Sie die Compute Engine-VM löschen, mit der Sie eine Verbindung zur Valkey-Instanz hergestellt haben. Dadurch vermeiden Sie, dass Ihrem Cloud-Rechnungskonto Gebühren berechnet werden.

  10. Führen Sie den folgenden Befehl aus, um valkey-cli zur Authentifizierung und Verbindung mit Ihrer Instanz zu verwenden. Ersetzen Sie dabei die Variablen durch die entsprechenden Werte:

    valkey-cli -h NETWORK_ADDRESS -p PORT -a ACCESS_TOKEN -c
    

    Ersetzen Sie Folgendes:

    • NETWORK_ADDRESS ist die Netzwerkadresse der Instanz. Informationen zur Netzwerkadresse finden Sie unter Instanzinformationen aufrufen.

    • PORT ist die Portnummer der Instanz. Informationen zur Anzeige der Portnummer finden Sie unter Instanzinformationen aufrufen

    • ACCESS_TOKEN ist das IAM-Zugriffstoken, das in den vorherigen Schritten abgerufen wurde.

  11. Führen Sie einen Valkey-Befehl SET und GET aus, um zu prüfen, ob eine authentifizierte Verbindung zu Ihrer Instanz hergestellt wurde.

  12. Nachdem Sie die Verbindung zur Valkey-Instanz getestet haben, sollten Sie Compute Engine-VM löschen Sie eine Verbindung zur Valkey-Instanz hergestellt haben. Dadurch vermeiden Sie, dass Ihrem Cloud-Rechnungskonto Gebühren berechnet werden.

Abrufen von Zugriffstokens automatisieren

Es empfiehlt sich, den Abruf von Zugriffstokens in Ihrer Anwendung zu automatisieren. da Zugriffstokens aufgrund ihrer kurzen Lebensdauer nicht einfach hartcodiert werden können.

  1. Optional: Erstellen Sie ein Dienstkonto für Ihre Anwendung, falls Sie noch keines haben (siehe Dienstkonto erstellen und verwalten).

    gcloud iam service-accounts create SA_NAME \
        --description="DESCRIPTION" \
        --display-name="DISPLAY_NAME"
    

    Ersetzen Sie Folgendes:

    • SA_NAME ist der Name des Dienstkontos.
    • DESCRIPTION ist eine optionale Beschreibung des Dienstkontos.
    • DISPLAY_NAME ist ein Dienstkontoname, der in der Google Cloud Console angezeigt werden soll.
  2. Gewähren Sie dem Dienstkonto die Berechtigung memorystore.dbConnectionUser für Ihr Projekt arbeiten.

    gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="serviceAccount:SA_NAME@PROJECT_ID.iam.gserviceaccount.com" \
    --role="memorystore.dbConnectionUser"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID ist die Projekt-ID.
    • SA_NAME ist der Name des Dienstkontos.
    • ROLE_NAME ist der Name einer Rolle, z. B. roles/compute.osLogin.
  3. Authentifizieren Sie Ihre Anwendung als das angegebene Dienstkonto. Weitere Informationen finden Sie unter Dienstkonten.

    Codebeispiele dazu, wie Sie Ihre Anwendung mit gängigen Clientbibliotheken authentifizieren können, finden Sie unter Codebeispiele für IAM-Authentifizierungsclientbibliotheken.

Codebeispiel für die Verbindung zu einer Instanz, die die IAM-Authentifizierung verwendet

Ein Valkey-kompatibles Codebeispiel zum Einrichten einer Clientbibliothek für die Verbindung zu einer Instanz, die die IAM-Authentifizierung verwendet, finden Sie unter Codebeispiel für die Clientbibliothek für die IAM-Authentifizierung.