Mit Identity and Access Management (IAM) können Sie den Nutzerzugriff auf Spanner Omni-Ressourcen steuern. Ein Nutzer kann beispielsweise uneingeschränkten Zugriff auf eine bestimmte Datenbank haben, aber keine anderen Datenbanken in Ihrer Bereitstellung erstellen oder ändern. Mit IAM können Sie einem Nutzer eine Berechtigung erteilen, ohne jede Spanner Omni-Datenbankberechtigung einzeln ändern zu müssen.
In diesem Dokument werden die für Spanner Omni relevanten IAM-Berechtigungen und die IAM-Rollen beschrieben, die mit diesen Berechtigungen erteilt werden. Eine detaillierte Beschreibung von IAM und seinen Funktionen finden Sie im Entwicklerhandbuch zur Identitäts- und Zugriffsverwaltung.
Berechtigungen
Berechtigungen erlauben es Nutzern, bestimmte Aktionen mit Spanner Omni-Ressourcen durchzuführen. Die Berechtigung spanner.databases.read gestattet es Nutzern beispielsweise, mit der Lese-API von Spanner Omni eine Datenbank auszulesen. Mit spanner.databases.export haben sie die Möglichkeit, eine Spanner Omni-Datenbank zu exportieren.
Sie erteilen den Nutzern die Berechtigungen nicht direkt, sondern weisen ihnen vordefinierte Rollen zu, die eine oder mehrere Berechtigungen enthalten.
In den folgenden Tabellen sind die IAM-Berechtigungen aufgeführt, die mit Spanner Omni verknüpft sind. Einige Berechtigungen werden mit Spanner geteilt, andere werden nur von Spanner Omni verwendet.
Datenbanken
Die folgenden Berechtigungen gelten für Spanner Omni-Datenbanken.
| Name der Datenbankberechtigung | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
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.get |
Metadaten einer Datenbank abrufen. | ✔ | |
spanner.databases.getIamPolicy |
IAM-Richtlinie einer Datenbank abrufen. | ✔ | |
spanner.databases.list |
Datenbanken auflisten. | ✔ | |
spanner.databases.read |
Daten über die Lese-API aus einer Datenbank auslesen. | ✔ | |
spanner.databases.setIamPolicy |
IAM-Richtlinie einer Datenbank festlegen. | ✔ | |
spanner.databases.update |
Metadaten einer Datenbank aktualisieren. | ✔ | |
spanner.databases.updateDdl |
Schema einer Datenbank aktualisieren. | ✔ | |
spanner.databases.write |
In eine Datenbank schreiben. | ✔ | |
spanner.databases.compact |
Tabellen in einer Datenbank komprimieren | ✔ | |
spanner.databases.export |
Exportiert eine Spanner Omni-Datenbank | ✔ | |
spanner.databases.import |
Importiert eine Spanner Omni-Datenbank | ✔ | |
spanner.databases.addSplitPoints |
Fügt einer Datenbank Aufteilungspunkte hinzu. | ✔ |
Datenbankvorgänge
Die folgenden Berechtigungen gelten für Spanner Omni-Datenbankvorgänge.
| Name der Berechtigung für Datenbankvorgänge | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
spanner.databaseOperations.cancel |
Datenbankvorgang abbrechen. | ✔ | |
spanner.databaseOperations.delete |
Datenbankvorgang löschen. | ✔ | |
spanner.databaseOperations.get |
Bestimmten Datenbankvorgang abrufen. | ✔ | |
spanner.databaseOperations.list |
Datenbankvorgänge auflisten und Datenbankvorgänge wiederherstellen. | ✔ |
Sicherungen
Die folgenden Berechtigungen gelten für Spanner Omni-Sicherungen.
| Name der Sicherungsberechtigung | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
spanner.backups.copy |
Eine Sicherung kopieren. | ✔ | |
spanner.backups.create |
Eine Sicherung erstellen. Erfordert außerdem spanner.databases.createBackup für die Quelldatenbank. |
✔ | |
spanner.backups.createDatabaseFromBackup |
Erstellen Sie eine Datenbank aus einer Sicherung. | ✔ | |
spanner.backups.delete |
Eine Sicherung löschen. | ✔ | |
spanner.backups.get |
Eine Sicherung abrufen. | ✔ | |
spanner.backups.getIamPolicy |
Rufen Sie die IAM-Richtlinie einer Sicherung ab. | ✔ | |
spanner.backups.list |
Sicherungen auflisten. | ✔ | |
spanner.backups.restoreDatabase |
Datenbank aus einer Sicherung wiederherstellen. Erfordert außerdem spanner.databases.create, um die wiederhergestellte Datenbank zu erstellen. |
✔ | |
spanner.backups.setIamPolicy |
Legen Sie die IAM-Richtlinie einer Sicherung fest. | ✔ | |
spanner.backups.update |
Eine Sicherung aktualisieren. | ✔ | |
spanner.backups.import |
Importiert eine Sicherung aus einem externen Speicher | ✔ |
Sicherungsvorgänge
Die folgenden Berechtigungen gelten für Spanner Omni-Sicherungsvorgänge.
| Berechtigungsname für den Sicherungsvorgang | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
spanner.backupOperations.cancel |
Einen Sicherungsvorgang abbrechen. | ✔ | |
spanner.backupOperations.get |
Einen bestimmten Sicherungsvorgang abrufen. | ✔ | |
spanner.backupOperations.list |
Sicherungsvorgänge auflisten. | ✔ |
Sicherungszeitpläne
Die folgenden Berechtigungen gelten für Spanner Omni-Sicherungszeitpläne.
| Name der Berechtigung für den Sicherungszeitplan | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
spanner.backupSchedules.create |
Erstellen Sie einen Sicherungszeitplan. Erfordert außerdem spanner.databases.createBackup für die Quelldatenbank. |
✔ | |
spanner.backupSchedules.delete |
Sicherungszeitplan löschen | ✔ | |
spanner.backupSchedules.get |
Sicherungszeitplan abrufen. | ✔ | |
spanner.backupSchedules.list |
Sicherungszeitpläne auflisten. | ✔ | |
spanner.backupSchedules.update |
Einen Sicherungszeitplan aktualisieren. | ✔ | |
spanner.backupSchedules.getIamPolicy |
IAM-Richtlinie eines Sicherungszeitplans abrufen. | ✔ | |
spanner.backupSchedules.setIamPolicy |
IAM-Richtlinie für einen Sicherungszeitplan festlegen. | ✔ |
Sicherungsdeskriptoren
Die folgenden Berechtigungen gelten für Spanner Omni-Sicherungsdeskriptoren.
| Name der Berechtigung für den Sicherungsdeskriptor | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
spanner.backupDescriptors.import |
Importiert eine Sicherung aus einem Sicherungsdeskriptor. | ✔ | |
spanner.backupDescriptors.list |
Sicherungsdeskriptoren auflisten. | ✔ |
Sitzungen
Die folgenden Berechtigungen gelten für Spanner Omni-Sitzungen.
| Name der Sitzungsberechtigung | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
spanner.sessions.create |
Sitzung erstellen. | ✔ | |
spanner.sessions.delete |
Sitzung löschen. | ✔ | |
spanner.sessions.get |
Sitzung abrufen. | ✔ | |
spanner.sessions.list |
Sitzungen auflisten. | ✔ |
Standort und Zonen
Die folgenden Berechtigungen gelten für Spanner Omni-Standorte und -Zonen.
| Name der Berechtigung | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
spanner.locations.create |
Spanner Omni-Standort erstellen | ✔ | |
spanner.locations.delete |
Spanner Omni-Standort löschen | ✔ | |
spanner.locations.get |
Spanner Omni-Standort abrufen | ✔ | |
spanner.locations.list |
Spanner Omni-Standorte auflisten | ✔ | |
spanner.locationDistances.create |
Spanner Omni-Standortentfernung erstellen | ✔ | |
spanner.locationDistances.delete |
Spanner Omni-Standortentfernung löschen | ✔ | |
spanner.locationDistances.get |
Entfernung zu einem Spanner-Omni-Standort abrufen | ✔ | |
spanner.locationDistances.list |
Entfernungen von Spanner-Omni-Standorten auflisten | ✔ | |
spanner.locationDistances.update |
Entfernung eines Spanner Omni-Standorts aktualisieren | ✔ | |
spanner.zones.create |
Spanner Omni-Zone erstellen | ✔ | |
spanner.zones.delete |
Spanner Omni-Zone löschen | ✔ | |
spanner.zones.get |
Spanner-Omni-Zone abrufen | ✔ | |
spanner.zones.list |
Spanner Omni-Zonen auflisten | ✔ |
Server
Die folgenden Berechtigungen gelten für Spanner Omni-Server.
| Name der Serverberechtigung | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
spanner.servers.create |
Erstellt einen Spanner Omni-Server. | ✔ | |
spanner.servers.delete |
Löscht einen Spanner Omni-Server | ✔ | |
spanner.servers.get |
Ruft einen Spanner Omni-Server ab. | ✔ | |
spanner.servers.list |
Listet Spanner Omni-Server auf | ✔ |
Nutzer und Rollen
Die folgenden Berechtigungen gelten für Spanner Omni-Nutzer und -Rollen.
| Name der Berechtigung | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
spanner.users.create |
Erstellt einen Spanner Omni-Nutzer. | ✔ | |
spanner.users.delete |
Löscht einen Spanner Omni-Nutzer | ✔ | |
spanner.users.get |
Ruft einen Spanner Omni-Nutzer ab. | ✔ | |
spanner.users.list |
Spanner Omni-Nutzer auflisten | ✔ | |
spanner.users.update |
Aktualisiert einen Spanner Omni-Nutzer | ✔ | |
spanner.roles.get |
Ruft eine Spanner Omni-Rolle ab | ✔ | |
spanner.roles.list |
Listet Spanner Omni-Rollen auf | ✔ |
Externer Speicher
Die folgenden Berechtigungen gelten für den externen Spanner Omni-Speicher.
| Name der Berechtigung für externe Speichergeräte | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
spanner.externalStorages.create |
Externen Speicher erstellen | ✔ | |
spanner.externalStorages.delete |
Löscht einen externen Speicher | ✔ | |
spanner.externalStorages.get |
Externen Speicher abrufen | ✔ | |
spanner.externalStorages.getIamPolicy |
Ruft die IAM-Richtlinie eines externen Speichers ab. | ✔ | |
spanner.externalStorages.list |
Externe Speicher auflisten | ✔ | |
spanner.externalStorages.setIamPolicy |
Legt die IAM-Richtlinie eines externen Speichers fest. | ✔ |
Dateisystem und Deskriptoren
Die folgenden Berechtigungen gelten für das Spanner Omni-Dateisystem.
| Name der Berechtigung | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
spanner.filesystem.cat |
Druckt Dateien im Spanner Omni-Dateisystem | ✔ | |
spanner.filesystem.ls |
Listet Dateien im Spanner Omni-Dateisystem auf | ✔ | |
spanner.descriptors.print |
Gibt Deskriptoren im Spanner Omni-Dateisystem aus. | ✔ |
Weitere Administratorberechtigungen
Die folgenden Berechtigungen gelten für andere Spanner Omni-Administratoraufgaben.
| Name der Berechtigung | Beschreibung | Spanner und Spanner Omni | Nur Spanner Omni |
|---|---|---|---|
spanner.chubby.list |
Listet Chubby-Zellen auf | ✔ | |
spanner.chubby.print |
Gibt die Inhalte der Chubby-Zelle aus | ✔ | |
spanner.deployment.get |
Spanner Omni-Bereitstellung abrufen | ✔ | |
spanner.diagnostics.create |
Erfasst Artefakte von Spanner Omni-Servern zum Debuggen | ✔ | |
spanner.internal-tables.sql |
Führt SQL-Abfragen für interne Tabellen aus | ✔ | |
spanner.logs.copy |
Kopiert Protokolle von einem Spanner Omni-Server | ✔ | |
spanner.tablet.move |
Verschiebt ein Tablet von einem Spanner Omni-Server auf einen anderen | ✔ | |
spanner.workflows.delete |
Löscht einen Workflow in einer Datenbank | ✔ | |
spanner.groups.compact |
Tablets in einer Gruppe zusammenfassen | ✔ | |
spanner.directories.compact |
Kompakt-Tablets in einem Verzeichnis | ✔ |
Vordefinierte Rollen
Eine vordefinierte Rolle ist ein Bündel aus einer oder mehreren Berechtigungen. Spanner Omni unterstützt die folgenden vordefinierten Rollen:
| Rolle | Beschreibung |
|---|---|
roles/spanner.admin |
Umfasst vollständigen Zugriff auf alle Spanner Omni-Ressourcen. Beinhaltet alle Berechtigungen. |
roles/spanner.backupAdmin |
Hat vollständigen Zugriff auf Spanner Omni-Sicherungen und ‑Sicherungsvorgänge. |
roles/spanner.backupWriter |
Kann Sicherungen erstellen, aber nicht aktualisieren oder löschen. |
roles/spanner.databaseAdmin |
Umfasst vollständigen Zugriff auf alle Spanner Omni-Datenbanken in einem Projekt. |
roles/spanner.databaseReader |
Kann Daten aus der Spanner Omni-Datenbank lesen und das Schema ansehen. |
roles/spanner.databaseUser |
Kann Daten aus der Spanner Omni-Datenbank lesen und in diese schreiben. |
roles/spanner.editor |
Bearbeiterrolle für Spanner Omni. |
roles/spanner.restoreAdmin |
Kann eine Datenbank aus einer Sicherung wiederherstellen. |
roles/spanner.viewer |
Kann alle Spanner Omni-Ressourcen ansehen, aber nicht ändern. Beinhaltet Leseberechtigungen. |
Für Spanner Omni gelten einige weitere wichtige Einschränkungen:
- Keine benutzerdefinierten Rollen.
- Keine detaillierte Zugriffssteuerung.
- Keine IAM-Bedingungen.