Auf dieser Seite wird beschrieben, wie Sie mit Identity and Access Management (IAM) den Zugriff auf Ihre AlloyDB-Datenbanken verwalten.
IAM-Authentifizierungskonzepte
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 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-Richtlinien verwalten.
IAM-Richtlinien umfassen die folgenden Entitäten:
Hauptkonten. In AlloyDB können Sie ein Nutzerkonto oder ein Dienstkonto (für Anwendungen) verwenden. Weitere Informationen finden Sie unter Hauptkonten.
Rollen: Für die IAM-Datenbankauthentifizierung benötigt ein Hauptkonto die Berechtigung „alloydb.instances.login“. Diese Berechtigung ist in der Rolle „AlloyDB-Client“ (
roles/alloydb.client) enthalten. Damit der Nutzer diese Berechtigung erhält, binden Sie ihn, das Dienstkonto oder die Gruppe entweder an die vordefinierte Rolle oder an eine benutzerdefinierte Rolle, die die Berechtigung umfasst. Weitere Informationen finden Sie unter Berechtigungen und Rollen.Ressourcen: Die Ressourcen, auf die Hauptkonten zugreifen, sind AlloyDB-Instanzen. Standardmäßig werden IAM-Richtlinienbindungen auf Projektebene angewendet, sodass Hauptkonten Rollenberechtigungen für alle AlloyDB-Instanzen im Projekt erhalten. Weitere Informationen finden Sie unter Ressourcen.
Optionen für die Datenbankauthentifizierung vergleichen
Anhand der folgenden Tabelle können Sie entscheiden, welche Authentifizierungsmethode am besten für Ihren Anwendungsfall geeignet ist.
| Funktion | Integrierte Datenbankauthentifizierung | IAM-Datenbankauthentifizierung (einzeln) |
|---|---|---|
| Authentifizierungsmethode | Passwort | Temporäres Authentifizierungstoken |
| Verschlüsselung des Netzwerkverkehrs | SSL nicht erforderlich | sslRequired |
| Nutzerverwaltung | Manuell | Zentral ü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 Auth-Proxy oder einen der Sprach-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
Für die manuelle 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.
IAM-Bedingungen und Audit-Logs
Mit IAM-Bedingungen können Sie Rollen anhand einer Vielzahl von Attributen zuweisen. Sie können damit beispielsweise den Zugriff nur zu bestimmten Datumsangaben und Uhrzeiten zulassen oder nur auf AlloyDB-Ressourcen mit bestimmten Namen zugreifen.
Sie können Cloud-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.
Einschränkungen und Best Practices
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 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.