Problembehandlung 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.

Problembehandlung 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 Datenbank-Host gespeichert, und Sie können diese Protokolle in Ihr Logs-Konto CloudWatch exportieren. Verwenden Sie die Protokolle und Behebungsmethoden 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 Anweisungen für die Konsole finden Sie unterDatenbankprotokolle 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 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 fehlgeschlagenen IAM-DB-Authentifizierungsanfragen aufgrund eines ungültigen Tokens.

IamDbAuthConnectionFailureInsufficientPermissions

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

IamDbAuthConnectionFailureThrottling

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

IamDbAuthConnectionFailureServerError

Gesamtzahl der fehlgeschlagenen IAM-DB-Authentifizierungsanfragen aufgrund eines internen Serverfehlers in der IAM-DB-Authentifizierungsfunktion.

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-Authentifizierungstoken in der Verbindungsanforderung ist entweder kein gültiges SigV4A-Token oder es ist nicht richtig formatiert.

Überprüfen Sie Ihre Strategie zur Token-Generierung in Ihrer Anwendung. Stellen Sie in einigen Fällen sicher, dass Sie das Token mit einer gültigen Formatierung übergeben. Wenn Sie das Token kürzen (oder eine falsche Zeichenkettenformatierung), 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-Authentifizierungstoken ist abgelaufen. Tokens sind nur 15 Minuten gültig.

Überprüfen Sie Ihre Logik zur Token-Zwischenspeicherung in Ihrer Anwendung zur and/or Token-Wiederverwendung. Sie sollten Token, 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 nicht. rds-db:connect

  • 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 Datenbank.

[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 Verbindungsanfragen an Ihre Datenbank. 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 bestehende 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, um das https://aws.amazon.com/premiumsupport/ Problem zu untersuchen.