Übersicht
Mit Identity and Access Management (IAM) können Sie den Nutzer- und Gruppenzugriff auf Cloud Spanner-Ressourcen für Projekte, Cloud Spanner-Instanzen und Cloud Spanner-Datenbanken steuern. Sie können beispielsweise angeben, dass ein Nutzer uneingeschränkten Zugriff auf eine bestimmte Datenbank in einer bestimmten Instanz in einem Projekt hat, jedoch keine Instanzen in dem Projekt erstellen, ändern oder löschen kann. Mit Cloud Spanner IAM kann einem Nutzer oder einer Gruppe eine Berechtigung erteilt werden, ohne dass alle Instanz- oder Datenbankberechtigungen in Cloud Spanner einzeln geändert werden müssen.
In diesem Dokument werden die für Cloud Spanner relevanten IAM-Berechtigungen und die IAM-Rollen beschrieben, die mit diesen Berechtigungen erteilt werden. Eine detaillierte Beschreibung zu IAM und seinen Features finden Sie im Entwicklerhandbuch zur Identitäts- und Zugriffsverwaltung. Besonders im Abschnitt IAM-Richtlinien verwalten finden Sie relevante Informationen.
Berechtigungen
Berechtigungen erlauben es Nutzern, bestimmte Aktionen mit Cloud Spanner-Ressourcen durchzuführen. Die Berechtigung spanner.databases.read
gestattet es Nutzern beispielsweise, mit der Lese-API von Cloud Spanner eine Datenbank auszulesen. Mit spanner.databases.select
haben sie die Möglichkeit, die SQL-Anweisung "Select" für Datenbanken auszuführen. Sie erteilen den Nutzern die Berechtigungen nicht direkt, sondern Sie weisen ihnen vordefinierte Rollen oder benutzerdefinierte Rollen zu, die eine oder mehrere Berechtigungen enthalten.
In den folgenden Tabellen werden die IAM-Berechtigungen im Zusammenhang mit Cloud Spanner aufgeführt.
Instanzkonfigurationen
Die folgenden Berechtigungen gelten für Cloud Spanner-Instanzkonfigurationen. Weitere Informationen finden Sie in der Referenz zu Instanzkonfigurationen: REST, RPC.
Name der Berechtigung für Instanzkonfigurationen | Beschreibung |
---|---|
spanner.instanceConfigs.list |
Instanzkonfigurationen auflisten. |
spanner.instanceConfigs.get |
Instanzkonfiguration abrufen. |
Instanzen
Die folgenden Berechtigungen gelten für Cloud Spanner-Instanzen. Weitere Informationen finden Sie in der Referenz zu Instanzen: REST, RPC.
Name der Instanzberechtigung | Beschreibung |
---|---|
spanner.instances.create |
Instanz erstellen. |
spanner.instances.list |
Instanzen auflisten. |
spanner.instances.get |
Konfiguration einer bestimmten Instanz abrufen. |
spanner.instances.getIamPolicy |
IAM-Richtlinie einer Instanz abrufen. |
spanner.instances.update |
Instanz aktualisieren. |
spanner.instances.setIamPolicy |
IAM-Richtlinie einer Instanz festlegen. |
spanner.instances.delete |
Instanz löschen. |
Instanzvorgänge
Die folgenden Berechtigungen gelten für Cloud Spanner-Instanzvorgänge. Weitere Informationen finden Sie in der Referenz zu Instanzen: REST, RPC.
Name der Berechtigung für Instanzvorgänge | Beschreibung |
---|---|
spanner.instanceOperations.list |
Instanzvorgänge auflisten. |
spanner.instanceOperations.get |
Bestimmten Instanzvorgang abrufen. |
spanner.instanceOperations.cancel |
Instanzvorgang abbrechen. |
spanner.instanceOperations.delete |
Instanzvorgang löschen. |
Datenbanken
Die folgenden Berechtigungen gelten für Cloud Spanner-Datenbanken. Weitere Informationen finden Sie in der Referenz zu Datenbanken: REST, RPC.
Name der Datenbankberechtigung | Beschreibung |
---|---|
spanner.databases.beginPartitionedDmlTransaction |
Partitionierte DML-Anweisung (Data Manipulation Language) ausführen |
spanner.databases.create |
Datenbank erstellen |
spanner.databases.createBackup |
Erstellen Sie eine Sicherung aus der Datenbank. Erfordert auch spanner.backups.create , um die Sicherungsressource zu erstellen. |
spanner.databases.list |
Datenbanken auflisten. |
spanner.databases.update |
Metadaten einer Datenbank aktualisieren. |
spanner.databases.updateDdl |
Schema einer Datenbank aktualisieren. |
spanner.databases.get |
Metadaten einer Datenbank abrufen. |
spanner.databases.getDdl |
Schema einer Datenbank abrufen. |
spanner.databases.getIamPolicy |
IAM-Richtlinie einer Datenbank abrufen. |
spanner.databases.setIamPolicy |
IAM-Richtlinie einer Datenbank festlegen. |
spanner.databases.beginReadOnlyTransaction |
Schreibgeschützte Transaktion für eine Cloud Spanner-Datenbank starten. |
spanner.databases.beginOrRollbackReadWriteTransaction |
Schreibgeschützte Transaktion für eine Cloud Spanner-Datenbank starten oder zurücksetzen. |
spanner.databases.read |
Daten über die Lese-API aus einer Datenbank auslesen. |
spanner.databases.select |
SQL-SELECT-Anweisung für eine Datenbank ausführen. |
spanner.databases.write |
In eine Datenbank schreiben. |
spanner.databases.drop |
Datenbank löschen. |
Datenbankvorgänge
Die folgenden Berechtigungen gelten für Cloud Spanner-Datenbankvorgänge. Weitere Informationen finden Sie in der Referenz zu Datenbanken: REST, RPC.
Name der Berechtigung für Datenbankvorgänge | Beschreibung |
---|---|
spanner.databaseOperations.list |
Datenbankvorgänge auflisten und Datenbankvorgänge wiederherstellen. |
spanner.databaseOperations.get |
Bestimmten Datenbankvorgang abrufen. |
spanner.databaseOperations.cancel |
Datenbankvorgang abbrechen. |
spanner.databaseOperations.delete |
Datenbankvorgang löschen. |
Sicherungen
Die folgenden Berechtigungen gelten für Cloud Spanner-Sicherungen. Weitere Informationen finden Sie in der Referenz zu Sicherungen: REST, RPC.
Name der Sicherungsberechtigung | Beschreibung |
---|---|
spanner.backups.create |
Eine Sicherung erstellen. Erfordert außerdem spanner.databases.createBackup für die Quelldatenbank. |
spanner.backups.get |
Eine Sicherung abrufen. |
spanner.backups.update |
Eine Sicherung aktualisieren. |
spanner.backups.delete |
Eine Sicherung löschen. |
spanner.backups.list |
Sicherungen auflisten. |
spanner.backups.restoreDatabase |
Datenbank aus einer Sicherung wiederherstellen. Erfordert außerdem spanner.databases.create , um die wiederhergestellte Datenbank auf der Zielinstanz zu erstellen. |
spanner.backups.getIamPolicy |
Rufen Sie die IAM-Richtlinie einer Sicherung ab. |
spanner.backups.setIamPolicy |
Legen Sie die IAM-Richtlinie einer Sicherung fest. |
Sicherungsvorgänge
Die folgenden Berechtigungen gelten für Cloud Spanner-Sicherungsvorgänge (siehe Datenbankreferenz: REST, RPC).
Berechtigungsname für den Sicherungsvorgang | Beschreibung |
---|---|
spanner.backupOperations.list |
Sicherungsvorgänge auflisten. |
spanner.backupOperations.get |
Einen bestimmten Sicherungsvorgang abrufen. |
spanner.backupOperations.cancel |
Einen Sicherungsvorgang abbrechen. |
Sitzungen
Die folgenden Berechtigungen gelten für Cloud Spanner-Sitzungen. Weitere Informationen finden Sie in der Referenz zu Datenbanken: REST, RPC.
Name der Sitzungsberechtigung | Beschreibung |
---|---|
spanner.sessions.create |
Sitzung erstellen. |
spanner.sessions.get |
Sitzung abrufen. |
spanner.sessions.delete |
Sitzung löschen. |
spanner.sessions.list |
Sitzungen auflisten. |
Vordefinierte Rollen
Eine vordefinierte Rolle ist ein Bündel aus einer oder mehreren Berechtigungen. Die vordefinierte Rolle roles/spanner.databaseUser
enthält beispielsweise die Berechtigungen spanner.databases.read
und spanner.database.write
. Es gibt zwei Arten vordefinierter Rollen für Cloud Spanner:
- Personenbezogene Rollen: werden Nutzern oder Gruppen erteilt, damit diese Aktionen für die Ressourcen in einem Projekt ausführen können.
- Computerbezogene Rollen: werden Dienstkonten erteilt, damit Computer, die unter diesen Dienstkonten ausgeführt werden, Aktionen für die Ressourcen in einem Projekt ausführen können.
In der folgenden Tabelle werden die Cloud Spanner IAM-Rollen aufgeführt, einschließlich einer Liste der Berechtigungen, die mit jeder Rolle verknüpft sind:
Rolle | Titel | Beschreibung | Berechtigungen | Niedrigste Ressource |
---|---|---|---|---|
roles/ |
Cloud Spanner-Administrator |
Umfasst vollständigen Zugriff auf alle Cloud Spanner-Ressourcen in einem Google Cloud-Projekt. Ein Mitglied mit dieser Rolle kann:
|
|
Projekt |
roles/ |
Cloud Spanner-Sicherungsadministrator |
Ein Mitglied mit dieser Rolle kann:
Mit dieser Rolle kann keine Datenbank aus einer Sicherung wiederhergestellt werden. |
|
Instanz |
roles/ |
Cloud Spanner-Sicherungsautor | Diese Rolle ist für Skripts vorgesehen, die die Erstellung von Sicherungen automatisieren. Mitglieder mit dieser Rolle können Sicherungen erstellen, aber nicht aktualisieren oder löschen. |
|
Instanz |
roles/ |
Cloud Spanner-Datenbank-Administrator |
Ein Mitglied mit dieser Rolle kann:
|
|
Instanz |
roles/ |
Cloud Spanner-Datenbank-Leser |
Ein Mitglied mit dieser Rolle kann:
|
|
Datenbank |
roles/ |
Cloud Spanner-Datenbank-Nutzer |
Ein Mitglied mit dieser Rolle kann:
|
|
Datenbank |
roles/ |
Cloud Spanner-Sicherungsadministrator |
Ein Mitglied mit dieser Rolle kann Datenbanken aus Sicherungen wiederherstellen. Wenn Sie eine Sicherung auf einer anderen Instanz wiederherstellen müssen, wenden Sie diese Rolle auf Projektebene oder auf beide Instanzen an. Mit dieser Rolle können keine Sicherungen erstellt werden. |
|
Instanz |
roles/ |
Cloud Spanner-Betrachter |
Ein Mitglied mit dieser Rolle kann:
Sie können diese Rolle beispielsweise mit der Rolle Diese Rolle wird auf Google Cloud-Projektebene für Nutzer empfohlen, die in der Google Cloud Console mit Cloud Spanner-Ressourcen interagieren. |
|
Projekt |
Einfache Rollen
Einfache Rollen sind Rollen auf Projektebene aus der Zeit vor IAM. Weitere Informationen finden Sie unter Einfache Rollen.
Obwohl Cloud Spanner die folgenden grundlegenden Rollen unterstützt, sollten Sie nach Möglichkeit eine der vordefinierten Rollen verwenden. Einfache Rollen umfassen allgemeine Berechtigungen, die für alle Google Cloud-Ressourcen gelten. Im Gegensatz dazu enthalten die vordefinierten Rollen von Cloud Spanner fein abgestufte Berechtigungen, die nur für Cloud Spanner gelten.
Einfache Rolle | Beschreibung |
---|---|
roles/viewer |
Kann die Metadaten von Schemas und Instanzen auflisten und abrufen. Kann auch über SQL Daten aus einer Datenbank auslesen und abfragen. |
roles/editor |
Kann alles, was roles/viewer kann. Kann auch Instanzen und Datenbanken erstellen und Daten in eine Datenbank schreiben. |
roles/owner |
Kann alles, was roles/editor tun. Kann auch den Zugriff auf Datenbanken und Instanzen ändern. |
Benutzerdefinierte Rollen
Wenn die vordefinierten Rollen für Cloud Spanner nicht Ihren Geschäftsanforderungen entsprechen, können Sie eigene benutzerdefinierte Rollen mit den von Ihnen angegebenen Berechtigungen definieren.
Bevor Sie eine benutzerdefinierte Rolle erstellen, müssen Sie festlegen, welche Aufgaben damit auszuführen sind. Anschließend bestimmen Sie die Berechtigungen, die für die einzelnen Aufgaben erforderlich sind, und nehmen diese in die benutzerdefinierte Rolle auf.
Benutzerdefinierte Rollen für Dienstkontoaufgaben
Für die meisten Aufgaben ist es offensichtlich, welche Berechtigungen Sie Ihrer benutzerdefinierten Rolle hinzufügen müssen. Wenn Sie beispielsweise möchten, dass Ihr Dienstkonto eine Datenbank erstellen kann, fügen Sie der benutzerdefinierten Rolle die Berechtigung spanner.databases.create
hinzu.
Wenn Sie jedoch Daten in einer Cloud Spanner-Tabelle lesen oder schreiben, müssen Sie Ihrer benutzerdefinierten Rolle verschiedene Berechtigungen hinzufügen. Die folgende Tabelle zeigt, welche Berechtigungen zum Lesen und Schreiben von Daten benötigt werden.
Dienstkontoaufgabe | Erforderliche Berechtigung |
---|---|
Daten lesen |
spanner.databases.select
|
Daten einfügen, aktualisieren oder löschen |
spanner.databases.beginOrRollbackReadWriteTransaction
|
Sicherung erstellen |
spanner.backups.create
|
Eine Datenbank wiederherstellen |
spanner.databases.create
|
Benutzerdefinierte Rollen für Aufgaben in der Google Cloud Console
Wenn Sie die Berechtigungen ermitteln möchten, die Sie für eine bestimmte Aufgabe in der Cloud Console benötigen, legen Sie den Workflow für diese Aufgabe fest und stellen die Berechtigungen für diesen Workflow zusammen. So führen Sie beispielsweise die folgenden Schritte in der Cloud Console aus, um die Daten in einer Tabelle anzeigen zu lassen:
Schritt | Berechtigungen |
---|---|
1. Auf das Projekt zugreifen | resourcemanager.projects.get |
2. Liste der Instanzen aufrufen | spanner.instances.list |
3. Instanz auswählen | spanner.instances.get |
4. Liste der Datenbanken aufrufen | spanner.databases.list |
5. Datenbank und Tabelle auswählen | spanner.databases.get , spanner.databases.getDdl |
6. Daten in einer Tabelle aufrufen | spanner.databases.select , spanner.sessions.create , spanner.sessions.delete |
In diesem Beispiel benötigen Sie folgende Berechtigungen:
resourcemanager.projects.get
spanner.databases.get
spanner.databases.getDdl
spanner.databases.list
spanner.databases.select
spanner.instances.get
spanner.instances.list
spanner.sessions.create
spanner.sessions.delete
In der folgenden Tabelle sind die Berechtigungen aufgeführt, die für Aktionen in der Cloud Console erforderlich sind.
Vorgang | Berechtigungen |
---|---|
Liste der Instanzen auf der Seite "Instanzen" aufrufen |
|
Liste auf dem Tab "Berechtigungen" der Seite "Instanz" aufrufen |
|
Mitglieder auf dem Tab "Berechtigungen" der Seite "Instanz" einfügen |
|
Instanz aus der Instanzliste auswählen, um die Seite "Instanzdetails" aufzurufen |
|
Instanz erstellen |
|
Instanz löschen |
|
Instanz ändern |
|
Grafiken auf dem Tab "Überwachen" der Seite "Instanzdetails" oder der Seite "Datenbankdetails" aufrufen |
|
Liste der Datenbanken auf der Seite "Instanzdetails" aufrufen |
|
Liste auf dem Tab "Berechtigungen" der Seite "Datenbankdetails" aufrufen |
|
Mitglieder auf dem Tab "Berechtigungen" der Seite "Datenbankdetails" einfügen |
|
Datenbank aus der Datenbankliste auswählen und das Schema auf der Seite "Datenbankdetails" aufrufen |
|
Datenbank erstellen |
|
Datenbank löschen |
|
Tabelle erstellen Tabellenschema aktualisieren |
|
Daten auf dem Tab "Daten" der Seite "Datenbankdetails" aufrufen Abfrage erstellen und ausführen |
|
Daten in einer Tabelle ändern |
|
Den Tab "Backup/Wiederherstellung" aufrufen |
|
Liste der Sicherungsvorgänge aufrufen |
|
Liste der Wiederherstellungsvorgänge anzeigen |
|
Sicherung erstellen |
|
Datenbank aus einer Sicherung wiederherstellen |
|
Sicherung aktualisieren |
|
Sicherung löschen |
|
Verwaltung von Cloud Spanner IAM-Richtlinien
Sie können IAM-Richtlinien mit den REST oder RPC APIs für Cloud Spanner-Instanz-, Datenbank- und Sicherungsressourcen abrufen, festlegen und testen.
Instanzen
REST-API | RPC-API |
---|---|
projects.instances.getIamPolicy |
GetIamPolicy |
projects.instances.setIamPolicy |
SetIamPolicy |
projects.instances.testIamPermissions |
TestIamPermissions |
Datenbanken
REST-API | RPC API |
---|---|
projects.instances.databases.getIamPolicy |
GetIamPolicy |
projects.instances.databases.setIamPolicy |
SetIamPolicy |
projects.instances.databases.testIamPermissions |
TestIamPermissions |
Sicherungen
REST API | RPC-API |
---|---|
projects.instances.backups.getIamPolicy |
GetIamPolicy |
projects.instances.backups.setIamPolicy |
SetIamPolicy |
projects.instances.backups.testIamPermissions |
TestIamPermissions |
Weitere Informationen
- Mehr zum Thema Identitäts- und Zugriffsverwaltung lesen
- IAM-Rollen auf eine Cloud Spanner-Datenbank, -Instanz oder ein Google Cloud-Projekt anwenden