IAM-Datenbankauthentifizierung - 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.

IAM-Datenbankauthentifizierung

Sie können sich bei Ihrem mithilfe der AWS Identity and Access Management (IAM-) Datenbankauthentifizierung authentifizieren. Die IAM-Datenbankauthentifizierung funktioniert mit Aurora MySQL und Aurora PostgreSQL. Mit dieser Authentifizierungsmethode benötigen Sie kein Passwort, um eine Verbindung mit einer DB-Cluster herzustellen. Stattdessen verwenden Sie ein Authentifizierungstoken.

Ein Authentifizierungstoken ist eine eindeutige Zeichenfolge, die von Amazon Aurora auf Anforderung erzeugt wird. Authentifizierungstoken werden mit AWS Signature Version 4 generiert. Jedes Token verfällt 15 Minuten nach seiner Erzeugung. Da die Authentifizierung mithilfe von IAM extern verwaltet wird, ist es nicht erforderlich, Benutzeranmeldeinformationen in der Datenbank zu speichern. Sie können weiterhin auch die Standard-Datenbank-Authentifizierung verwenden. Das Token wird nur zur Authentifizierung verwendet und wirkt sich nicht auf die Sitzung aus, nachdem es eingerichtet wurde.

Die IAM-Datenbank-Authentifizierung bietet die folgenden Vorteile:

  • Der Netzwerkverkehr zur und von der Datenbank wird mit Secure Socket Layer (SSL) oder Transport Layer Security (TLS) verschlüsselt. Weitere Informationen zur Verwendung von SSL/TLS mit Amazon Aurora finden Sie unter Verwenden vonSSL/TLSzum Verschlüsseln einer Verbindung zu einer .

  • Sie können IAM verwenden, um den Zugriff auf Ihre Datenbankressourcen zentral zu verwalten, anstatt den Zugriff individuell auf jedem DB-Cluster zu verwalten.

  • Für Anwendungen, die auf Amazon EC2 laufen, können Sie die der EC2-Instance eigenen Profil-Anmeldeinformationen anstatt eines Passworts verwenden, um auf Ihre Datenbank zuzugreifen. Dies erhöht die Sicherheit.

Erwägen Sie im Allgemeinen, die IAM-Datenbankauthentifizierung zu verwenden, wenn Ihre Anwendungen weniger als 200 Verbindungen pro Sekunde erstellen und Sie Benutzernamen und Passwörter nicht direkt in Ihrem Anwendungscode verwalten möchten.

Der Amazon Web Services (AWS) JDBC-Treiber unterstützt die IAM-Datenbankauthentifizierung. Weitere Informationen finden Sie unter AWS IAM-Authentifizierungs-Plug-In im Amazon Web Services (AWS) JDBC-Treiber-Repository. GitHub

Der Amazon Web Services (AWS) Python-Treiber unterstützt die IAM-Datenbankauthentifizierung. Weitere Informationen finden Sie unter AWS IAM-Authentifizierungs-Plug-In im GitHubPython-Treiber-Repository von Amazon Web Services (AWS).

Verfügbarkeit von Regionen und Versionen

Die Verfügbarkeit von Funktionen und der Support variieren zwischen bestimmten Versionen der einzelnen Aurora-Datenbank-Engines und in allen AWS-Regionen. Weitere Informationen zur Verfügbarkeit von Versionen und Regionen mit Aurora- und IAM-Datenbankauthentifizierung finden Sie unter Unterstützte Regionen und Aurora-DB-Engines für die IAM-Datenbankauthentifizierung.

Für Aurora MySQL unterstützen alle unterstützten DB-Instance-Klassen die IAM-Datenbank-Authentifizierung, mit Ausnahme von db.t2.small und db.t3.small. Informationen zu den unterstützten DB-Instance-Klassen finden Sie unter Unterstützte DB-Engines für DB-Instance-Klassen.

CLI- und SDK-Unterstützung

Die IAM-Datenbankauthentifizierung ist für die AWS CLIund für die folgenden AWS sprachspezifischen SDKs verfügbar:

Einschränkungen der IAM-Datenbank-Authentifizierung

Beachten Sie bei der Verwendung der IAM-Datenbankauthentifizierung die folgenden Einschränkungen:

  • Die IAM-Datenbankauthentifizierung drosselt Verbindungen in den folgenden Szenarien:

    • Mit Authentifizierungstoken, die jeweils mit einer anderen IAM-Identität signiert sind, überschreiten Sie 20 Verbindungen pro Sekunde.

    • Sie überschreiten 200 Verbindungen pro Sekunde mit unterschiedlichen Authentifizierungstoken.

    Verbindungen, die dasselbe Authentifizierungstoken verwenden, werden nicht gedrosselt. Wir empfehlen, dass Sie Authentifizierungstoken nach Möglichkeit wiederverwenden.

  • Derzeit unterstützt die IAM-Datenbankauthentifizierung nicht alle globalen Bedingungskontextschlüssel.

    Weitere Informationen über globale Bedingungskontextschlüssel finden Sie unter Globale AWS -Bedingungskontextschlüssel im IAM-Benutzerhandbuch.

  • Wenn die IAM-Rolle (rds_iam) einem Benutzer (einschließlich RDS-Hauptbenutzer) hinzugefügt wird, hat bei PostgreSQL die IAM-Authentifizierung Vorrang vor der Passwort-Authentifizierung, so dass sich der Benutzer als IAM-Benutzer anmelden muss.

  • Für Aurora PostgreSQL können Sie die IAM-Authentifizierung nicht verwenden, um eine Replikationsverbindung herzustellen.

  • Sie können keinen benutzerdefinierten Route-53-DNS-Datensatz anstelle des DB-Cluster-Endpunkts verwenden, um das Authentifizierungstoken zu generieren.

  • CloudWatch und protokollieren Sie die IAM-Authentifizierung CloudTrail nicht. Diese Dienste verfolgen keine generate-db-auth-token API-Aufrufe, die die IAM-Rolle autorisieren, eine Datenbankverbindung zu aktivieren.

Empfehlungen für die IAM-Datenbankauthentifizierung

Bei Verwendung der IAM-Datenbankauthentifizierung empfehlen wir Folgendes:

  • Verwenden Sie die IAM-Datenbankauthentifizierung, wenn Ihre Anwendung weniger als 200 neue IAM-Datenbankauthentifizierungsverbindungen pro Sekunde benötigt.

    Die Datenbank-Engines, die mit Amazon Aurora kompatibel sind, setzen den Authentifizierungsversuchen pro Sekunde keine Grenzen. Wenn Sie jedoch die IAM-Datenbank-Authentifizierung verwenden, muss Ihre Anwendung ein Authentifizierungstoken erzeugen. Ihre Anwendung verwendet dann dieses Token, um eine Verbindung mit dem DB-Cluster herzustellen. Wenn Sie die Höchstanzahl neuer Verbindungen pro Sekunde überschreiten, kann der zusätzliche Overhead der IAM-Datenbankauthentifizierung zur Verbindungsablehnung führen.

    Erwägen Sie die Verwendung von Verbindungspooling in Ihren Anwendungen, um den ständigen Verbindungsaufbau zu begrenzen. Dadurch lässt sich der Aufwand für die IAM-DB-Authentifizierung reduzieren und Ihre Anwendungen können bestehende Verbindungen wiederverwenden. Erwägen Sie alternativ die Verwendung von RDS-Proxy für diese Anwendungsfälle. RDS-Proxy ist mit zusätzlichen Kosten verbunden. Weitere Informationen finden Sie unter RDS-Proxy – Preise.

  • Die Größe eines IAM-Datenbankauthentifizierungstokens hängt von vielen Faktoren ab, einschließlich der Anzahl der IAM-Tags, IAM-Servicerichtlinien, ARN-Längen sowie andere IAM- und Datenbankeigenschaften. Die Mindestgröße dieses Tokens beträgt im Allgemeinen etwa 1 KB, kann aber durchaus größer sein. Da dieses Token bei der IAM-Authentifizierung als Passwort in der Verbindungszeichenfolge zur Datenbank verwendet wird, sollten Sie sicherstellen, dass Ihr Datenbanktreiber (z. B. ODBC) und/oder andere Tools dieses Token aufgrund seiner Größe nicht beschränken oder auf andere Weise kürzen. Ein verkürztes Token führt dazu, dass die von der Datenbank und IAM durchgeführte Authentifizierungsüberprüfung fehlschlägt.

  • Wenn Sie beim Erstellen eines IAM-Datenbank-Authentifizierungstokens temporäre Anmeldeinformationen verwenden, müssen die temporären Anmeldeinformationen weiterhin gültig sein, wenn Sie das IAM-Datenbank-Authentifizierungstoken für eine Verbindungsanforderung verwenden.

Kontext-Schlüssel für AWS globale Bedingungen werden nicht unterstützt

Die IAM-Datenbankauthentifizierung unterstützt die folgende Teilmenge der AWS globalen Bedingungskontextschlüssel nicht.

  • aws:Referer

  • aws:SourceIp

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:UserAgent

  • aws:VpcSourceIp

Weitere Informationen finden Sie unter Globale AWS -Bedingungskontextschlüssel im IAM-Benutzerhandbuch.