Zugriffssteuerung und -berechtigungen

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 Projektmitglieder bereitstellen können. Die einem Projektmitglied zugewiesene Rolle bestimmt die Aktionen, die vom jeweiligen Mitglied vorgenommen werden können. Projektmitglieder können Einzelpersonen, Gruppen oder Dienstkonten sein.

Sie können einem Projektmitglied mehrere Rollen zuweisen. Wenn Sie die entsprechenden Berechtigungen haben, können Sie die zugewiesenen Rollen 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

roles/owner

Inhaber

redis.*

Uneingeschränkter Zugriff auf und Kontrolle über alle Google Cloud-Ressourcen; Verwaltung des Nutzerzugriffs

roles/editor

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

roles/viewer

Betrachter

redis.*.get redis.*.list

Lesezugriff auf alle Google Cloud-Ressourcen, einschließlich Redis-Ressourcen

roles/redis.admin

Redis-Administrator

redis.*

Uneingeschränkte Kontrolle über alle Cloud Memorystore for Redis-Ressourcen.

roles/redis.editor

Redis-Bearbeiter Alle redis-Berechtigungen außer

redis.instances.create redis.instances.delete redis.instances.upgrade redis.instances.import redis.instances.export redis.instances.updateAuth redis.instances.getAuthString redis.operations.delete

Memorystore for Redis-Instanzen verwalten. Kann keine Instanzen erstellen oder löschen.

roles/redis.viewer

Redis-Betrachter Alle redis-Berechtigungen außer

redis.instances.create redis.instances.delete redis.instances.update redis.instances.upgrade redis.instances.import redis.instances.export redis.instances.updateAuth redis.instances.getAuthString redis.operations.delete

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.instances.list

Redis-Administrator
Redis-Bearbeiter
Redis-Betrachter
Leser

redis.instances.get

Redis-Administrator
Redis-Bearbeiter
Redis-Betrachter
Leser

redis.instances.create

Redis-Administrator Autor

redis.instances.update

Redis-Administrator
Redis-Bearbeiter
Autor

redis.instances.updateAuth

Redis-Administrator Autor

redis.instances.getAuthString

Redis-Administrator Autor

redis.instances.delete

Redis-Administrator Autor

redis.instances.upgrade

Redis-Administrator Autor

redis.instances.import

Redis-Administrator Autor

redis.instances.export

Redis-Administrator Autor

redis.locations.list

Redis-Administrator
Redis-Bearbeiter
Redis-Betrachter
Leser

redis.locations.get

Redis-Administrator
Redis-Bearbeiter
Redis-Betrachter
Leser

redis.operations.list

Redis-Administrator
Redis-Bearbeiter
Redis-Betrachter
Leser

redis.operations.get

Redis-Administrator
Redis-Bearbeiter
Redis-Betrachter
Leser

redis.operations.delete

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 Cloud Console

Damit ein Nutzer mit Memorystore for Redis über die Cloud Console arbeiten 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 Cloud Console erforderlich sind:

Aufgabe Zusätzliche erforderliche Berechtigungen
Seite mit der Instanzliste anzeigen

redis.instances.get
redis.instances.list

Instanz erstellen und bearbeiten

redis.instances.create
redis.instances.get
redis.instances.list
compute.networks.list

Instanz löschen

redis.instances.delete
redis.instances.get
redis.instances.list

Verbindung zu einer Instanz aus der Cloud Shell herstellen

redis.instances.get
redis.instances.list
redis.instances.update

Instanzinformationen aufrufen

redis.instances.get
monitoring.timeSeries.list

RDB-Sicherungsdateien importieren und exportieren

redis.instances.import
redis.instances.export

Upgrade der Redis-Version einer Instanz durchführen

redis.instances.upgrade

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

redis.instances.updateAuth
redis.instances.getAuthString

gcloud redis instances create

redis.instances.get
redis.instances.create

gcloud redis instances delete

redis.instances.delete

gcloud redis instances update

redis.instances.get
redis.instances.update

gcloud redis instances list

redis.instances.list

gcloud redis instances describe

redis.instances.get

gcloud redis instances import

redis.instances.import

gcloud redis instances export

redis.instances.export

gcloud redis instances upgrade

redis.instances.upgrade

gcloud redis operations list

redis.operations.list

gcloud redis operations describe

redis.operations.get

gcloud redis regions list

redis.locations.list

gcloud redis regions describe

redis.locations.get

gcloud redis zones list

redis.locations.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 Cloud Console oder das gcloud-Befehlszeilentool):

Methode Erforderliche Berechtigungen

locations.get

redis.locations.get

locations.list

redis.locations.list

instances.create

redis.instances.create

instances.delete

redis.instances.delete

instances.get

redis.instances.get

instances.list

redis.instances.list

instances.patch

redis.instances.update

instances.import

redis.instances.import

instances.export

redis.instances.export

instances.upgrade

redis.instances.upgrade

operations.get

redis.operations.get

operations.list

redis.operations.list

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

In der folgenden Tabelle sind die Berechtigungen aufgeführt, die zum Aktivieren und Verwalten der In-transit-Verschlüsselung 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

Import- und Exportberechtigungen

Um benutzerdefinierte Rollen für den Import und Export zu verwenden, sind zwei separate benutzerdefinierte Rollen erforderlich. Eine benutzerdefinierte Rolle für den Nutzer und eine weitere benutzerdefinierte Rolle für das Dienstkonto der Redis-Instanz. Die benutzerdefinierte Rolle für das Dienstkonto verwendet Berechtigungen auf Cloud Storage-Bucket-Ebene.

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 Mitglieder 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 xxxxxxxxxxxx-compute@developer.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 Cloud Console importieren Mit der 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 Cloud Console importieren Mit der 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 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

In der folgenden Tabelle sind die Berechtigungen aufgeführt, die zum Aktivieren und Verwalten der In-transit-Verschlüsselung für Memorystore for Redis erforderlich sind.

Nächste Schritte