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.
Themen
- Verfügbarkeit für die IAM-Datenbank-Authentifizierung
- Einschränkungen der IAM-Datenbank-Authentifizierung
- MySQL-Empfehlungen für die IAM-Datenbankauthentifizierung
- Aktivieren und Deaktivieren der IAM-Datenbank-Authentifizierung
- Erstellen und Verwenden einer IAM-Richtlinie für den IAM-Datenbankzugriff
- Erstellen eines Datenbankkontos mithilfe der IAM-Authentifizierung
- Herstellen einer Verbindung zu Ihrem DB-Instance- mithilfe der IAM-Authentifizierung
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.