Memorystore bietet das IAM-Feature, das in Identity and Access Management (IAM) eingebunden werden kann, um den Anmeldezugriff für Nutzer und Dienstkonten besser zu verwalten.
Bei der Authentifizierung wird IAM verwendet, um die Identität eines Nutzers zu überprüfen, der auf einen Cluster zugreifen möchte. Memorystore führt die Überprüfung mit dem Redis-Authentifizierungsbefehl und IAM-Zugriffstokens durch.
Eine Anleitung zum Einrichten der IAM-Authentifizierung für Ihren Memorystore-Cluster finden Sie unter IAM-Authentifizierung verwalten.
IAM-Authentifizierung für Redis
Bei der IAM-Authentifizierung wird dem Endnutzer die Berechtigung für den Zugriff auf einen Memorystore-Cluster nicht gewährt. Stattdessen werden Berechtigungen in Rollen gruppiert und Hauptkonten Rollen zugewiesen. Weitere Informationen finden Sie in der IAM-Übersicht.
Administratoren, die sich mit IAM authentifizieren, können die Storagestore-IAM-Authentifizierung verwenden, um die Zugriffssteuerung auf ihre Instanzen mithilfe von IAM-Richtlinien zentral 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 Hauptkontotypen wie Google-Gruppen, Google Workspace-Domains oder Cloud Identity-Domains werden noch nicht für die IAM-Authentifizierung unterstützt. Weitere Informationen finden Sie unter Identitätskonzepte.
Rollen: Für die Memorystore IAM-Authentifizierung benötigt ein Nutzer die Berechtigung redis.clusters.connect, um sich bei einem Cluster zu authentifizieren. Damit Sie diese Berechtigung erhalten, können Sie den Nutzer oder das Dienstkonto an die vordefinierte Rolle „Nutzer des Redis-Cluster-DB-Verbindungs“ (roles/rediscluster.dbConnectionUser) binden. Weitere Informationen zu IAM-Rollen finden Sie unter Rollen.
Ressourcen: Die Ressourcen, auf die Hauptkonten zugreifen, sind Memorystore-Cluster. IAM-Richtlinienbindungen werden standardmäßig auf Projektebene angewendet, sodass Hauptkonten Rollenberechtigungen für alle Memorystore-Instanzen im Projekt erhalten. IAM-Richtlinienbindungen können jedoch auf einen bestimmten Cluster beschränkt werden. Eine Anleitung finden Sie unter Berechtigungen für die IAM-Authentifizierung verwalten.
Redis-AUTH-Befehl
Die IAM-Authentifizierungsfunktion verwendet den Redis AUTH-Befehl zur Einbindung in IAM. So können Clients ein IAM-Zugriffstoken bereitstellen, das vom Memorystore-Cluster überprüft wird, bevor der Zugriff auf Daten zugelassen wird.
Wie jeder Befehl wird auch der AUTH-Befehl unverschlüsselt gesendet, es sei denn, Verschlüsselung während der Übertragung ist aktiviert.
Ein Beispiel für einen möglichen AUTH-Befehl finden Sie unter Mit einem Redis-Cluster verbinden, der eine IAM-Authentifizierung verwendet.
Zeitraum für IAM-Zugriffstoken
Das IAM-Zugriffstoken, das Sie im Rahmen der Authentifizierung abrufen, läuft eine Stunde nach dem Standardabruf ab. Alternativ können Sie beim Generieren des Zugriffstokens die Ablaufzeit des Zugriffstokens definieren. Ein gültiges Token muss über den AUTH-Befehl angezeigt werden, wenn eine neue Redis-Verbindung hergestellt wird. Wenn das Token abgelaufen ist, müssen Sie ein neues Zugriffstoken anfordern, um neue Verbindungen herzustellen.
Authentifizierte Verbindung beenden
Wenn Sie die Verbindung beenden möchten, können Sie dies mit dem Redis-Befehl CLIENT KILL
tun. Führen Sie zuerst CLIENT LIST
aus, um die Verbindung zu ermitteln, die Sie beenden möchten. Dadurch werden Clientverbindungen nach Alter zurückgegeben. Sie können dann CLIENT KILL
ausführen, um die gewünschte Verbindung zu beenden.
Sicherheit und Datenschutz
Mit IAM-Authentifizierung sorgen Sie dafür, dass Ihr Redis-Cluster nur von autorisierten IAM-Hauptkonten zugänglich ist. Die TLS-Verschlüsselung wird nur bereitgestellt, wenn die In-Transit-Verschlüsselung aktiviert ist. Aus diesem Grund empfiehlt es sich, die Verschlüsselung während der Übertragung bei der IAM-Authentifizierung zu aktivieren.