Résolution des problèmes liés à l’authentification de base de données IAM - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution des problèmes liés à l’authentification de base de données IAM

Vous trouverez ci-dessous des idées de dépannage pour certains problèmes courants liés à l’authentification de base de données IAM, ainsi que des informations sur les journaux CloudWatch pour l’authentification de base de données IAM.

Exportation des journaux d’erreurs d’authentification de base de données IAM vers CloudWatch Logs

Les journaux des erreurs d’authentification de base de données IAM sont stockés sur l’hôte de la base de données, et vous pouvez les exporter vers votre compte CloudWatch Logs. Utilisez les journaux et les méthodes de correction de cette page pour résoudre les problèmes liés à l’authentification de base de données IAM.

Vous pouvez activer les exportations de journaux vers CloudWatch Logs à partir de la console AWS CLI et de l’API RDS. Pour des instructions sur l’utilisation de la console, consultez Publication des journaux de base de données dans Amazon CloudWatch Logs.

Pour exporter vos journaux d’erreurs d’authentification de base de données IAM vers CloudWatch Logs lors de la création d’un cluster de bases de données à partir du AWS CLI, utilisez la commande suivante :

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

Pour exporter vos journaux d’erreurs d’authentification de base de données IAM vers CloudWatch Logs lors de la modification d’un cluster de bases de données à partir du AWS CLI, utilisez la commande suivante :

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

Pour vérifier si votre cluster de bases de données exporte les journaux d’authentification de base de données IAM vers CloudWatch Logs, vérifiez si le paramètre EnabledCloudwatchLogsExports est défini sur iam-db-auth-error dans la sortie de la commande describe-db-instances.

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

Métriques CloudWatch pour l’authentification de base de données IAM

Amazon Aurora fournit des statistiques en temps quasi réel concernant l’authentification de base de données IAM sur votre compte Amazon CloudWatch. Le tableau suivant répertorie les métriques d’authentification de base de données IAM disponibles avec CloudWatch :

Métrique Description

IamDbAuthConnectionRequests

Nombre total de demandes de connexion effectuées avec l’authentification de base de données IAM.

IamDbAuthConnectionSuccess

Nombre total de demandes d’authentification de base de données IAM réussies.

IamDbAuthConnectionFailure

Nombre total de demandes d’authentification de base de données IAM ayant échoué.

IamDbAuthConnectionFailureInvalidToken

Nombre total de demandes d’authentification de base de données IAM ayant échoué à cause d’un jeton non valide.

IamDbAuthConnectionFailureInsufficientPermissions

Nombre total de demandes d’authentification de base de données IAM ayant échoué en raison de politiques ou d’autorisations incorrectes.

IamDbAuthConnectionFailureThrottling

Nombre total de demandes d’authentification de base de données IAM ayant échoué en raison de la limitation de l’authentification de base de données IAM.

IamDbAuthConnectionFailureServerError

Nombre total de demandes d’authentification de base de données IAM ayant échoué en raison d’une erreur interne du serveur dans la fonctionnalité d’authentification de base de données IAM.

Problèmes courants et solutions correspondantes

Vous pouvez rencontrer les problèmes suivants lors de l’utilisation de l’authentification de base de données IAM. Suivez les étapes de correction indiquées dans le tableau pour résoudre les problèmes :

Erreur Métrique(s) Cause Solution

[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

Le jeton d’authentification de base de données IAM figurant dans la demande de connexion n’est pas un jeton SigV4a valide ou il n’est pas formaté correctement.

Vérifiez votre stratégie de génération de jetons dans votre application. Dans certains cas, assurez-vous de transmettre le jeton avec un formatage valide. Le fait de tronquer le jeton (ou un formatage de chaîne incorrect) le rend non valide.

[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

Le jeton d’authentification de base de données IAM a expiré. Les jetons ne sont valides que pendant 15 minutes.

Vérifiez votre logique de mise en cache et/ou de réutilisation des jetons dans votre application. Vous ne devez pas réutiliser des jetons datant de plus de 15 minutes.

[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

Cette erreur peut être due aux raisons suivantes :

  • La politique IAM adoptée par l’application n’autorise pas l’action rds-db:connect.

  • Vous assumez le rôle ou la politique incorrects pour que db_user se connecte à la base de données.

  • Vous adoptez la bonne politique pour db_user, mais vous ne vous connectez pas à la bonne base de données.

Vérifiez que vous assumez le rôle et/ou la politique IAM dans votre application. Assurez-vous de suivre la même politique pour générer le jeton que pour vous connecter à la base de données.

[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

Vous envoyez trop de demandes de connexion à votre base de données en peu de temps. La limite de limitation de l’authentification IAM DB est de 200 connexions par seconde.

Réduisez le taux d’établissement de nouvelles connexions grâce à l’authentification IAM. Envisagez d’implémenter le regroupement de connexions à l’aide du proxy RDS afin de réutiliser les connexions établies dans votre application.

[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

Une erreur interne s’est produite lors de l’autorisation de la connexion à la base de données avec l’authentification de base de données IAM.

Contactez https://aws.amazon.com/premiumsupport/ pour enquêter sur le problème.