Auf dieser Seite finden Sie Informationen zu IAM-Rollen und -Berechtigungen (Identity and Access Management) sowie dazu, wie sie beim Herstellen einer Verbindung zu einer Cloud SQL-Instanz verwendet werden.
Einführung
Die Zugriffssteuerung für die Google Cloud APIs umfasst Authentifizierung, Autorisierung und Auditing. Mit der Authentifizierung wird festgestellt, wer Sie sind. Anwendungsentwickler verwenden zur Authentifizierung in Google Cloud IAM-Dienst- und -Nutzerkonten. Konten nutzen Rollen, zu denen Berechtigungen gehören. Eine vollständige Liste aller in Cloud SQL verfügbaren Rollen und Berechtigungen finden Sie unter Projektzugriffssteuerung.
Wenn Sie ein Konto verwenden, um eine Verbindung zu einer Cloud SQL-Instanz herzustellen, muss das Konto die Rolle Cloud SQL > Client (roles/cloudsql.client
) haben, die die Berechtigungen, die für die Verbindung erforderlich, enthält.
Auf der Seite IAM & Verwaltung > IAM können Sie einem Konto in der Console Rollen hinzufügen. Auf der Seite IAM & Verwaltung > Rollen lässt sich dann prüfen, welche Berechtigungen zu welchen Rollen gehören.
Cloud SQL verwendet Dienstkonten für die Authentifizierung zwischen Cloud SQL und anderen Google Cloud-Produkten. Dienstkonten stellen credentials
im JSON-Format bereit, die Sie über die Console herunterladen und in verschiedenen Szenarien zur Authentifizierung verwenden können.
Ein Beispiel ist das Herstellen einer Verbindung über eine Anwendung, die in einem Docker-Container ausgeführt wird.
Cloud SQL-Rollen und -Berechtigungen mit Cloud SQL-Proxy
Wenn Sie mit dem Cloud SQL-Proxy eine Verbindung zu einer Cloud SQL-Instanz von einer Compute Engine-Instanz herstellen, können Sie das Compute Engine-Standarddienstkonto verwenden, das der Compute Engine-Instanz zugeordnet ist.
Wie bei allen Konten, die eine Verbindung zu einer Cloud SQL-Instanz herstellen, muss das Dienstkonto die Rolle Cloud SQL > Client haben.
Cloud SQL-Rollen und -Berechtigungen mit serverlosen Optionen
Zu den serverlosen Optionen von Google Cloud gehören App Engine, Cloud Functions und Cloud Run.Mit einem Dienstkonto autorisieren Sie den Zugriff von diesen Modulen. Das Dienstkonto autorisiert dabei den Zugriff auf Cloud SQL in einem bestimmten Projekt. Wenn Sie eine Anwendung oder eine Cloud Functions-Funktion erstellen, legt dieser Dienst das Konto für Sie an. Sie finden das Konto auf der Seite IAM & Verwaltung > IAM mit dem entsprechenden Suffix:
Serverlose Option | Suffix des Dienstkontos |
---|---|
App Engine | @gae-api-prod.google.com.iam.gserviceaccount.com |
Cloud Functions | @gcf-admin-robot.iam.gserviceaccount.com |
Cloud Run | compute@developer.gserviceaccount.com |
Wie bei allen Konten, die eine Verbindung zu einer Cloud SQL-Instanz herstellen, muss das Dienstkonto die Rolle Cloud SQL > Client haben.
Cloud SQL-Rollen und -Berechtigungen mit Cloud Storage
Die Import- und Export-Features in Cloud SQL werden kombiniert angewendet. Die Export-Features schreiben in Cloud Storage und die Import-Features lesen daraus. Daher benötigt das Dienstkonto, das Sie für diese Vorgänge verwenden, sowohl Lese- als auch Schreibberechtigungen für Cloud Storage:
- Zum Importieren von Daten in bzw. Exportieren von Daten aus Cloud Storage muss für das Dienstkonto der Cloud SQL-Instanz im betreffenden Projekt die IAM-Rolle
storage.objectAdmin
festgelegt sein. Sie finden den Dienstkontonamen der Instanz in der Google Cloud Console auf der Seite Übersicht Ihrer Instanz. - Mit dem Befehl
gsutil iam
können Sie diese IAM-Rolle dem Dienstkonto für den Bucket zuweisen. - Informationen zum Festlegen von IAM-Rollen und -Berechtigungen finden Sie unter IAM-Berechtigungen verwenden.
- Weitere Informationen finden Sie unter IAM für Cloud Storage.
Cloud SQL-Rollen und -Berechtigungen in anderen Szenarien
Cloud SQL interagiert auch mit anderen Google Cloud-Produkten und -Tools. Dabei sind ebenso bestimmte Rollen und Berechtigungen erforderlich, die je nach Szenario variieren können. Die Cloud SQL-Dokumentation enthält detaillierte Informationen zu den Anforderungen für die folgenden Fälle:
- Herstellen einer Verbindung zu Cloud SQL über externe Anwendungen
- Vom Kunden verwaltete Verschlüsselungsschlüssel verwenden
- IAM-Rollen für die Verwaltung von VPC Service Controls
- Für das Herstellen einer Verbindung von einer in Google Kubernetes Engine ausgeführten Anwendung zu einer Cloud SQL-Instanz müssen Sie ein Secret für die JSON-Schlüsseldatei eines Dienstkontos erstellen
Nächste Schritte
- Mehr über die Instanzzugriffssteuerung erfahren
- Mehr über die Projektzugriffssteuerung erfahren