Résolution des problèmes liés à l'authentification IAM DB - 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 IAM DB

Vous trouverez ci-dessous des idées pour résoudre certains problèmes courants d'authentification de base de données IAM, ainsi que des informations sur les CloudWatch journaux et les métriques relatifs à l'authentification de base de données IAM.

Exportation des journaux d'erreurs d'authentification IAM DB vers CloudWatch des journaux

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

Vous pouvez activer les exportations de CloudWatch journaux vers Logs à partir de la console et de l'API RDS. AWS CLI Pour les instructions relatives à la console, voirPublication des journaux de base de données sur 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 de base 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 lorsque vous modifiez un de base 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 le cluster de base de données de base de données exporte les journaux d'authentification IAM DB vers CloudWatch Logs, vérifiez si le EnabledCloudwatchLogsExports paramètre est défini sur iam-db-auth-error dans la sortie de la describe-db-instances commande.

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

Métriques d'authentification CloudWatch IAM DB

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 IAM DB disponibles à l'aide CloudWatch de :

Métrique Description

IamDbAuthConnectionRequests

Nombre total de demandes de connexion effectuées avec l'authentification IAM DB.

IamDbAuthConnectionSuccess

Nombre total de demandes d'authentification IAM DB réussies.

IamDbAuthConnectionFailure

Nombre total de demandes d'authentification IAM DB ayant échoué.

IamDbAuthConnectionFailureInvalidToken

Nombre total de demandes d'authentification IAM DB ayant échoué en raison d'un jeton non valide.

IamDbAuthConnectionFailureInsufficientPermissions

Nombre total de demandes d'authentification IAM DB 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 IAM DB. 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 IAM DB 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 rendra invalide.

[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 IAM DB a expiré. Les jetons ne sont valables que 15 minutes.

Vérifiez la logique de réutilisation des and/or jetons de mise en cache 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'rds-db:connectaction.

  • Vous supposez que le format de connexion role/policy db_user à la base de données est incorrect.

  • Vous utilisez la bonne politique pourdb_user, mais vous ne vous connectez pas à la bonne base de données.

Vérifiez que la and/or politique de rôle IAM que vous adoptez est bien celle que vous adoptez 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 IAM DB.

Communiquez avec https://aws.amazon.com/premiumsupport/ nous pour étudier le problème.