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 Tipps zur Problembehebung für einige häufige IAM-DB-Authentifizierungsprobleme und Informationen zu CloudWatch-Protokollen und Metriken für die IAM-DB-Authentifizierung.

Exportieren von Fehlerprotokolle zur IAM-DB-Authentifizierung in CloudWatch Logs

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

Sie können Protokollexporte nach CloudWatch Logs über die Konsole, die AWS CLI und die RDS-API aktivieren. Anleitungen zur Konsole finden Sie unter Veröffentlichen von Datenbankprotokollen in Amazon CloudWatch Logs.

Verwenden Sie den folgenden Befehl, um Ihre IAM-DB-Authentifizierungsfehlerprotokolle nach CloudWatch Logs zu exportieren, wenn Sie einen DB-Cluster über die AWS CLI 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 IAM-DB-Authentifizierungsfehlerprotokolle nach CloudWatch Logs zu exportieren, wenn Sie einen DB-Cluster über die AWS CLI ä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 bestätigen, ob Ihr DB-Cluster IAM-DB-Authentifizierungsprotokolle nach CloudWatch Logs exportiert, überprüfen Sie, ob der Parameter EnabledCloudwatchLogsExports in der Ausgabe für den Befehl describe-db-instances auf iam-db-auth-error festgelegt ist.

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

CloudWatch-Metriken zur IAM-DB-Authentifizierung

Amazon Aurora liefert nahezu in Echtzeit Metriken zur IAM-DB-Authentifizierung für Ihr Amazon-CloudWatch-Konto. Die folgende Tabelle listet die IAM-DB-Authentifizierungsmetriken auf, die in CloudWatch verfügbar sind:

Metrik Beschreibung

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.

Überprüfen Sie Ihre Token-Zwischenspeicherung und/oder Token-Wiederverwendungslogik in Ihrer Anwendung. 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 nehmen die falsche Rolle/Richtlinie für db_user an, um eine Verbindung zur Datenbank herzustellen.

  • Sie nehmen die richtige Richtlinie für db_user an, stellen aber keine Verbindung zur richtigen Datenbank her.

Stellen Sie sicher, dass Sie die IAM-Rolle und/oder -Richtlinie in Ihrer Anwendung übernehmen. 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.