Mit IAM-Datenbankauthentifizierung bei einer Datenbank anmelden

Auf dieser Seite wird beschrieben, wie sich Nutzer und Dienstkonten mithilfe der Cloud SQL-IAM-Datenbankauthentifizierung in Cloud SQL-Datenbanken anmelden können. Weitere Informationen finden Sie unter Authentifizierung der Cloud SQL-IAM-Datenbank – Übersicht.

Hinweis

  • Konfigurieren Sie eine Instanz, um die IAM-Datenbankauthentifizierung zu verwenden. Weitere Informationen finden Sie unter Neue Instanzen für die IAM-Datenbankauthentifizierung konfigurieren.
  • Fügen Sie der Datenbank einen IAM-Nutzer oder ein Dienstkonto hinzu. Weitere Informationen finden Sie unter IAM-Nutzer oder Dienstkonto zur Datenbank hinzufügen.
  • Fügen Sie Ihrem Nutzerkonto die IAM-Rolle roles/cloudsql.instanceUser hinzu, um die Aufgabe ausführen zu können. Dies ist eine vordefinierte Rolle, die die erforderliche Cloud SQL-IAM-Berechtigung cloudsql.instances.login enthält. Sie benötigen diese Berechtigung, um sich bei einer Datenbankinstanz anzumelden.

Mit manueller IAM-Datenbankauthentifizierung anmelden

Ein Nutzer oder eine Anwendung kann sich mithilfe von IAM bei der Datenbank authentifizieren und dafür manuell ein Zugriffstoken von Google Cloud anfordern und es an die Datenbank übergeben. Mit dem Cloud SDK haben Sie die Möglichkeit, explizit ein OAuth 2.0-Token im Geltungsbereich der Cloud SQL API anzufordern, das für die Anmeldung bei der Datenbank verwendet wird. Wenn Sie sich als Datenbanknutzer mit der manuellen IAM-Datenbankauthentifizierung anmelden, verwenden Sie Ihre E-Mail-Adresse als Nutzernamen und das Zugriffstoken als Passwort. Sie können diese Methode entweder mit einer direkten Verbindung zur Datenbank oder mit einem Cloud SQL-Connector verwenden.

Mit diesen Schritten authentifizieren Sie sich bei Google Cloud, fordern ein Zugriffstoken an und stellen dann eine Verbindung zur Datenbank her. Dazu übergeben Sie das Token als Passwort für den IAM-Datenbanknutzer. Mit den folgenden Schritte stellen Sie eine Verbindung ohne den Cloud SQL-Authentifizierungsproxy her.

Für diese Schritte müssen Sie Folgendes tun:

So verwenden Sie das Cloud SDK, um dieses Token zu generieren und sich anzumelden:

gcloud

  1. Authentifizieren Sie sich bei Google Cloud.

    Nutzer

    Authentifizieren Sie sich mit gcloud auth login bei IAM. Weitere Informationen finden Sie unter Mit Nutzerkonten autorisieren.

    Dienstkonto

    Authentifizieren Sie sich mit gcloud auth activate-service-account bei IAM. Weitere Informationen finden Sie unter Mit Dienstkonto autorisieren.

  2. Fordern Sie das Zugriffstoken an und melden Sie sich bei einem Client an.

    Dabei gilt:

    • HOSTNAME: Die IP-Adresse der Instanz.
    • USERNAME: Bei einem IAM-Nutzerkonto ist das die E-Mail-Adresse des Nutzers ohne dem @ oder den Domainnamen. Geben Sie beispielsweise für test-user@gmail.com den Wert test-user ein. Bei einem Dienstkonto ist dies die E-Mail-Adresse des Dienstkontos ohne das Suffix @project-id.iam.gserviceaccount.com.

    MYSQL_PWD=`gcloud auth print-access-token` mysql --enable-cleartext-plugin 
    --ssl-ca=server-ca.pem --ssl-cert=client-cert.pem
    --ssl-key=client-key.pem --host=HOSTNAME
    --user=USERNAME

Nächste Schritte