Auf dieser Seite wird beschrieben, wie Sie den Projektzugriff und Berechtigungen für Memorystore for Redis mithilfe von Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) steuern können.
Übersicht
Google Cloud bietet mit der IAM die Möglichkeit, den Zugriff auf einzelne Google Cloud-Ressourcen präzise zu steuern und unerwünschten Zugriff auf andere Ressourcen zu verhindern. Auf dieser Seite werden die IAM-Rollen und -Berechtigungen für Memorystore for Redis beschrieben. Eine ausführliche Beschreibung der Rollen und Berechtigungen finden Sie in der IAM-Dokumentation.
Memorystore for Redis bietet eine Reihe vordefinierter Rollen, mit denen Sie den Zugriff auf Redis-Ressourcen einfach steuern können. Wenn die vordefinierten Rollen nicht die erforderlichen Berechtigungen bereitstellen, können Sie auch eigene benutzerdefinierte Rollen erstellen. Zusätzlich stehen Ihnen die älteren einfachen Rollen (Bearbeiter, Betrachter und Inhaber) nach wie vor zur Verfügung, auch wenn sie nicht die gleiche detaillierte Steuerung wie die Memorystore for Redis-Rollen bieten. Insbesondere ermöglichen die einfachen Rollen Zugriff auf Ressourcen in der gesamten Google Cloud und nicht nur in Memorystore for Redis. Weitere Informationen zu einfachen Rollen finden Sie unter Einfache Rollen.
Berechtigungen und Rollen
In diesem Abschnitt werden die Berechtigungen und Rollen zusammengefasst, die Memorystore for Redis unterstützt.
Vordefinierte Rollen
Memorystore for Redis bietet vordefinierte Rollen, mit denen Sie detailliertere Berechtigungen für Hauptkonten bereitstellen können. Die Rolle, die Sie einem Hauptkonto zuweisen, legt fest, welche Aktionen mit dem Hauptkonto ausgeführt werden können. Hauptkonten können Einzelpersonen, Gruppen oder Dienstkonten sein.
Sie können einem Hauptkonto mehrere Rollen zuweisen. Wenn Sie die entsprechenden Berechtigungen haben, können Sie die zugewiesenen Rollen auch jederzeit ändern.
Die Rollen mit höheren Berechtigungen beinhalten die Rollen mit niedrigeren Berechtigungen. Die Redis-Rolle "Bearbeiter" enthält beispielsweise alle Berechtigungen der Redis-Rolle "Betrachter" zusammen mit den Berechtigungen der Redis-Rolle "Bearbeiter". Die Redis-Rolle "Administrator" umfasst alle Berechtigungen der Redis-Rolle "Bearbeiter" sowie entsprechende weitere Berechtigungen.
Die einfachen Rollen (Inhaber, Bearbeiter, Betrachter) stellen Berechtigungen für Google Cloud bereit. Die für Memorystore for Redis spezifischen Rollen bieten nur Memorystore for Redis-Berechtigungen, mit Ausnahme der folgenden Google Cloud-Berechtigungen, die für die allgemeine Nutzung in Google Cloud erforderlich sind:
resourcemanager.projects.get
resourcemanager.projects.list
In der folgenden Tabelle werden die vordefinierten Rollen aufgelistet, die für Memorystore for Redis verfügbar sind, zusammen mit ihren Memorystore for Redis-Berechtigungen:
Role | Name | Redis-Berechtigungen | Beschreibung |
---|---|---|---|
|
Inhaber |
|
Uneingeschränkter Zugriff auf und Kontrolle über alle Google Cloud-Ressourcen; Verwaltung des Nutzerzugriffs |
|
Editor | Alle redis -Berechtigungen, außer für *.getIamPolicy
.setIamPolicy |
Lese- und Schreibzugriff auf alle Google Cloud- und Redis-Ressourcen; vollständige Kontrolle mit Ausnahme der Möglichkeit, Berechtigungen zu ändern |
|
Betrachter |
|
Lesezugriff auf alle Google Cloud-Ressourcen, einschließlich Redis-Ressourcen |
|
Redis-Administrator |
|
Uneingeschränkte Kontrolle über alle Cloud Memorystore for Redis-Ressourcen. |
|
Redis-Bearbeiter | Alle redis -Berechtigungen außer
|
Memorystore for Redis-Instanzen verwalten. Kann keine Instanzen erstellen oder löschen. |
|
Redis-Betrachter | Alle redis -Berechtigungen außer
|
Lesezugriff auf alle Memorystore for Redis-Ressourcen. |
Berechtigungen und ihre Rollen
In der folgenden Tabelle sind alle Berechtigungen aufgeführt, die Memorystore for Redis unterstützt, sowie die zugehörigen Memorystore for Redis-Rollen:
Permission | Redis-Rolle | Einfache Rolle |
---|---|---|
|
Redis-Administrator Redis-Bearbeiter Redis-Betrachter |
Leser |
|
Redis-Administrator Redis-Bearbeiter Redis-Betrachter |
Leser |
|
Redis-Administrator | Autor |
|
Redis-Administrator Redis-Bearbeiter |
Autor |
|
Redis-Administrator | Autor |
|
Redis-Administrator | Autor |
|
Redis-Administrator | Autor |
|
Redis-Administrator | Autor |
|
Redis-Administrator | Autor |
|
Redis-Administrator | Autor |
|
Redis-Administrator Redis-Bearbeiter Redis-Betrachter |
Leser |
|
Redis-Administrator Redis-Bearbeiter Redis-Betrachter |
Leser |
|
Redis-Administrator Redis-Bearbeiter Redis-Betrachter |
Leser |
|
Redis-Administrator Redis-Bearbeiter Redis-Betrachter |
Leser |
|
Redis-Administrator | Autor |
Benutzerdefinierte Rollen
Wenn die vordefinierten Rollen Ihren einmaligen Geschäftsanforderungen nicht gerecht werden, können Sie Ihre eigenen benutzerdefinierten Rollen definieren. Hierbei können Sie die gewünschten Berechtigungen definieren. Dafür bietet IAM benutzerdefinierte Rollen. Wenn Sie benutzerdefinierte Rollen für Memorystore for Redis erstellen, achten Sie darauf, dass sowohl resourcemanager.projects.get
als auch resourcemanager.projects.list
enthalten sind.
Andernfalls funktioniert die Google Cloud Console nicht ordnungsgemäß für Memorystore for Redis. Weitere Informationen finden Sie unter Berechtigungsabhängigkeiten.
Informationen zum Erstellen einer benutzerdefinierten Rolle finden Sie unter Benutzerdefinierte Rolle erstellen.
Erforderliche Berechtigungen für allgemeine Aufgaben in der Google Cloud Console
Damit ein Nutzer Memorystore for Redis über die Google Cloud Console verwenden kann, muss die Rolle des Nutzers die Berechtigungen resourcemanager.projects.get
und resourcemanager.projects.list
enthalten.
Die folgende Tabelle enthält die weiteren Berechtigungen, die für einige häufige Aufgaben in der Google Cloud Console erforderlich sind:
Aufgabe | Zusätzliche erforderliche Berechtigungen |
---|---|
Seite mit der Instanzliste anzeigen |
|
Instanz erstellen und bearbeiten |
|
Instanz löschen |
|
Verbindung zu einer Instanz aus der Cloud Shell herstellen |
|
Instanzinformationen aufrufen |
|
RDB-Sicherungsdateien importieren und exportieren |
|
Upgrade der Redis-Version einer Instanz durchführen |
|
Erforderliche Berechtigungen für gcloud-Befehle
Damit ein Nutzer Memorystore for Redis mit gcloud
-Befehlen verwenden kann, muss die Rolle des Nutzers die Berechtigungen resourcemanager.projects.get
und resourcemanager.projects.list
enthalten.
In der folgenden Tabelle sind die Berechtigungen aufgeführt, die der Nutzer, der einen gcloud
-Befehl aufruft, für jeden Unterbefehl gcloud redis
haben muss:
Befehl | Erforderliche Berechtigungen |
---|---|
gcloud redis instances auth |
|
gcloud redis instances create |
|
gcloud redis instances delete |
|
gcloud redis instances update |
|
gcloud redis instances list |
|
gcloud redis instances describe |
|
gcloud redis instances import |
|
gcloud redis instances export |
|
gcloud redis instances upgrade |
|
gcloud redis operations list |
|
gcloud redis operations describe |
|
gcloud redis regions list |
|
gcloud redis regions describe |
|
gcloud redis zones list |
|
Erforderliche Berechtigungen für API-Methoden
In der folgenden Tabelle sind die Berechtigungen aufgeführt, die der Aufrufer zum Aufrufen der einzelnen Methoden in der Memorystore for Redis API oder zum Ausführen von Aufgaben mit Google Cloud-Tools, die die API verwenden, haben muss (z. B. die Google Cloud Console oder das gcloud
-Befehlszeilentool):
Methode | Erforderliche Berechtigungen |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Das Memorystore for Redis-Dienstkonto
Jede Memorystore for Redis-Instanz hat ein Dienstkonto, über das sie mit anderen Google Cloud-Ressourcen kommuniziert.
Manchmal (z. B. beim Exportieren oder Verwenden von CMEK) müssen Sie dem Dienstkonto bestimmte Rollen oder Berechtigungen erteilen.
Format des Memorystore for Redis-Dienstkontos
Das Dienstkonto Ihrer Instanz verwendet je nach Erstellungsdatum eines von zwei Formaten.
Das erste Format ist:
[PROJECT_NUMBER]-compute@developer.gserviceaccount.com
Das zweite Format ist:
service-[PROJECT_NUMBER]@cloud-redis.iam.gserviceaccount.com
Informationen zur Quelle der Wahrheit für das Dienstkonto, das Ihre Instanz verwendet, finden Sie unter Dienstkonto Ihrer Instanz ansehen.
Bekannte Probleme
Manchmal kann ein Dienstkonto im Format [PROJECT_NUMBER]-compute@developer.gserviceaccount.com
mit den Richtlinien Ihrer Organisation in Konflikt stehen. Weitere Informationen und Schritte zur Behebung dieser Probleme finden Sie unter Probleme mit der Organisationsrichtlinie für die freigabebeschränkte Domain.
So rufen Sie das Dienstkonto Ihrer Instanz auf:
Führen Sie zum Ermitteln des Dienstkontos für Ihre Instanz den folgenden Befehl aus und notieren Sie sich das unter persistenceIamIdentity
aufgeführte Dienstkonto:
gcloud redis instances describe [INSTANCE_ID] --region=[REGION]
Berechtigungen für Redis AUTH
Die folgende Tabelle enthält die Mindestberechtigungen, die ein Nutzer zum Ausführen einiger grundlegender AUTH-Aufgaben von Memorystore for Redis ausführen muss.
Berechtigungen erforderlich | Erstellen einer Memorystore-Instanz mit aktiviertem Redis AUTH. | Aktivieren / deaktivieren Sie AUTH in einer vorhandenen Redis-Instanz. | Sehen Sie sich den AUTH-String an. | Prüfen Sie, ob AUTH für eine Redis-Instanz aktiviert / deaktiviert ist. |
---|---|---|---|---|
redis.instances.create
|
✓ | X | X | X |
redis.instances.update
|
X | ✓ | X | X |
redis.instances.get
|
X | X | X | ✓ |
redis.instances.updateAuth
|
✓ | ✓ | X | X |
redis.instances.getAuthString
|
X | X | ✓ | X |
Berechtigungen für die Verschlüsselung während der Übertragung
Die folgende Tabelle enthält die Berechtigungen, die zum Aktivieren und Verwalten der Verschlüsselung während der Übertragung für Memorystore for Redis erforderlich sind.
Berechtigungen erforderlich | Memorystore-Instanz mit Verschlüsselung während der Übertragung erstellen | Zertifizierungsstelle herunterladen |
---|---|---|
redis.instances.create
|
✓ | X |
redis.instances.get
|
X | ✓ |
Berechtigungen für Wartungsrichtlinien
Die folgende Tabelle enthält die Berechtigungen, die zum Verwalten der Wartungsrichtlinie für Memorystore for Redis erforderlich sind.
Berechtigungen erforderlich | Memorystore-Instanz mit aktivierter Wartungsrichtlinie erstellen | Wartungsrichtlinien für eine vorhandene Memorystore-Instanz erstellen oder ändern | Einstellungen für Wartungsrichtlinien aufrufen | Wartung verschieben |
---|---|---|---|---|
redis.instances.create
|
✓ | X | X | X |
redis.instances.update
|
X | ✓ | X | X |
redis.instances.get
|
X | X | ✓ | X |
redis.instances.rescheduleMaintenance
|
X | X | X | ✓ |
Erforderliche Berechtigungen für Import und Export
Wenn Sie benutzerdefinierte Rollen für den Import und Export verwenden, sind zwei separate benutzerdefinierte Rollen erforderlich. Eine benutzerdefinierte Rolle für den Nutzer und eine zusätzliche benutzerdefinierte Rolle für das Dienstkonto der Redis-Instanz. Die benutzerdefinierte Rolle für das Dienstkonto verwendet Berechtigungen auf Cloud Storage-Bucket-Ebene.
Informationen zum Ermitteln des Dienstkontos für Ihre Instanz finden Sie unter Dienstkonto Ihrer Instanz aufrufen.
Berechtigungen für das Dienstkonto
Sie müssen dem Dienstkonto nur Storage-Berechtigungen auf Bucket-Ebene zuweisen, nicht auf das gesamte Projekt. Eine Anleitung finden Sie unter Hauptkonten zu einer Richtlinie auf Bucket-Ebene hinzufügen.
Sobald Sie Ihrem Dienstkonto Berechtigungen auf Bereichsebene erteilen, können Sie die Meldung ignorieren, die besagt: „Memorystore kann nicht überprüfen, ob das Dienstkonto xxxx@xxxx.gserviceaccount.com über die zum Importieren/Exportieren erforderlichen Berechtigungen verfügt. Wenn Sie Hilfe beim Überprüfen oder Aktualisieren von Berechtigungen benötigen, wenden Sie sich an den Administrator Ihres Projekts. Informationen zu den erforderlichen Berechtigungen finden Sie in der Dokumentation zu Import-/Exportberechtigungen." Wenn Sie die unten aufgeführten Berechtigungen auf benutzerdefinierte Rollen für das Nutzerkonto und das Dienstkonto anwenden, ist der Import/Export erfolgreich.
Berechtigungen für benutzerdefinierte Rolle für das Dienstkonto | Mit gcloud importieren | Mit gcloud exportieren | Mit der Google Cloud Console importieren | Mit der Google Cloud Console exportieren |
---|---|---|---|---|
storage.buckets.get |
✓ | ✓ | ✓ | ✓ |
storage.objects.get |
✓ | X | ✓ | X |
storage.objects.create |
X | ✓ | X | ✓ |
storage.objects.delete |
X | Optional (Berechtigung zum Überschreiben einer vorhandenen RDB-Datei). |
X | Optional (Berechtigung zum Überschreiben einer vorhandenen RDB-Datei). |
Berechtigungen für das Nutzerkonto
Berechtigungen für die benutzerdefinierte Rolle für das Nutzerkonto | Mit gcloud importieren | Mit gcloud exportieren | Mit der Google Cloud Console importieren | Mit der Google Cloud Console exportieren |
---|---|---|---|---|
resourcemanager.projects.get |
X | X | ✓ | ✓ |
redis.instances.get |
✓ | ✓ | ✓ | ✓ |
redis.instances.list |
X | X | X | X |
redis.instances.import |
✓ | X | ✓ | X |
redis.instances.export |
X | ✓ | X | ✓ |
redis.operations.get |
X | ✓ | ✓ | ✓ |
redis.operations.list |
X | X | ✓ | ✓ |
redis.operations.cancel |
✓ | ✓ | ✓ | ✓ |
storage.buckets.list |
X | X | ✓ | ✓ |
storage.buckets.get |
X | X | ✓ | ✓ |
storage.objects.list |
X | X | ✓ | ✓ |
storage.objects.get |
X | X | ✓ | ✓ |
Nächste Schritte
- Zugriff gewähren und widerrufen.
- Dokumentation zu Cloud Identity and Access Management
- Informationen zu benutzerdefinierten IAM-Rollen