Herstellen einer Verbindung mit Aurora MySQL mit Kerberos-Authentifizierung - Amazon Aurora

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Herstellen einer Verbindung mit Aurora MySQL mit Kerberos-Authentifizierung

Um Fehler zu vermeiden, verwenden Sie einen MySQL-Client mit Version 8.0.26 oder höher auf Unix-Plattformen, 8.0.27 oder höher unter Windows.

Verwenden der Kerberos-Anmeldung von Aurora MySQL, um eine Verbindung mit dem DB-Cluster herzustellen

Wenn Sie eine Verbindung mit Aurora MySQL mit Kerberos-Authentifizierung herstellen möchten, melden Sie sich als Datenbankbenutzer an, den Sie gemäß den Anweisungen unter Schritt 6: Erstellen von Aurora-MySQL-Benutzern, die die Kerberos-Authentifizierung verwenden erstellt haben.

Stellen Sie über die Eingabeaufforderung eine Verbindung mit einem der Endpunkte her, die mit Ihrem DB-Cluster von Aurora MySQL verbunden sind. Wenn Sie zur Eingabe des Passworts aufgefordert werden, geben Sie das mit diesem Benutzernamen verknüpfte Kerberos-Passwort ein.

Wenn Sie sich bei Kerberos authentifizieren, wird ein Ticket-Granting Ticket (TGT) generiert, falls noch keines existiert. Das authentication_kerberos-Plugin verwendet das TGT, um ein Serviceticket zu erhalten, das dann dem Aurora-MySQL-Datenbankserver vorgelegt wird.

Sie können den MySQL-Client verwenden, um sich mit Kerberos-Authentifizierung unter Windows oder Unix mit Aurora MySQL zu verbinden.

Sie können die Verbindung mit einer der folgenden Methoden herstellen:

  • Rufen Sie das TGT manuell ab. In diesem Fall müssen Sie dem MySQL-Client das Passwort nicht nennen.

  • Stellen Sie das Passwort für die Active-Directory-Anmeldung direkt dem MySQL-Client zur Verfügung.

Das clientseitige Plugin wird auf Unix-Plattformen für MySQL-Client-Versionen ab 8.0.26 unterstützt.

So stellen Sie eine Verbindung her, indem Sie das TGT manuell abrufen
  1. Verwenden Sie an der Befehlszeilenschnittstelle den folgenden Befehl, um das TGT abzurufen.

    kinit user_name
  2. Verwenden Sie den folgenden mysql-Befehl, um sich beim DB-Instance-Endpunkt Ihres DB-Clusters anzumelden.

    mysql -h DB_instance_endpoint -P 3306 -u user_name -p
    Anmerkung

    Die Authentifizierung kann fehlschlagen, wenn der Keytab auf der DB-Instance rotiert wird. Rufen Sie in diesem Fall ein neues TGT ab, indem Sie kinit erneut ausführen.

So stellen Sie eine direkte Verbindung her
  1. Verwenden Sie an der Befehlszeilenschnittstelle den folgenden mysql-Befehl, um sich beim DB-Instance-Endpunkt Ihres DB-Clusters anzumelden.

    mysql -h DB_instance_endpoint -P 3306 -u user_name -p
  2. Geben Sie das Passwort für den Active-Directory-Benutzer an.

Unter Windows erfolgt die Authentifizierung normalerweise bei der Anmeldung, sodass Sie das TGT nicht manuell abrufen müssen, um eine Verbindung mit dem DB-Cluster von Aurora MySQL herzustellen. Die Groß- und Kleinschreibung des Datenbankbenutzernamens muss mit der Groß-/Kleinschreibung des Benutzers im Active Directory übereinstimmen. Wenn der Benutzer im Active Directory beispielsweise als Admin angezeigt wird, muss der Datenbankbenutzername Admin lauten.

Das clientseitige Plugin wird unter Windows für MySQL-Client-Versionen ab 8.0.27 unterstützt.

So stellen Sie eine direkte Verbindung her
  • Verwenden Sie an der Befehlszeilenschnittstelle den folgenden mysql-Befehl, um sich beim DB-Instance-Endpunkt Ihres DB-Clusters anzumelden.

    mysql -h DB_instance_endpoint -P 3306 -u user_name

Kerberos-Authentifizierung mit globalen Aurora-Datenbanken

Die Kerberos-Authentifizierung für Aurora MySQL wird für globale Aurora-Datenbanken unterstützt. Wenn Sie Benutzer im sekundären DB-Cluster mithilfe des Active Directory des primären DB-Clusters authentifizieren möchten, replizieren Sie das Active Directory auf die sekundäre AWS-Region. Sie aktivieren die Kerberos-Authentifizierung auf dem sekundären Cluster mit derselben Domain-ID wie für den primären Cluster. Die AWS Managed Microsoft AD-Replikation wird nur mit der Enterprise-Version von Active Directory unterstützt. Weitere Informationen finden Sie unter Regionsübergreifende Replikation im AWS Directory Service-Administratorhandbuch.

Migration von RDS für MySQL zu Aurora MySQL

Nachdem Sie von RDS für MySQL mit aktivierter Kerberos-Authentifizierung zu Aurora MySQL migriert haben, ändern Sie Benutzer, die mit dem auth_pam-Plugin erstellt wurden, so, dass sie das authentication_kerberos-Plugin verwenden. Beispiele:

ALTER USER user_name IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';

Verhindern einer Zwischenspeicherung von Tickets

Wenn beim Start der MySQL-Client-Anwendung kein gültiges TGT vorhanden ist, kann die Anwendung das TGT abrufen und zwischenspeichern. Wenn Sie verhindern möchten, dass das TGT zwischengespeichert wird, legen Sie in der Datei /etc/krb5.conf einen Konfigurationsparameter fest.

Anmerkung

Diese Konfiguration gilt nur für Client-Hosts, auf denen Unix ausgeführt wird, nicht für Windows.

So verhindern Sie das Zwischenspeichern von TGTs
  • Fügen Sie /etc/krb5.conf wie folgt einen [appdefaults]-Abschnitt hinzu:

    [appdefaults] mysql = { destroy_tickets = true }

Protokollieren für die Kerberos-Authentifizierung

Die Umgebungsvariable AUTHENTICATION_KERBEROS_CLIENT_LOG legt die Protokollierungsebene für die Kerberos-Authentifizierung fest. Sie können die Protokolle für das clientseitige Debugging verwenden.

Die zulässigen Werte sind 1–5. Protokollmeldungen werden in die Standardfehlerausgabe geschrieben. In der folgenden Tabelle ist jede Protokollierungsebene beschrieben.

Protokollierungsstufe Beschreibung
1 oder nicht festgelegt Keine Protokollierung
2 Fehlermeldungen
3 Fehler- und Warnmeldungen
4 Fehler-, Warn- und Informationsmeldungen
5 Fehler-, Warn-, Informations- und Debug-Meldungen