IAM-Authentifizierung

Memorystore bietet die IAM-Authentifizierungsfunktion (Identity and Access Management), mit der Sie den Anmeldezugriff für Nutzer und Dienstkonten besser verwalten können. Die IAM-basierte Authentifizierung ist in Valkey AUTH integriert. So können Sie Anmeldedaten (IAM-Tokens) nahtlos rotieren, ohne auf statische Passwörter angewiesen zu sein.

Eine Anleitung zum Einrichten der IAM-Authentifizierung für Ihre Memorystore-Instanz finden Sie unter IAM-Authentifizierung verwalten.

IAM-Authentifizierung für Valkey

Bei Verwendung der IAM-Authentifizierung wird dem Endnutzer die Berechtigung für den Zugriff auf eine Memorystore-Instanz nicht direkt gewährt. Stattdessen werden Berechtigungen in Rollen gruppiert, die dann Hauptkonten zugewiesen werden. Weitere Informationen finden Sie in der IAM-Übersicht.

Administratoren, die sich mit IAM authentifizieren, können die Memorystore-IAM-Authentifizierung verwenden, um die Zugriffssteuerung für ihre Instanzen zentral über IAM-Richtlinien zu verwalten. IAM-Richtlinien umfassen die folgenden Entitäten:

  • Hauptkonten. In Memorystore können Sie zwei Arten von Hauptkonten verwenden: ein Nutzerkonto und ein Dienstkonto (für Anwendungen). Andere Arten von Hauptkonten wie Google Groups-Gruppen, Google Workspace-Domains oder Cloud Identity-Domains werden für die IAM-Authentifizierung noch nicht unterstützt. Weitere Informationen finden Sie unter Identitätskonzepte.

  • Rollen: Für die Memorystore-IAM-Authentifizierung benötigt ein Nutzer die Berechtigung memorystore.instances.connect, um sich bei einer Instanz zu authentifizieren. Damit der Nutzer diese Berechtigung erhält, können Sie ihn oder das Dienstkonto an die vordefinierte Rolle „Memorystore DB Connection User“ (roles/memorystore.dbConnectionUser) binden. Weitere Informationen zu IAM-Rollen finden Sie unter Rollen.

  • Ressourcen: Die Ressourcen, auf die Hauptkonten zugreifen, sind Memorystore-Instanzen. Standardmäßig werden IAM-Richtlinienbindungen auf Projektebene angewendet, sodass Hauptkonten Rollenberechtigungen für alle Memorystore-Instanzen im Projekt erhalten. IAM-Richtlinienbindungen können jedoch auf eine bestimmte Instanz beschränkt werden. Eine Anleitung finden Sie unter Berechtigungen für die IAM-Authentifizierung verwalten.

Valkey-AUTH-Befehl

Die IAM-Authentifizierungsfunktion verwendet den Valkey-AUTH-Befehl, um in IAM integriert zu werden. So können Clients ein IAM-Zugriffstoken bereitstellen, das von der Valkey-Instanz überprüft wird, bevor der Zugriff auf Daten gewährt wird.

Wie jeder Befehl wird auch der AUTH-Befehl unverschlüsselt gesendet, sofern Verschlüsselung bei der Übertragung nicht aktiviert ist.

Ein Beispiel für den AUTH-Befehl finden Sie unter Verbindung zu einer Instanz herstellen, die die IAM-Authentifizierung verwendet.

Zeitrahmen für IAM-Zugriffstoken

Das IAM-Zugriffstoken, das Sie im Rahmen der Authentifizierung abrufen, läuft standardmäßig eine Stunde nach dem Abrufen ab. Alternativ können Sie die Ablaufzeit des Zugriffstokens beim Generieren des Zugriffstokens festlegen. Beim Herstellen einer neuen Valkey-Verbindung muss über den AUTH-Befehl ein gültiges Token präsentiert werden. Wenn das Token abgelaufen ist, müssen Sie ein neues Zugriffstoken abrufen, um neue Verbindungen herzustellen.

Authentifizierte Verbindung beenden

Verwenden Sie zum Beenden einer Verbindung den Valkey-Befehl CLIENT KILL. Führen Sie zuerst CLIENT LIST aus, um die Verbindung zu identifizieren, und dann CLIENT KILL, um sie zu beenden.

IAM-Authentifizierung aktivieren

Die Aktivierung der IAM-Authentifizierung beeinträchtigt die Leistung im Steady State nicht. Es wirkt sich jedoch auf die Geschwindigkeit aus, mit der Sie eine Verbindung herstellen können.

Wenn Sie die IAM-Authentifizierung aktivieren, wird die Rate der Clientverbindungen, die jede Sekunde hergestellt werden, gedrosselt. Das liegt daran, dass bei der IAM-Authentifizierung von Google Cloud jede neue Verbindung authentifiziert werden muss. Im Steady State aktiviert eine Anwendung Verbindungspools, sodass die Auswirkungen vernachlässigbar sind. Wenn Clientanwendungen jedoch neu gestartet oder bereitgestellt werden, kann es zu einem Anstieg neuer Verbindungen kommen. Wenn Sie Ihre Clients nach und nach aktualisieren und exponentielles Backoff implementieren, können Sie diese reduzierte Rate auffangen.

Ein Codebeispiel für die Verwendung der IAM-Authentifizierung finden Sie unter Codebeispiel für IAM-Authentifizierung und Transitverschlüsselung.

Sicherheit und Datenschutz

Mit der IAM-Authentifizierung können Sie dafür sorgen, dass nur autorisierte IAM-Hauptkonten auf Ihre Valkey-Instanz zugreifen können. Die TLS-Verschlüsselung ist nur verfügbar, wenn Verschlüsselung während der Übertragung aktiviert ist. Daher wird empfohlen, die In-Transit-Verschlüsselung zu aktivieren, wenn Sie die IAM-Authentifizierung verwenden.

Verbindung mit einer Compute Engine-VM herstellen

Wenn Sie eine Compute Engine-VM verwenden, um eine Verbindung zu einer Instanz herzustellen, die die IAM-Authentifizierung verwendet, müssen Sie die folgenden Zugriffsbereiche und APIs für Ihr Projekt aktivieren: