Authentifizierung der Cloud SQL-IAM-Datenbank – Übersicht

Auf dieser Seite wird beschrieben, wie die IAM-Datenbankauthentifizierung in Cloud SQL-Instanzen funktioniert und welche Auswirkung sie auf das Erstellen von Nutzern und Dienstkonten sowie Anmeldungen hat.

Einführung

Cloud SQL ist in IAM eingebunden, damit Sie den Zugriff von Nutzern und Dienstkonten auf Datenbanken besser im Blick behalten und verwalten können. Dieses Feature wird als IAM-Datenbankauthentifizierung bezeichnet.

Die Authentifizierung ist ein Mittel der Zugriffssteuerung, das die Identität eines Nutzers prüft. Für Endnutzer wird die Authentifizierung ausgeführt, wenn sie ihre Anmeldedaten (einen Nutzernamen und ein Passwort) eingeben. Bei Anwendungen erfolgt die Authentifizierung, wenn die Anmeldedaten eines Nutzers einem Dienstkonto zugewiesen werden.

Unterschiede zwischen integrierter Authentifizierung und IAM-Authentifizierung

Cloud SQL verwendet zwei Arten der Authentifizierung für Datenbanknutzer:

  • Die integrierte Authentifizierung der Datenbank, bei der die Authentifizierung über einen Nutzernamen und ein Passwort erfolgt.
  • Die IAM-Datenbankauthentifizierung, bei der ein Datenbanknutzer über IAM authentifiziert wird.

In IAM definieren Sie, wer (Identität) welchen Zugriff (Rolle) auf welche Ressource hat. Die Berechtigung für den Zugriff auf eine Ressource (eine Cloud SQL-Instanz) wird dem Endnutzer nicht direkt erteilt. Stattdessen werden Berechtigungen in Rollen gruppiert, die dann authentifizierten Mitgliedern zugewiesen werden. Weitere Informationen finden Sie in der IAM-Übersicht.

Bei der IAM-Datenbankauthentifizierung verwenden Sie insbesondere Folgendes:

  • Mitglieder: In Cloud SQL können Sie zwei Arten von IAM-Mitgliedern verwenden: ein Nutzerkonto und ein Dienstkonto (für Anwendungen). Andere Arten der Mitgliedschaft wie Google Groups-Gruppen, G Suite-Domains oder Cloud Identity-Domains werden nicht unterstützt. Weitere Informationen finden Sie unter Identitätskonzepte.
  • Rollen: Zur IAM-Datenbankauthentifizierung benötigt ein Nutzer die Berechtigung cloudsql.instances.login, um sich bei einer Instanz anzumelden. Damit der Nutzer diese Berechtigung erhält, binden Sie ihn oder das Dienstkonto entweder an die vordefinierte Rolle Cloud SQL-Instanznutzer oder an eine benutzerdefinierte Rolle, die die Berechtigung umfasst. Weitere Informationen zu IAM-Rollen finden Sie unter Rollen.
  • Ressourcen: Die Ressourcen, auf die Mitglieder zugreifen, sind Cloud SQL-Instanzen. Cloud SQL legt beim Erstellen des Projekts eine IAM-Richtlinie auf Projektebene fest. Die Richtlinie gilt für alle Instanzen und andere Ressourcen im Projekt. Weitere Informationen finden Sie unter IAM-Richtlinie.

Instanzkonfiguration für die Cloud SQL-IAM-Datenbankauthentifizierung

Sie können die IAM-Datenbankauthentifizierung für eine Instanz mit dem Flag cloudsql.iam_authentication aktivieren. Dieses Flag konfiguriert alle Datenbanken in der Instanz. Wenn Sie dieses Flag aktivieren, ermöglicht die Instanz Anmeldungen von Konten, die für die IAM-Datenbankauthentifizierung konfiguriert sind. Durch das Festlegen des Flags wird nicht verhindert, dass vorhandene Nicht-IAM-Nutzer ihre Nutzernamen und Passwörter zur Anmeldung verwenden. Wenn Sie allerdings dieses Flag für die Instanz deaktivieren, haben die Nutzer, die über die IAM-Datenbankauthentifizierung hinzugefügt wurden, keinen Zugriff auf die Instanz mehr. Weitere Informationen finden Sie unter Instanzen für die IAM-Datenbankauthentifizierung konfigurieren.

Cloud SQL-IAM-Datenbankauthentifizierung für verschiedene Instanzszenarien

Lesereplikate Die IAM-Datenbankauthentifizierung wird in einem Lesereplikat nicht automatisch aktiviert, auch wenn sie in der primären Instanz aktiviert ist. Nachdem Sie ein Lesereplikat erstellt haben, müssen Sie die IAM-Datenbankauthentifizierung hinzufügen. Weitere Informationen finden Sie unter Lesereplikatanmeldungen für die IAM-Datenbankauthentifizierung konfigurieren.
Wiederhergestellte Instanzen Wenn eine Instanz zuvor gesichert und später in derselben oder einer anderen Instanz im selben Projekt wiederhergestellt wurde, gelten die aktuellen Autorisierungen für die Nutzeranmeldung. Wenn Sie eine Sicherung in einer neuen Instanz in einem anderen Projekt wiederherstellen, müssen Sie die Autorisierungen für die neue Instanz einrichten. Weitere Informationen finden Sie unter Nutzer- oder Dienstkonto Log-in-Zugriff erteilen.

Nutzer- und Dienstkontoverwaltung

So gewähren Sie Nutzern und Dienstkonten mithilfe der IAM-Datenbankauthentifizierung Zugriff auf Datenbanken in einer Instanz:

  1. Erstellen Sie einen neuen Nutzer oder ein neues Dienstkonto in der Instanz.
  2. Erteilen Sie dem Nutzer oder Dienstkonto die IAM-Anmeldeberechtigung, um die IAM-Datenbankauthentifizierung zuzulassen.

Danach können Sie mit dem PostgreSQL-Befehl GRANT andere Datenbankberechtigungen erteilen.

Weitere Informationen finden Sie unter Nutzer- oder Dienstkonto mit IAM-Datenbankauthentifizierung erstellen.

Cloud SQL-Anmeldungen für Nutzer und Dienstkonten

Wenn sich ein Nutzer mithilfe der Cloud SQL-IAM-Datenbankauthentifizierung bei einer Datenbank anmelden möchte, muss er Folgendes tun:

  1. Bei IAM authentifizieren:
  2. Ein Zugriffstoken mit gcloud auth print-access-token. generieren.
  3. Beim Anmelden bei der Datenbank das Zugriffstoken als Passwort angeben.

Das Zugriffstoken stellt die IAM-Nutzeranmeldedaten des Kontos dar und ist eine Stunde lang gültig. Mit dem Token wird die Identität des Nutzers nachgewiesen. Cloud SQL verwendet das Token, um den Nutzer zu authentifizieren und zu autorisieren, damit seine Anmeldung ermöglicht werden kann.

Weitere Informationen finden Sie unter Mit IAM-Datenbankauthentifizierung bei einer Datenbank anmelden.

Mit Cloud-Audit-Logs arbeiten

Sie können Audit-Logs verwenden, um Datensätze über den Datenzugriff, einschließlich Anmeldungen, aufzubewahren. Cloud-Audit-Logs sind standardmäßig deaktiviert. Sie müssen Audit-Logs zum Datenzugriff für das Tracking von Anmeldungen aktivieren. Die Verwendung von Audit-Logging zu diesem Zweck verursacht Kosten für das Logging von Daten. Weitere Informationen finden Sie unter Audit-Logs, Audit-Logs zum Datenzugriff konfigurieren und den Preisen für das Logging von Daten.

Beschränkungen

  1. Aus Sicherheitsgründen sind Anmeldungen mit der IAM-Datenbankauthentifizierung nur über eine SSL-Verbindung möglich. Unverschlüsselte Verbindungen werden abgelehnt.
  2. Für jede Instanz gilt ein Anmeldungskontingent pro Minute, das sowohl erfolgreiche als auch fehlgeschlagene Anmeldungen umfasst. Wenn das Kontingent überschritten wird, sind Anmeldungen vorübergehend nicht möglich. Wir empfehlen, häufige Anmeldungen zu vermeiden und Anmeldungen mithilfe von autorisierten Netzwerken einzuschränken.

Nächste Schritte