IAM-Datenbankauthentifizierung für MariaDB, MySQL und PostgreSQL
Sie können sich mit der AWS Identity and Access Management-(IAM)-Datenbankauthentifizierung bei Ihrem DB-Instance- authentifizieren. Die IAM-Datenbankauthentifizierung funktioniert mit MariaDB, MySQL und PostgreSQL. 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. 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 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.
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 AWS JDBC-Treiber für MySQL unterstützt IAM-Datenbankauthentifizierung. Weitere Informationen finden Sie unter AWS IAM Database Authentication
Themen
- Verfügbarkeit von Regionen und Versionen
- CLI- und SDK-Unterstützung
- Einschränkungen der IAM-Datenbank-Authentifizierung
- 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 von Regionen und Versionen
Verfügbarkeit von Funktionen und Support variiert zwischen bestimmten Versionen der einzelnen Datenbank-Engines und über AWS-Regionen hinweg. Weitere Informationen zur Verfügbarkeit von Versionen und Regionen mit Amazon-RDS- und IAM-Datenbankauthentifizierung finden Sie unter IAM-Datenbankauthentifizierung.
CLI- und SDK-Unterstützung
Die IAM-Datenbank-Authentifizierung ist für die AWS CLI und für die folgenden sprachspezifischen AWS-SDKs verfügbar:
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 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, sodass sich der Benutzer als Benutzer anmelden muss.
Empfehlungen für die IAM-Datenbankauthentifizierung
Bei Verwendung der IAM-Datenbankauthentifizierung empfehlen wir Folgendes:
-
Verwenden Sie die IAM-Datenbank-Authentifizierung als temporären, persönlichen Datenbankzugriffsmechanismus.
-
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.
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.