View a markdown version of this page

Problembehebung bei der IAM-DB-Authentifizierung - 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.

Problembehebung bei der IAM-DB-Authentifizierung

Im Folgenden finden Sie Ideen zur Fehlerbehebung für einige häufig auftretende Probleme mit der IAM-DB-Authentifizierung sowie Informationen zu CloudWatch Protokollen und Metriken für die IAM-DB-Authentifizierung.

Exportieren von Fehlerprotokollen für die IAM-DB-Authentifizierung in Logs CloudWatch

Fehlerprotokolle für die IAM-DB-Authentifizierung werden auf dem Datenbankhost gespeichert, und Sie können diese Protokolle in Ihr Logs-Konto CloudWatch exportieren. Verwenden Sie die Protokolle und Problembehebungsmethoden auf dieser Seite, um Probleme mit der IAM-DB-Authentifizierung zu beheben.

Sie können CloudWatch Protokollexporte über die Konsole und die RDS-API in Logs aktivieren. AWS CLI Anleitungen zur Konsole finden Sie unter Datenbankprotokolle in Amazon CloudWatch Logs veröffentlichen.

Verwenden Sie den folgenden Befehl, um Ihre CloudWatch IAM-DB-Authentifizierungsfehlerprotokolle in Logs zu exportieren AWS CLI, wenn Sie einen aus dem erstellen:

aws rds create-db-cluster --db-cluster-identifier mydbinstance \ --region us-east-1 \ --engine postgres \ --engine-version 16 \ --master-username master \ --master-user-password password \ --publicly-accessible \ --enable-iam-database-authentication \ --enable-cloudwatch-logs-exports=iam-db-auth-error

Verwenden Sie den folgenden Befehl, um Ihre CloudWatch IAM-DB-Authentifizierungsfehlerprotokolle nach Logs zu exportieren AWS CLI, wenn Sie ein aus dem ändern:

aws rds modify-db-cluster --db-cluster-identifier mydbcluster \ --region us-east-1 \ --cloudwatch-logs-export-configuration '{"EnableLogTypes":["iam-db-auth-error"]}'

Um zu überprüfen, ob Ihr CloudWatch IAM-DB-Authentifizierungsprotokolle nach Logs exportiert, überprüfen Sie, ob der EnabledCloudwatchLogsExports Parameter iam-db-auth-error in der Ausgabe des Befehls auf gesetzt ist. describe-db-instances

aws rds describe-db-cluster --region us-east-1 --db-cluster-identifier mydbcluster ... "EnabledCloudwatchLogsExports": [ "iam-db-auth-error" ], ...

IAM-DB-Authentifizierungsmetriken CloudWatch

Amazon Aurora liefert nahezu in Echtzeit Metriken zur IAM-DB-Authentifizierung für Ihr Amazon-Konto. CloudWatch In der folgenden Tabelle sind die IAM-DB-Authentifizierungsmetriken aufgeführt, die mit folgenden Methoden verfügbar sind: CloudWatch

Metrik Description

IamDbAuthConnectionRequests

Gesamtzahl der Verbindungsanfragen, die mit der IAM-DB-Authentifizierung gestellt wurden

IamDbAuthConnectionSuccess

Gesamtzahl der erfolgreichen IAM-DB-Authentifizierungsanfragen

IamDbAuthConnectionFailure

Gesamtzahl der fehlgeschlagenen IAM-DB-Authentifizierungsanfragen

IamDbAuthConnectionFailureInvalidToken

Gesamtzahl der aufgrund ungültiger Token fehlgeschlagenen IAM-DB-Authentifizierungsanfragen

IamDbAuthConnectionFailureInsufficientPermissions

Gesamtzahl der aufgrund falscher Richtlinien oder Berechtigungen fehlgeschlagenen IAM-DB-Authentifizierungsanfragen

IamDbAuthConnectionFailureThrottling

Gesamtzahl der aufgrund der Drosselung der IAM-DB-Authentifizierung fehlgeschlagenen IAM-DB-Authentifizierungsanfragen

IamDbAuthConnectionFailureServerError

Gesamtzahl der aufgrund interner Serverfehler im IAM-DB-Authentifizierungsfeature fehlgeschlagenen IAM-DB-Authentifizierungsanfragen

Häufige Probleme und Lösungen

Bei der Verwendung der IAM-DB-Authentifizierung können die folgenden Probleme auftreten. Verwenden Sie die Schritte zur Problembehebung in der Tabelle, um die Probleme zu lösen:

Fehler Metrik(en) Ursache Lösung

[ERROR] Failed to authenticate the connection request for user db_user because the provided token is malformed or otherwise invalid. (Status Code: 400, Error Code: InvalidToken)

IamDbAuthConnectionFailure

IamDbAuthConnectionFailureInvalidToken

Das IAM-DB-Authentifizierungs-Token in der Verbindungsanfrage ist entweder kein gültiges SigV4A-Token oder es ist nicht richtig formatiert.

Überprüfen Sie Ihre Strategie zur Token-Generierung in Ihrer Anwendung. In einigen Fällen müssen Sie sicherstellen, dass Sie das Token mit einer gültigen Formatierung übergeben. Wenn Sie das Token kürzen (oder eine falsche Zeichenkettenformatierung verwendet wurde), wird das Token ungültig.

[ERROR] Failed to authenticate the connection request for user db_user because the token age is longer than 15 minutes. (Status Code: 400, Error Code:ExpiredToken)

IamDbAuthConnectionFailure

IamDbAuthConnectionFailureInvalidToken

Das IAM-DB-Authentifizierungs-Token ist abgelaufen. Tokens sind nur 15 Minuten lang gültig.

Prüfen Sie Ihre Logik zur Token-Zwischenspeicherung in Ihrer Anwendung zur and/or Token-Wiederverwendung. Sie sollten Tokens, die älter als 15 Minuten sind, nicht wiederverwenden.

[ERROR] Failed to authorize the connection request for user db_user because the IAM policy assumed by the caller 'arn:aws:sts::123456789012:assumed-role/ <RoleName>/ <RoleSession>' is not authorized to perform `rds-db:connect` on the DB instance. (Status Code: 403, Error Code:NotAuthorized)

IamDbAuthConnectionFailure

IamDbAuthConnectionFailureInsufficientPermissions

Dies kann folgende Ursachen haben:

  • Die von der Anwendung angenommene IAM-Richtlinie autorisiert die Aktion rds-db:connect nicht.

  • Sie gehen von der falschen role/policy Methode ausdb_user, um eine Verbindung zur Datenbank herzustellen.

  • Sie gehen von der richtigen Richtlinie für ausdb_user, stellen aber keine Verbindung zur richtigen Datenbank her.

Vergewissern Sie sich, dass die and/or IAM-Rollenrichtlinie, von der Sie ausgehen, in Ihrer Anwendung gilt. Stellen Sie sicher, dass Sie für die Generierung des Tokens dieselbe Richtlinie verwenden wie für die Verbindung mit der DB.

[ERROR] Failed to authorize the connection request for user db_user due to IAM DB authentication throttling. (Status Code: 429, Error Code: ThrottlingException)

IamDbAuthConnectionFailure

IamDbAuthConnectionFailureThrottling

Sie stellen in kurzer Zeit zu viele Verbindungsanforderungen an Ihre DB. Das Limit für die Drosselung der IAM-DB-Authentifizierung liegt bei 200 Verbindungen pro Sekunde.

Reduzieren Sie die Geschwindigkeit, mit der neue Verbindungen hergestellt werden, mit der IAM-Authentifizierung. Erwägen Sie die Implementierung von Verbindungspooling mithilfe von RDS-Proxy, um vorhandene Verbindungen in Ihrer Anwendung wiederzuverwenden.

[ERROR] Failed to authorize the connection request for user db_user due to an internal IAM DB authentication error. (Status Code: 500, Error Code: InternalError)

IamDbAuthConnectionFailure

IamDbAuthConnectionFailureThrottling

Bei der Autorisierung der DB-Verbindung mit der IAM-DB-Authentifizierung ist ein interner Fehler aufgetreten.

Wenden Sie sich an, https://aws.amazon.com/premiumsupport/ um das Problem zu untersuchen.