Projektzugriffssteuerung

Auf dieser Seite wird beschrieben, wie Sie den Cloud SQL-Projektzugriff und Berechtigungen für Identitäts- und Zugriffsverwaltung (Identity and Access Management – IAM) steuern können.

Übersicht

Google Cloud bietet mit der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) die Möglichkeit, bestimmten Google Cloud-Ressourcen detaillierte Zugriffsrechte zuzuweisen und unerwünschten Zugriff auf andere Ressourcen zu verhindern. Auf dieser Seite werden die IAM-Rollen und Berechtigungen für Cloud SQL beschrieben. Eine detaillierte Beschreibung von Google Cloud IAM finden Sie in der IAM-Dokumentation.

Cloud SQL bietet eine Reihe vordefinierter Rollen, mit denen Sie den Zugriff auf Ihre Cloud SQL-Ressourcen steuern können. Sie können auch eigene benutzerdefinierte Rollen erstellen, wenn die vordefinierten Rollen keine Informationen zu den benötigten Gruppen von Berechtigungen enthalten. Zusätzlich stehen Ihnen die einfachen Legacy-Rollen (Bearbeiter, Betrachter und Inhaber) nach wie vor zur Verfügung. Sie bieten aber nicht die gleiche präzisen Steuerungsmöglichkeiten wie die Cloud SQL-Rollen. Insbesondere ermöglichen die einfachen Rollen Zugriff auf Ressourcen in Google Cloud insgesamt und nicht nur für Cloud SQL. Weitere Informationen zu einfachen Rollen finden Sie unter Einfache Rollen.

Berechtigungen und Rollen

In diesem Abschnitt werden die Berechtigungen und Rollen zusammengefasst, die Cloud SQL unterstützt.

Vordefinierte Rollen

Cloud SQL bietet einige vordefinierte Rollen, die Sie verwenden können, um den Projektmitgliedern fein abgestimmte Berechtigungen zur Verfügung zu stellen. Die Rolle, die Sie einem Projektmitglied gewähren, steuert, welche Aktionen das Mitglied vornehmen kann. Projektmitglieder können Einzelpersonen, Gruppen oder Dienstkonten sein.

Sie können demselben Projektmitglied mehrere Rollen zuweisen und die einem Projektmitglied gewährten Rollen jederzeit ändern, sofern Sie selbst die Berechtigungen dazu haben.

Die Rollen mit höheren Berechtigungen beinhalten die Rollen mit niedrigeren Berechtigungen. Beispielsweise enthält die Rolle "Cloud SQL-Bearbeiter" alle Berechtigungen der Rolle "Cloud SQL-Betrachter" sowie die zusätzlichen Berechtigungen der Rolle "Cloud SQL-Bearbeiter". Entsprechend enthält die Rolle „Cloud SQL-Administrator“ alle Berechtigungen der Rolle „Cloud SQL-Bearbeiter“ sowie zusätzliche Berechtigungen.

Die einfachen Rollen (Inhaber, Bearbeiter, Betrachter) stellen Berechtigungen in Google Cloud insgesamt bereit. Die Rollen für Cloud SQL bieten nur Cloud SQL-Berechtigungen. Dies gilt nicht für die folgenden Google Cloud-Berechtigungen, die für die allgemeine Google Cloud-Nutzung erforderlich sind:

  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.use

In der folgenden Tabelle sind die vordefinierten Rollen, die für Cloud SQL benötigt werden, zusammen mit den jeweiligen Cloud SQL-Berechtigungen aufgelistet:

Rolle Name Cloud SQL-Berechtigungen Beschreibung
roles/owner Inhaber cloudsql.* Uneingeschränkter Zugriff auf und Kontrolle über alle Google Cloud-Ressourcen; Verwaltung des Nutzerzugriffs
roles/editor Bearbeiter Alle cloudsql-Berechtigungen, außer für
cloudsql.*.getIamPolicy und
cloudsql.*.setIamPolicy
Lese- und Schreibzugriff auf alle Google Cloud- und Cloud SQL-Ressourcen; vollständige Kontrolle mit Ausnahme der Möglichkeit, Berechtigungen zu ändern
roles/viewer Betrachter cloudsql.*.export
cloudsql.*.get
cloudsql.*.list
Lesezugriff auf alle Google Cloud-Ressourcen, einschließlich Cloud SQL-Ressourcen
roles/cloudsql.admin Cloud SQL-Administrator cloudsql.* Uneingeschränkte Kontrolle über Cloud SQL-Ressourcen
roles/cloudsql.editor Cloud SQL-Bearbeiter cloudsql.instances.addServerCa
cloudsql.instances.connect
cloudsql.instances.export
cloudsql.instances.failover
cloudsql.instances.get
cloudsql.instances.list
cloudsql.instances.listServerCas
cloudsql.instances.restart
cloudsql.instances.rotateServerCa
cloudsql.instances.truncateLog
cloudsql.instances.update
cloudsql.databases.create
cloudsql.databases.get
cloudsql.databases.list
cloudsql.databases.update
cloudsql.backupRuns.create
cloudsql.backupRuns.get
cloudsql.backupRuns.list
cloudsql.sslCerts.get
cloudsql.sslCerts.list
cloudsql.users.list
Verwaltung von Cloud SQL-Ressourcen; keine Berechtigung, Berechtigungen aufzurufen oder zu ändern sowie Nutzer oder sslCerts zu ändern; Weder die Berechtigung, Daten zu importieren oder von einer Sicherung wiederherzustellen, noch Instanzen zu klonen, zu löschen oder hochzustufen Keine Möglichkeit, Replikate zu starten oder zu stoppen. Keine Möglichkeit, Datenbanken, Replikate oder Sicherungen zu löschen
roles/cloudsql.viewer Cloud SQL-Betrachter cloudsql.*.export
cloudsql.*.get
cloudsql.*.list
cloudsql.instances.listServerCa
Schreibgeschützter Zugriff auf alle Cloud SQL-Ressourcen
roles/cloudsql.client Cloud SQL-Client cloudsql.instances.connect
cloudsql.instances.get
Verbindungszugriff auf Cloud SQL-Instanzen von App Engine und dem Cloud SQL Auth-Proxy. nicht für den Zugriff auf eine Instanz über IP-Adressen erforderlich
roles/cloudsql.instanceUser Cloud SQL-Instanznutzer cloudsql.instances.get
cloudsql.instances.login
Rolle für den Zugriff auf eine Cloud SQL-Instanz.

Berechtigungen und ihre Rollen

In der folgenden Tabelle sind die Berechtigungen, die Cloud SQL unterstützt, sowie die Cloud SQL-Rollen, in denen sie enthalten sind, mit Ihrer einfachen Rolle aufgeführt.

Berechtigung Cloud SQL-Rollen Alte Rolle
cloudsql.backupRuns.create Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Bearbeiter
cloudsql.backupRuns.delete Cloud SQL-Administrator Bearbeiter
cloudsql.backupRuns.get Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Cloud SQL-Betrachter
Betrachter
cloudsql.backupRuns.list Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Cloud SQL-Betrachter
Betrachter
cloudsql.databases.create Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Bearbeiter
cloudsql.databases.delete Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Bearbeiter
cloudsql.databases.get Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Cloud SQL-Betrachter
Betrachter
cloudsql.databases.getIamPolicy Cloud SQL-Administrator Inhaber
cloudsql.databases.list Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Cloud SQL-Betrachter
Betrachter
cloudsql.databases.setIamPolicy Cloud SQL-Administrator Inhaber
cloudsql.databases.update Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Bearbeiter
cloudsql.instance.addServerCa Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Bearbeiter
cloudsql.instances.clone Cloud SQL-Administrator Bearbeiter
cloudsql.instances.connect Cloud SQL-Administrator
Cloud SQL-Client
Cloud SQL-Bearbeiter
Editor
cloudsql.instances.create Cloud SQL-Administrator Bearbeiter
cloudsql.instances.delete Cloud SQL-Administrator Bearbeiter
cloudsql.instances.demoteMaster Cloud SQL-Administrator Bearbeiter
cloudsql.instances.export Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Cloud SQL-Betrachter
Betrachter
cloudsql.instances.failover Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Bearbeiter
cloudsql.instances.get Cloud SQL-Administrator
Cloud SQL-Client
Cloud SQL-Bearbeiter
Cloud SQL-Betrachter
Betrachter
cloudsql.instances.getIamPolicy Cloud SQL-Administrator Inhaber
cloudsql.instances.import Cloud SQL-Administrator Bearbeiter
cloudsql.instances.list Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Cloud SQL-Betrachter
Betrachter
cloudsql.instances.listServerCa Cloud SQL-Betrachter Betrachter
cloudsql.instances.promoteReplica Cloud SQL-Administrator Bearbeiter
cloudsql.instances.resetSslConfig Cloud SQL-Administrator Bearbeiter
cloudsql.instances.restart Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Bearbeiter
cloudsql.instances.restoreBackup Cloud SQL-Administrator Bearbeiter
cloudsql.instance.rotateServerCa Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Bearbeiter
cloudsql.instances.setIamPolicy Cloud SQL-Administrator Inhaber
cloudsql.instances.startReplica Cloud SQL-Administrator Bearbeiter
cloudsql.instances.stopReplica Cloud SQL-Administrator Bearbeiter
cloudsql.instances.truncateLog Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Bearbeiter
cloudsql.instances.update Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Editor
cloudsql.instanceUser Cloud SQL-Instanznutzer
cloudsql.sslCerts.create Cloud SQL-Administrator Bearbeiter
cloudsql.sslCerts.delete Cloud SQL-Administrator Bearbeiter
cloudsql.sslCerts.get Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Cloud SQL-Betrachter
Betrachter
cloudsql.sslCerts.list Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Cloud SQL-Betrachter
Betrachter
cloudsql.users.create Cloud SQL-Administrator Bearbeiter
cloudsql.users.delete Cloud SQL-Administrator Bearbeiter
cloudsql.users.list Cloud SQL-Administrator
Cloud SQL-Bearbeiter
Cloud SQL-Betrachter
Betrachter
cloudsql.users.update Cloud SQL-Administrator Bearbeiter

Benutzerdefinierte Rollen

Wenn die vordefinierten Rollen Ihren speziellen Geschäftsanforderungen nicht gerecht werden, können Sie Ihre eigenen benutzerdefinierten Rollen mit Berechtigungen definieren, die Sie angeben. IAM bietet benutzerdefinierte Rollen an, um dies zu unterstützen.

Wenn Sie benutzerdefinierte Rollen für Cloud SQL erstellen, müssen Sie bei der Angabe von cloudsql.instances.list oder cloudsql.instances.get darauf achten, dass beide Berechtigungen angegeben werden. Andernfalls funktioniert die Cloud Console für Cloud SQL nicht ordnungsgemäß.

Erforderliche Berechtigungen für allgemeine Aufgaben in der Cloud Console

Aufgabe Zusätzliche erforderliche Berechtigungen
Seite mit der Instanzliste aufrufen cloudsql.instances.list
resourcemanager.projects.get
Instanz erstellen cloudsql.instances.create
cloudsql.instances.get
cloudsql.instances.list
resourcemanager.projects.get
Verbindung zu einer Instanz aus der Cloud Shell herstellen cloudsql.instances.get
cloudsql.instances.list
cloudsql.instances.update
resourcemanager.projects.get
Nutzer erstellen cloudsql.instances.get
cloudsql.instances.list
cloudsql.users.create
cloudsql.users.list
resourcemanager.projects.get
Instanzinformationen aufrufen cloudsql.instances.get
cloudsql.instances.list
cloudsql.users.list
monitoring.timeSeries.list
resourcemanager.projects.get

Erforderliche Berechtigungen für gcloud sql-Befehle

Befehl Erforderliche Berechtigung(en)
gcloud sql backups create cloudsql.backupRuns.create
gcloud sql backups delete cloudsql.backupRuns.delete
gcloud sql backups describe cloudsql.backupRuns.get
gcloud sql backups list cloudsql.backupRuns.list
gcloud sql backups restore cloudsql.backupRuns.get
cloudsql.instances.restoreBackup
gcloud sql connect cloudsql.instances.get
cloudsql.instances.update
gcloud sql databases create cloudsql.databases.create
gcloud sql databases delete cloudsql.databases.delete
gcloud sql databases describe cloudsql.databases.get
gcloud sql databases list cloudsql.databases.list
gcloud sql databases patch cloudsql.databases.get
cloudsql.databases.update
gcloud sql export cloudsql.instances.export
cloudsql.instances.get
gcloud sql flags list
gcloud sql import cloudsql.instances.import
gcloud sql instances clone cloudsql.instances.clone
gcloud sql instances create cloudsql.instances.create
gcloud sql instances delete cloudsql.instances.delete
gcloud sql instances describe cloudsql.instances.get
gcloud sql instances export cloudsql.instances.export
gcloud sql instances failover cloudsql.instances.failover
gcloud sql instances import cloudsql.instances.import
gcloud sql instances list cloudsql.instances.list
gcloud sql instances patch cloudsql.instances.get
cloudsql.instances.update
gcloud sql instances promote-replica cloudsql.instances.promoteReplica
gcloud sql instances reset-ssl-config cloudsql.instances.resetSslConfig
gcloud sql instances restart cloudsql.instances.restart
gcloud sql instances restore-backup cloudsql.backupRuns.get
cloudsql.instances.restoreBackup
gcloud sql operations describe cloudsql.instances.get
gcloud sql operations list cloudsql.instances.get
gcloud sql operations wait cloudsql.instances.get
gcloud sql ssl client-certs create cloudsql.sslCerts.create
gcloud sql ssl client-certs delete cloudsql.sslCerts.delete
gcloud sql ssl client-certs describe cloudsql.sslCerts.list
gcloud sql ssl client-certs list cloudsql.sslCerts.list
gcloud sql tiers list
gcloud sql users create cloudsql.users.create
gcloud sql users delete cloudsql.users.delete
gcloud sql users list cloudsql.users.list
gcloud sql users set-password cloudsql.users.update

Erforderliche Berechtigungen für API-Methoden

In der folgenden Tabelle sind die Berechtigungen aufgeführt, die der Aufrufer haben muss, um die einzelnen Methoden in der Cloud SQL Admin API aufzurufen oder Aufgaben mit Google Cloud-Tools auszuführen, die die API verwenden (zum Beispiel die Google Cloud Console oder das gcloud-Befehlszeilentool).

Alle Berechtigungen werden auf das Projekt angewendet. Sie können keine abweichenden Berechtigungen anwenden, die auf der Instanz oder einem anderen untergeordneten Objekt basieren.

Methode Erforderliche Berechtigung(en)
backupRuns.delete cloudsql.backupRuns.delete
backupRuns.get cloudsql.backupRuns.get
backupRuns.insert cloudsql.backupRuns.create
backupRuns.list cloudsql.backupRuns.list
databases.delete cloudsql.databases.delete
databases.get cloudsql.databases.get
databases.insert cloudsql.databases.create
databases.list cloudsql.databases.list
databases.patch cloudsql.databases.update, cloudsql.databases.get
databases.update cloudsql.databases.update
flags.list
instances.clone cloudsql.instances.clone
instances.delete cloudsql.instances.delete
instances.export cloudsql.instances.export
instances.failover cloudsql.instances.failover
instances.get cloudsql.instances.get
instances.import cloudsql.instances.import
instances.insert cloudsql.instances.create
instances.list cloudsql.instances.list
instances.patch cloudsql.instances.get, cloudsql.instances.update
instances.promoteReplica cloudsql.instances.promoteReplica
instances.resetSslConfig cloudsql.instances.resetSslConfig
instances.restart cloudsql.instances.restart
instances.restoreBackup cloudsql.instances.restoreBackup, cloudsql.backupRuns.get
instances.startReplica cloudsql.instances.startReplica
instances.stopReplica cloudsql.instances.stopReplica
instances.truncateLog cloudsql.instances.truncateLog
instances.update cloudsql.instances.update
operations.get cloudsql.instances.get
operations.list cloudsql.instances.get
sslCerts.delete cloudsql.sslCerts.delete
sslCerts.get cloudsql.sslCerts.get
sslCerts.insert cloudsql.sslCerts.create
sslCerts.list cloudsql.sslCerts.list
users.delete cloudsql.users.delete
users.insert cloudsql.users.create
users.list cloudsql.users.list
users.update cloudsql.users.update

Cloud SQL für MySQL-IAM verwalten

Sie können IAM-Richtlinien und -Rollen mit der Google Cloud Console, den IAM-Methoden der API oder dem Cloud SDK abrufen und festlegen. Weitere Informationen finden Sie unter Zugriff für Projektmitglieder zuweisen, ändern und widerrufen.

Nächste Schritte