Pourquoi ma règle AWS Config ne fonctionne-t-elle pas ?

Date de la dernière mise à jour : 20/07/2021

Ma règle AWS Config ne fonctionne pas. Comment résoudre ce problème ?

Solution

Divers problèmes peuvent entraîner le non-fonctionnement des règles AWS Config gérées, notamment les autorisations, l'étendue des ressources ou les éléments de modification de configuration. Pour résoudre les règles AWS Config qui ne fonctionnent pas, essayez les étapes de dépannage suivantes.

Remarque : si vous recevez des erreurs lors de l'exécution de commandes depuis l'interface de ligne de commande AWS (CLI AWS), assurez-vous d'utiliser la version la plus récente de cette dernière.

Dépannage général des règles AWS Config

  1. Vérifiez que votre enregistreur de configuration enregistre tous les types de ressources dont votre règle a besoin (par exemple, AWS። EC2። Instance).
  2. Ouvrez la console AWS Config, puis choisissez Rules (Paramètres) dans le panneau de navigation. Si le champ Conformité indique Aucun résultat signalé ou Aucune ressource dans la portée, reportez-vous à l'étape 8 de la section Configuration et activation d'une règle gérée AWS.
  3. Si une heure d'évaluation n'est pas signalée et indique que les évaluations ont échoué, consultez l'appel d'API PutEvaluations dans les journaux AWS CloudTrail pour détecter les erreurssignalées.
  4. Ouvrez la console AWS CloudTrail, puis sélectionnez Historique des événements dans le panneau de navigation. Pour filtrer les journaux, choisissez Source de l'événement dans la liste déroulante, puis saisissez config.amazonaws.com dans le champ de recherche. Vérifiez les résultats du journal filtré pour les erreurs Accès refusé .
  5. Pour les règles AWS Config de déclenchement périodique, accédez au tableau de bord de l'historique des événements de la console CloudTrail pour vérifier les API de service pertinentes sur la ressource.
  6. Examinez la configuration des ressources et les chronologies de conformité spécifiques. Vérifiez qu'un élément de configuration a été généré pour refléter la modification des règles AWS Config avec un déclencheur basé sur le changement de configuration.
  7. Vérifiez que les exigences relatives aux autorisations de rôle de l'enregistreur sont respectées. Ces informations d'identification sont utilisées pour décrire la configuration des ressources et la conformité de publication à l'aide de l'API PutEvaluations .
  8. Exécutez la commande AWS CLI suivante. Remplacez ConfigRuleName par votre nom de règle AWS Config et remplacez RegionID par votre région AWS. Dans la sortie, passez en revue la valeur LastErrorMessage .
aws configservice describe-config-rule-evaluation-status --config-rule-names ConfigRuleName --region RegionID

Dépannage des règles AWS Config personnalisées

Pour les règles AWS Config personnalisées, en plus des étapes générales de dépannage précédentes, vérifiez les éléments suivants :

Un message d'erreur « Impossible d'exécuter la fonction lambda » indique que le service AWS Config n'a pas l'autorisation d'appeler la fonction AWS Lambda. Pour résoudre cette erreur, exécutez la commande suivante pour accorder les autorisations requises. Remplacezfunction_name par votre nom de fonction Lambda, RegionID par votre région AWS etAWS-accountID par votre ID de compte AWS :

aws lambda add-permission --function-name function_name --region RegionID --statement-id allow_config --action lambda:InvokeFunction --principal config.amazonaws.com --source-account AWS-accountID

Voici un exemple de politique de ressources de la fonction Lambda :

{
    "Version": "2012-10-17",
    "Id": "default",
    "Statement": [
        {
            "Sid": "allow_config",
            "Effect": "Allow",
            "Principal": {
                "Service": "config.amazonaws.com"
            },
            "Action": "lambda:InvokeFunction",
            "Resource": "lambda-function-arn",
            "Condition": {
                "StringEquals": {
                    "AWS:SourceAccount": "AWS-accountID"
                }
            }
        }
    ]
}

Identifiez l'événement PutEvaluations dont la valeur Nom d'utilisateur correspond au nom de la fonction Lambda. Consultez le errormessage pour plus de détails.

  • Si le rôle utilisé par la fonction Lambda pour exécuter le code n'est pas autorisé à effectuer config:PutEvaluations, ajoutez les autorisations au rôle spécifié.
  • Si les autorisations sont correctes, vérifiez le code de fonction Lambda pour les exceptions déclenchées. Pour plus de détails, consultez les journaux du groupe de journaux Amazon CloudWatch (/AWS/Lambda/FunctionName) associé à la fonction Lambda. Ajoutez une instruction print dans le code pour générer plus de journaux de débogage.

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?