IAM-Datenbankauthentifizierung für MySQL und PostgreSQL - Amazon Relational Database Service

IAM-Datenbankauthentifizierung für MySQL und PostgreSQL

Mit der AWS Identity and Access Management (IAM)-Datenbankauthentifizierung können Sie Ihre DB-Instance authentifizieren. Die IAM-Datenbankauthentifizierung ist mit MySQL und PostgreSQL möglich. Mit dieser Authentifizierungsmethode benötigen Sie kein Passwort, um eine Verbindung mit einer DB-Instance herzustellen. Stattdessen verwenden Sie ein Authentifizierungstoken.

Ein Authentifizierungstoken ist eine eindeutige Zeichenfolge, die von Amazon RDS auf Anforderung erzeugt wird. Die Authentifizierungstoken werden mithilfe der AWS Signature Version 4 erzeugt. 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.

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 RDS finden Sie unter Verwenden von SSL/TLS für die Verschlüsselung einer Verbindung zu einer DB-Instance.

  • Sie können IAM verwenden, um den Zugriff auf Ihre Datenbankressourcen zentral zu verwalten, anstatt den Zugriff individuell auf jeder DB-Instance 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.

Verfügbarkeit für die IAM-Datenbank-Authentifizierung

Die IAM-Datenbank-Authentifizierung ist für folgende Datenbank-Engines und Instance-Klassen verfügbar:

  • MySQL 8.0, Unterversion 8.0.16 oder höher.

  • MySQL 5.7 Unterversion 5.7.16 oder höher

  • MySQL 5.6 Unterversion 5.6.34 oder höher

  • PostgreSQL 12, alle Unterversionen

  • PostgreSQL 11, alle Unterversionen

  • PostgreSQL 10, Unterversion 10.6 oder höher

  • PostgreSQL 9.6, Unterversion 9.6.11 oder höher

  • PostgreSQL 9.5, Unterversion 9.5.15 oder höher

Einschränkungen der IAM-Datenbank-Authentifizierung

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

  • Die maximale Anzahl von Verbindungen pro Sekunde für Ihre DB-Instance ist möglicherweise abhängig von ihrer/seiner DB-Instance-Klasse und Ihrer Workload begrenzt.

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

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

  • Derzeit wird die IAM-Datenbankauthentifizierung für CNAMEs nicht unterstützt.

MySQL-Empfehlungen für die IAM-Datenbankauthentifizierung

Bei Verwendung der MySQL DB-Engine empfehlen wir Folgendes:

  • Verwenden Sie die IAM-Datenbank-Authentifizierung als temporären, persönlichen Datenbankzugriffsmechanismus.

  • Verwenden Sie die IAM-Datenbank-Authentifizierung nur für Workloads, die problemlos erneut ausgeführt werden können.

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

    Die Datenbank-Engines, die mit Amazon RDS 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 der DB-Instance herzustellen. Wenn Sie die Höchstanzahl neuer Verbindungen pro Sekunde überschreiten, kann der zusätzliche Overhead der IAM-Datenbankauthentifizierung zur Verbindungsablehnung führen. Diese Überschreitung kann sogar bewirken, dass vorhandene Verbindungen unterbrochen werden. Weitere Informationen zur maximalen Anzahl aller Verbindungen für MySQL finden Sie unter Maximale Anzahl von MySQL- und MariaDB-Verbindungen.