IAM-Datenbankauthentifizierung – Übersicht

Wenn Sie den Datenbankzugriff mit Anmeldedaten von Google Cloud zentral verwalten möchten, können Sie die IAM-Datenbankauthentifizierung (Identity and Access Management) für einzelne Nutzer und Gruppen für Ihre AlloyDB for PostgreSQL-Datenbanken konfigurieren.

Die IAM-Datenbankauthentifizierung bietet die folgenden Optionen:

  • Individuelle IAM-Authentifizierung: Sie fügen dem Cluster bestimmte Nutzer oder Dienstkonten hinzu.
  • IAM-Gruppenauthentifizierung: Sie fügen dem Cluster eine IAM-Gruppe hinzu. Alle Mitglieder dieser Gruppe übernehmen die Berechtigungen zur Authentifizierung, was die Verwaltung für mehrere Nutzer vereinfacht.

Die individuelle Authentifizierung ist nützlich, wenn Sie bestimmten Konten direkt Zugriff gewähren müssen. Verwenden Sie die Gruppenauthentifizierung, wenn Sie den Zugriff durch Ändern der Gruppenmitgliedschaft verwalten möchten. Dadurch müssen Sie Nutzer nicht mehr auf Clusterebene hinzufügen oder entfernen.

Konzepte der IAM-Authentifizierung

Bei Verwendung der IAM-Authentifizierung wird dem Endnutzer die Berechtigung für den Zugriff auf eine AlloyDB-Instanz nicht direkt gewährt. Stattdessen werden Berechtigungen in Rollen gruppiert, die dann Hauptkonten zugewiesen werden. Weitere Informationen zu IAM finden Sie in der IAM-Übersicht.

Administratoren, bei denen sich Nutzer über die IAM-Datenbankauthentifizierung anmelden, können mit IAM die Zugriffssteuerung für ihre Instanzen zentral über IAM-Zulassungsrichtlinien verwalten.

IAM-Zulassungsrichtlinien umfassen die folgenden Entitäten:

  • Hauptkonten. In AlloyDB können Sie ein Nutzerkonto oder ein Dienstkonto für Anwendungen verwenden. Weitere Informationen zu Hauptkonten finden Sie unter Hauptkonten.

  • Rollen: Für die IAM-Datenbankauthentifizierung benötigt ein Hauptkonto die Berechtigung alloydb.users.login. Diese Berechtigung ist in der Rolle „AlloyDB-Datenbanknutzer“ (roles/alloydb.databaseUser) enthalten. Um diese Berechtigung zu erhalten, binden Sie den Nutzer, das Dienstkonto oder die Gruppe an die vordefinierte Rolle oder eine benutzerdefinierte Rolle, die die Berechtigung enthält. Weitere Informationen zu Berechtigungen und Rollen finden Sie unter Berechtigungen und Rollen.

  • Ressourcen: Die Ressourcen, auf die Hauptkonten zugreifen, sind AlloyDB-Cluster. Rollenbindungen werden auf Projektebene angewendet, sodass Hauptkonten Rollenberechtigungen für alle AlloyDB-Instanzen im Projekt erhalten. Weitere Informationen zu IAM-Ressourcen finden Sie unter Ressourcen.

Optionen für die Datenbankauthentifizierung vergleichen

Anhand der folgenden Tabelle können Sie entscheiden, welche Authentifizierungsmethode für Ihren Anwendungsfall am besten geeignet ist.

Funktion Integrierte Datenbankauthentifizierung Authentifizierung der IAM-Datenbank
Authentifizierungsmethode Passwort Temporäres Authentifizierungstoken
Verschlüsselung des Netzwerkverkehrs SSL nicht erforderlich sslRequired
Nutzerverwaltung Manuell Zentralisiert über IAM

Automatische und manuelle IAM-Datenbankauthentifizierung im Vergleich

AlloyDB bietet zwei Methoden für die IAM-Datenbankauthentifizierung: automatisch und manuell.

Automatische IAM-Datenbankauthentifizierung

Mit der automatischen IAM-Datenbankauthentifizierung können Sie das Anfordern und Verwalten von Zugriffstokens an einen AlloyDB-Connector wie den AlloyDB Auth-Proxy oder einen der AlloyDB Language Connectors übergeben.

Bei der automatischen IAM-Datenbankauthentifizierung muss eine Anwendung nur den Nutzernamen der IAM-Datenbank in einer Verbindungsanfrage vom Client übergeben. Der Connector sendet die Zugriffstokeninformationen für das Passwortattribut im Namen des Clients.

Manuelle IAM-Datenbankauthentifizierung

Bei der manuellen IAM-Datenbankauthentifizierung muss das IAM-Hauptkonto das Zugriffstoken für das Passwortattribut in der Clientverbindungsanfrage explizit übergeben. Hauptkonten müssen sich zuerst in Google Cloud anmelden und das Zugriffstoken explizit von IAM anfordern.

Mit Cloud-Audit-Logs können Sie Datenzugriffe, einschließlich Anmeldungen, aufzeichnen. Cloud-Audit-Logs sind standardmäßig deaktiviert. Aktivieren Sie Audit-Logs zum Datenzugriff für das Anmeldetracking.

IAM-Gruppenauthentifizierung

Mit der IAM-Gruppenauthentifizierung können Sie AlloyDB-Nutzer auf Gruppenebene verwalten. Ein Beispiel für eine Gruppe ist eine Cloud Identity-Gruppe. Diese Funktion vereinfacht die Verwaltung von Datenbanknutzern. Sie können die PostgreSQL-Rollen oder -Berechtigungen für mehrere IAM-Nutzer gleichzeitig verwalten, anstatt jeden Nutzer oder jedes Dienstkonto einzeln zu aktualisieren. Sie können die Datenbankrollen auch für eine Cloud Identity-Gruppe gewähren und widerrufen. Alle neuen Konten, die Sie der Cloud Identity-Gruppe hinzufügen, übernehmen die Berechtigungen und Rollen dieser Gruppe.

Mit der IAM-Gruppenauthentifizierung können Sie Folgendes tun:

  • Nutzer einer Gruppe hinzufügen und die IAM-Rollen und Datenbankberechtigungen automatisch übernehmen lassen.

  • Wenn Sie einen Nutzer aus einer Gruppe entfernen, werden seine Anmeldeberechtigungen und Datenbankberechtigungen für AlloyDB-Cluster entfernt.

  • Sie brauchen Anmelde- oder Datenbankberechtigungen einer Gruppe nur einmal zu erteilen, anstatt sie verschiedenen Nutzern mehrmals erteilen zu müssen.

  • Entfernen Sie die Anmeldeberechtigungen oder den Zugriff auf ein Datenbankobjekt für eine Gruppe auf einmal.

Obwohl IAM-Rollen und -Berechtigungen auf Gruppenebene zugewiesen werden, verwenden Nutzer und Dienstkonten ihre individuellen IAM-Konten und -Anmeldedaten und kein freigegebenes Gruppenkonto, um sich anzumelden. AlloyDB erstellt beim ersten Anmelden des Hauptkontos ein Datenbankkonto im Cluster für dieses Hauptkonto.

Die einzelnen Anmelde- und Datenbankaktivitäten für jeden Nutzer oder jedes Dienstkonto werden in Audit-Logs angezeigt. Zu Prüfzwecken können Sie sehen, welches Konto welche Aktion in Ihrer Datenbank ausgeführt hat.

Weitere Informationen zum Arbeiten mit Cloud Identity-Gruppen finden Sie unter Cloud Identity – Übersicht.

Wenn Sie einer Gruppe einen Nutzer oder ein Dienstkonto hinzufügen, ändert sich in AlloyDB Folgendes:

  • Wenn Sie der Gruppe bereits IAM-Anmeldeberechtigungen erteilt haben, kann sich der Nutzer oder das Dienstkonto im AlloyDB-Cluster anmelden, da der Nutzer oder das Dienstkonto zur Gruppe gehört.

  • Der Nutzer übernimmt automatisch alle Datenbankberechtigungen oder Rollen, die der Gruppe gewährt wurden.

Wenn Sie einen Nutzer oder ein Dienstkonto aus der Gruppe entfernen, ändert sich in AlloyDB Folgendes:

  • Der Nutzer verliert alle Datenbankberechtigungen, die zuvor als Mitglied der Gruppe übernommen wurden.

  • Der Nutzer kann möglicherweise weiterhin neue Sitzungen erstellen, wenn er über andere Gruppenmitgliedschaften IAM-Anmeldeberechtigungen für den AlloyDB-Cluster erhält. Der Nutzer erhält bei der Anmeldung jedoch keine Datenbankberechtigungen aus seiner früheren Gruppenmitgliedschaft.

Best Practices

  • Wenn Sie die Rolle „AlloyDB-Datenbanknutzer“ (roles/alloydb.databaseUser) für eine IAM-Gruppe in Cloud Identity widerrufen, löschen Sie die Gruppe aus dem AlloyDB-Cluster.

  • Wenn Sie eine Gruppe aus Cloud Identity löschen, müssen Sie diese Gruppe auch aus dem AlloyDB-Cluster löschen.

  • Verwenden Sie Gruppen, um die rollenbasierte Zugriffssteuerung in Ihrer Datenbank zu konfigurieren. Gewähren Sie der Gruppe die geringsten erforderlichen Berechtigungen.

Beschränkungen

  • Die IAM-Gruppenauthentifizierung ist für neue AlloyDB-Cluster in der Vorabversion verfügbar. Wenn Sie diese Funktion für einen vorhandenen Cluster aktivieren möchten, wenden Sie sich an Ihr Account-Management-Team von Google Cloud .

  • Die IAM-Gruppenauthentifizierung wird nur in der Datenbankversion POSTGRES_15 und höher in der Vorschau unterstützt.

  • Aus Sicherheitsgründen sind Anmeldungen mit der IAM-Datenbankauthentifizierung nur über eine SSL-Verbindung möglich. Unverschlüsselte Verbindungen werden abgelehnt.

  • Für jede Instanz gilt ein Anmeldekontingent pro Minute, das sowohl erfolgreiche als auch fehlgeschlagene Anmeldungen umfasst. Wenn das Kontingent überschritten wird, sind Anmeldungen vorübergehend nicht möglich. Vermeiden Sie häufige Anmeldungen und schränken Sie Anmeldungen mithilfe von autorisierten Netzwerken ein.

  • Das gekürzte Hauptkonto eines Dienstkontos, d. h. die E-Mail-Adresse ohne das Suffix ., darf 63 Zeichen nicht überschreiten. PostgreSQL kürzt Rollennamen, die länger als 63 Zeichen sind, im Datenbankkatalog. Dadurch schlägt die IAM-Authentifizierung fehl. Wenn Sie den Namen des Dienstkontos nicht kürzen können, finden Sie weitere Informationen unter Problemumgehung für die Identitätsübernahme des Dienstkontos.

  • Wenn Sie die IAM-Gruppenauthentifizierung verwenden und einen AlloyDB-Cluster mit Lesereplikaten haben, müssen Sie sich zuerst in der primären Instanz anmelden, bevor Sie sich in der Lesereplikatinstanz anmelden können. Nach der ersten Anmeldung bei der primären Instanz werden die Informationen zu den Gruppennutzern in die Lesereplikate repliziert. Bei nachfolgenden Anmeldungen können Sie sich direkt beim Lesereplikat anmelden.

  • Sie können einer Instanz maximal 200 IAM-Gruppen hinzufügen.

  • Sie können keine einzelnen IAM-Nutzer oder Dienstkonten hinzufügen, die zu einer Gruppe auf derselben Instanz gehören. Sie können also kein Konto vom Typ ALLOYDB_IAM_USER hinzufügen, wenn bereits ein identisches Konto vom Typ ALLOYDB_IAM_GROUP_USER oder ALLOYDB_IAM_GROUP_SERVICE_ACCOUNT vorhanden ist.

  • Wenn auf einer Instanz mit dem Typ ALLOYDB_IAM_USER bereits ein individuelles Konto vorhanden ist, können Sie das Konto nicht für die IAM-Gruppenauthentifizierung verwenden. Diese Nutzertypen übernehmen keine IAM-Rollen und Datenbankberechtigungen von einer Gruppe. Um dieses Problem zu beheben und das Konto mit der IAM-Gruppenauthentifizierung zu verwenden, entfernen Sie den einzelnen IAM-Nutzer oder das Dienstkonto. Weitere Informationen finden Sie unter Ein vorhandener IAM-Nutzer oder ein vorhandenes Dienstkonto übernimmt nicht die Datenbankberechtigungen, die seiner Gruppe gewährt werden.

  • Änderungen an der Cloud Identity-Gruppenmitgliedschaft, z. B. das Hinzufügen eines Kontos, werden etwa 15 Minuten dauern. Dies gilt zusätzlich zu der Zeit, die für IAM-Änderungen erforderlich ist.

  • Die IAM-Gruppenauthentifizierung wird bei verwaltetem Verbindungs-Pooling nicht unterstützt.

  • Die IAM-Gruppenauthentifizierung wird bei föderierten Identitäten nicht unterstützt.

Nächste Schritte