Auf dieser Seite erhalten Sie einen Überblick über den AlloyDB Auth-Proxy, einen Connector, mit dem Sie autorisierte, verschlüsselte Verbindungen zu AlloyDB-Datenbanken herstellen können.
Eine Schritt-für-Schritt-Anleitung zur Verwendung des Auth-Proxys finden Sie unter Verbindung mit dem AlloyDB Auth-Proxy herstellen.
Vorteile der Verwendung des AlloyDB Auth-Proxys
Der Auth-Proxy bietet folgende Vorteile gegenüber dem direkten Verbinden von Clients mit AlloyDB-Datenbanken:
IAM-basierte Verbindungsautorisierung: Der Auth-Proxy verwendet die Anmeldedaten und Berechtigungen eines IAM-Hauptkontos (Identity and Access Management), um Verbindungen zu AlloyDB-Instanzen zu autorisieren.
Automatisierte IAM-Authentifizierung: Der Auth-Proxy kann Datenbanknutzer automatisch anhand des IAM-Principals authentifizieren, unter dem der Proxy ausgeführt wird.
Sichere, verschlüsselte Kommunikation: Der Auth-Proxy erstellt, verwendet und verwaltet automatisch eine gegenseitige TLS-Verbindung (mTLS) 1.3 mit einer 256-Bit-AES-Chiffre zwischen Ihrem Client und einer AlloyDB-Instanz, um Client- und Serveridentitäten zu überprüfen und den Datentraffic zu verschlüsseln.
Weitere Informationen zum Herstellen einer Verbindung zu AlloyDB-Instanzen finden Sie unter Verbindungsübersicht.
Funktionsweise des AlloyDB Auth-Proxys
Der AlloyDB Auth-Proxy hat einen lokalen Client, der in der lokalen Umgebung ausgeführt wird. Ihre Anwendung kommuniziert mit dem AlloyDB Auth-Proxy über das Standarddatenbankprotokoll, das von Ihrer Datenbank verwendet wird.
Der AlloyDB Auth-Proxy kommuniziert über einen sicheren Tunnel (mTLS 1.3, 256-Bit-AES-Chiffre) mit dem Begleitprozess, der auf dem Server ausgeführt wird. Jede Verbindung, die über den AlloyDB Auth-Proxy hergestellt wird, erstellt eine Verbindung zur AlloyDB-Instanz.
Wenn eine Anwendung eine Verbindung zum AlloyDB Auth-Proxy herstellt, prüft sie, ob eine vorhandene Verbindung zwischen ihr und der AlloyDB-Zielinstanz verfügbar ist. Wenn keine Verbindung vorhanden ist, werden AlloyDB Admin APIs aufgerufen, um ein sitzungsspezifisches SSL-Zertifikat abzurufen und damit eine Verbindung zu AlloyDB herzustellen. Sitzungsspezifische SSL-Zertifikate laufen nach 24 Stunden ab. Der AlloyDB Auth-Proxy aktualisiert diese Zertifikate, bevor sie ablaufen.
Der AlloyDB Auth-Proxy ruft APIs über den Domainnamen alloydb.googleapis.com mit HTTPS auf. Daher müssen alle ausgehenden TCP-Verbindungen an Port 443 (HTTPS) vom Clientcomputer durch Ihre Firewall zugelassen werden.
Der AlloyDB Auth-Proxy kann zwar jeden Port überwachen, ausgehende oder ausgehende Verbindungen zu Ihrer AlloyDB-Instanz jedoch nur an Port 5433 herstellen. Wenn Ihr Clienthost eine Firewall für ausgehende Verbindungen hat, muss er Verbindungen zu Port 5433 für die IP-Adresse Ihrer AlloyDB-Instanz zulassen. Der Clienthost muss außerdem Verbindungen zu Port 443 (dem Standard-HTTPS-Port) für alle IP-Adressen zulassen.
So authentifiziert und autorisiert der AlloyDB Auth-Proxy Verbindungen
Um die Verbindung eines Clients zu einer AlloyDB-Instanz zu autorisieren, authentifiziert sich der Auth-Proxy-Client bei Google Cloud mit den Anmeldedaten des IAM-Hauptkontos auf dem Client und prüft dann, ob das IAM-Hauptkonto die IAM-Rollen „Cloud AlloyDB Client“ (roles/alloydb.client) und „Service Usage Consumer“ (roles/serviceusage.serviceUsageConsumer) hat.
Standardmäßig verwendet der Auth-Proxy-Client Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC), um Clientanmeldedaten zu finden. So können sich Anwendungen automatisch authentifizieren, ohne dass Konfigurationswerte bearbeitet oder fest codiert werden müssen.
Standardauthentifizierung
Für Standardentwicklungs- und Produktionskonfigurationen müssen Sie keine benutzerdefinierten Anmeldedaten oder Flags konfigurieren. Der Auth Proxy-Client löst Anmeldedaten automatisch über Standardumgebungspfade auf. Je nach Umgebung, in der Sie den Auth-Proxy-Client ausführen, werden Anmeldedaten aus den folgenden Quellen abgerufen:
Lokale Entwicklung Wenn Sie lokal entwickeln, können Sie sich mit Ihrem privaten oder geschäftlichen Google-Nutzerkonto authentifizieren. Der Auth-Proxy-Client erkennt und verwendet diese Anmeldedaten automatisch. Dies ist der empfohlene Ansatz für die lokale Entwicklung, da Sie so keine Dienstkontoschlüsseldateien lokal herunterladen müssen.
Von Google verwaltete Umgebungen Wenn Sie Ihre Anwendung in einemGoogle Cloud -Dienst wie Compute Engine-Instanzen, Google Kubernetes Engine, Cloud Run, Cloud Run-Funktionen oder App Engine ausführen, werden Anmeldedaten aus dem angehängten Dienstkonto automatisch vom Metadatenserver der Umgebung bereitgestellt. Der Auth-Proxy-Client erkennt diese Anmeldedaten automatisch und verwendet sie ohne zusätzliche Konfiguration.
- Wenn sich die Compute-Ressource im selben Projekt wie die AlloyDB-Instanz befindet, hat das Standarddienstkonto in der Regel die erforderlichen Berechtigungen zur Authentifizierung.
- Wenn sich die Compute-Ressource und die AlloyDB-Instanz in verschiedenen Projekten befinden, müssen Sie das Dienstkonto der Compute-Ressource dem Projekt hinzufügen, das die AlloyDB-Instanz enthält, und ihm die erforderlichen Rollen zuweisen.
Anmeldedaten überschreiben
In bestimmten Szenarien, z. B. beim Testen, bei der Ausführung außerhalb vonGoogle Cloudoder wenn Sie die Standardanmeldedaten der Standardumgebung umgehen möchten, können Sie die Anmeldedaten mit einer der folgenden Methoden überschreiben:
Einen Dienstkontoschlüssel. Geben Sie den Schlüssel entweder über die Umgebungsvariable
GOOGLE_APPLICATION_CREDENTIALSoder das Flag--credentials-filean. Dienstkontoschlüssel stellen ein Sicherheitsrisiko dar, wenn sie nicht richtig verwaltet werden. Verwenden Sie daher nach Möglichkeit eine der Standardquellen.Ein vorhandenes OAuth 2.0-Zugriffstoken. Geben Sie das Token über das Flag
--tokenan.Anmeldedaten für die gcloud CLI. Geben Sie diese Anmeldedaten über das Flag
--gcloud-authan. Wir empfehlen dieses Flag nicht. Führen Sie stattdessengcloud auth application-default loginaus.
Weitere Informationen zum Konfigurieren dieser Anmeldedaten auf dem Client finden Sie unter Über den AlloyDB Auth-Proxy verbinden. Allgemeine Informationen zur Authentifizierung von Google Cloud finden Sie unter Authentifizierung.
Nächste Schritte
- Verbindung mit dem AlloyDB Auth-Proxy herstellen
- Google Cloud GitHub-Repository für den AlloyDB Auth-Proxy