Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Wie erlaube ich Benutzern, sich mit ihren IAM-Anmeldeinformationen bei einer DB-Instance bei Amazon RDS für MySQL zu authentifizieren?
Ich möchte eine Verbindung zu einer DB-Instance bei Amazon Relational Database Service (Amazon RDS) für MySQL herstellen. Ich möchte Anmeldeinformationen von AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement) anstelle nativer Authentifizierungsmethoden verwenden.
Behebung
Hinweis: Verwende eine unverschlüsselte MySQL-Verbindung nur, wenn sich der Client und der Server in derselben Virtual Private Cloud (VPC) befinden und das Netzwerk vertrauenswürdig ist.
Voraussetzung: Du musst eine DB-Instance, die die IAM-Datenbankauthentifizierung unterstützt, und eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance starten, um eine Verbindung zur Datenbank herzustellen.
Um die für die IAM-Authentifizierung erforderliche Konfiguration zu überprüfen, verwende das AWS Systems Manager Automation-Runbook AWSSupport-TroubleshootRDSIAMAuthentication. Du kannst das Runbook auch verwenden, um Verbindungsprobleme mit der Amazon RDS-Instance oder demAmazon Aurora-Cluster zu beheben.
Aktivieren der IAM-DB-Authentifizierung auf der RDS-DB-Instance
Du kannst die Amazon RDS-Konsole, die AWS CLI oder die Amazon RDS-API verwenden, um die IAM-Datenbankauthentifizierung zu aktivieren.
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Wenn du die Amazon RDS-Konsole verwendest, um die DB-Instance zu ändern, wähle Sofort anwenden, um die IAM-Datenbankauthentifizierung zu aktivieren. Weitere Informationen findest du unter Amazon RDS-DB-Instances.
Hinweis: Wenn du Sofort anwenden wählst, werden alle ausstehenden Änderungen ebenfalls sofort übernommen. Weitere Informationen findest du unter Verwendung der Einstellung für Zeitplanänderungen.
Erstellen eines Datenbankbenutzerkontos, das ein AWS-Authentifizierungstoken verwendet
Führe den folgenden Befehl aus, um eine Verbindung zur DB-Instance oder zum Cluster-Endpunkt herzustellen:
mysql -h {database or cluster endpoint} -P {port number database is listening on} -u {master db username} -p
Hinweis: Verwende dein primäres Passwort, um dich anzumelden.
Führe den folgenden Befehl aus, um ein Datenbankbenutzerkonto zu erstellen, das IAM-Authentifizierung anstelle eines Passworts verwendet:
CREATE USER {dbusername} IDENTIFIED WITH AWSAuthenticationPlugin as 'RDS';
Standardmäßig hat der Datenbankbenutzer keine Berechtigungen. Der Datenbankbenutzer wird als GRANT USAGE angezeigt, wenn du SHOW GRANTS FOR {dbusername} ausführst. Um ein Benutzerkonto anzufordern, wenn du SSL für die Verbindung verwendest, führe den folgenden Befehl aus:
ALTER USER {dbusername} REQUIRE SSL;
Führe den Befehl exit aus, um MySQL zu schließen. Melde dich dann von der DB-Instance ab.
Hinzufügen einer IAM-Richtlinie, die den Datenbankbenutzer der IAM-Rolle zuordnet
Führe die folgenden Schritte aus:
- Öffne die IAM-Konsole.
- Wähle im Navigationsbereich Richtlinien.
- Wähle Richtlinie erstellen.
- Gib eine Richtlinie ein, die dem gewünschten Benutzer die Aktion rds-db:connect gestattet. Weitere Informationen findest du unter Erstellen und Verwenden einer IAM-Richtlinie für den IAM-Datenbankzugriff.
Hinweis: Stelle sicher, dass du die Details deiner Datenbankressourcen in den Abschnitt Ressourcen eingibst. - Wähle Weiter.
- Gib als Name einen Richtliniennamen ein.
- Wähle Richtlinie erstellen.
Erstellen einer IAM-Rolle, die Zugriff auf Amazon RDS erlaubt
Führe die folgenden Schritte aus:
- Öffne die IAM-Konsole.
- Wähle im Navigationsbereich Rollen.
- Wähle Rolle erstellen.
- Wähle im Abschnitt Vertrauenswürdiger Entitätstyp die Option AWS-Service aus.
- Wähle im Abschnitt Anwendungsfall für Service or user case (Service- oder Anwendungsfall) die Option EC2.
- Wähle Weiter.
- Verwende die Suchleiste, um die IAM-Richtlinie zu finden.
- Wähle Weiter.
- Gib unter Rollenname einen Namen für die IAM-Rolle ein.
- Wähle Rolle erstellen.
Anfügen der IAM-Rolle an die Amazon-EC2-Instance
Führe die folgenden Schritte aus:
- Öffne die Amazon-EC2-Konsole.
- Wähle im Navigationsbereich Instances und wähle dann die Instance aus, die du für die Verbindung zu Amazon RDS verwendest.
- Hänge die IAM-Rolle an die EC2-Instance an.
- Verwende SSH, um eine Verbindung zur EC2-Instance herzustellen.
Generieren eines AWS-Authentifizierungstokens, um die IAM-Rolle zu identifizieren
Nachdem du eine Verbindung zur Amazon EC2-Instance hergestellt hast, führe den folgenden AWS CLI-Befehl generate-db-auth-token aus, um ein Authentifizierungstoken zu generieren:
aws rds generate-db-auth-token --hostname {db or cluster endpoint} --port 3306 --username {db username}
Kopiere und speichere das Authentifizierungstoken, um es später zu verwenden. Oder verwende ein AWS-SDK für .NET, um ein Token zu generieren.
Die Paketdatei für das SSL-Stammzertifikat herunterladen
Informationen zum Herunterladen eines Zertifikatspakets für alle AWS-Regionen findest du unter Zertifikatspakete je nach AWS-Region.
Verwendung der IAM-Rollenanmeldeinformationen und des Authentifizierungstokens, um eine Verbindung zur RDS-DB-Instance herzustellen
Nachdem du die Zertifikatsdatei heruntergeladen hast, führe den folgenden Befehl aus, um SSL zu verwenden, um eine Verbindung zur DB-Instance herzustellen:
RDSHOST="rdsmysql.abcdefghijk.us-west-2.rds.amazonaws.com"TOKEN="$(aws rds generate-db-auth-token --hostname $RDSHOST --port 3306 --region us-west-2 --username {db username})" mysql --host=$RDSHOST --port=3306 --ssl-ca=/sample_dir/global-bundle.pem --enable-cleartext-plugin --user=jane_doe --password=$TOKEN
Hinweis: Wenn du einen MariaDB-Client verwendest, gib die Option —enable-cleartext-plugin nicht an.
Verwende IAM-Rollenanmeldeinformationen und SSL-Zertifikate, um eine Verbindung zur RDS-DB-Instance herzustellen
Nachdem du die Zertifikatsdatei heruntergeladen hast, verwende SSL, um eine Verbindung zur DB-Instance her.
Ähnliche Informationen
IAM-Datenbankauthentifizierung für MariaDB, MySQL und PostgreSQL
- Sprache
- Deutsch
Ähnliche Videos


Relevanter Inhalt
AWS OFFICIALAktualisiert vor 5 Monaten