Passer au contenu

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

Lecture de 4 minute(s)
0

Ma règle AWS Config ne fonctionne pas et je souhaite résoudre le problème.

Résolution

Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'AWS CLI.

La règle AWS Config que vous avez gérée peut ne pas fonctionner en raison de problèmes d'autorisations, d'étendue des ressources ou d'éléments de modification de configuration. Utilisez la procédure de résolution de problèmes suivante pour résoudre ces problèmes.

Vérifier l’enregistreur de configuration

Vérifiez que votre enregistreur de configuration enregistre tous les types de ressources requis par votre règle, par exemple AWS::EC2::Instance.

Mettre à jour l'option de conformité pour la règle

Sur la console AWS Config, l'option Conformité de votre règle peut afficher Aucun résultat signalé ou Aucune ressource concernée. Pour obtenir les résultats de l'évaluation, vous devrez peut-être mettre à jour la règle, modifier sa portée ou ajouter des ressources. Pour plus d'informations sur la procédure de résolution de ce problème, consultez la section Ajout de règles (console).

Examiner vos évaluations

Si AWS Config ne signale aucune durée d'évaluation et indique que les évaluations ont échoué, examinez l'appel d'API PutEvaluations dans les journaux AWS CloudTrail pour détecter des erreurs.

Consulter l'historique des événements

Dans CloudTrail, vous pouvez consulter l'historique de vos événements pour les événements AWS Config. Filtrez la source de l'événement pour config.amazonaws.com et recherchez les erreurs « Access denied » dans les résultats du journal filtré. Puis, examinez les erreurs pour plus de détails sur le problème.

Vous pouvez également consulter l'historique des événements pour connaître les déclencheurs d'évaluation périodiques. Pour résoudre ces problèmes, assurez-vous que la ressource peut accéder aux API de service pertinentes.

Examiner les éléments de configuration

Vérifiez la configuration des ressources et les délais de conformité. Assurez-vous que l'élément de configuration de votre ressource reflète correctement les modifications apportées aux règles AWS Config à l'aide d'un déclencheur basé sur les modifications de configuration.

Mettre à jour les autorisations du rôle d'enregistreur

Assurez-vous que le rôle d'enregistreur dispose des autorisations Gestion des identités et des accès AWS (AWS IAM) correctes. Ces autorisations utilisent l'API PutEvaluations pour décrire la configuration des ressources et la conformité en matière de publication.

Vérifier l'état d'évaluation des règles

Pour consulter l'état de votre règle, exécutez la commande describe-config-rule-evaluation-status suivante et vérifiez la valeur de LastErrorMessage :

aws configservice describe-config-rule-evaluation-status --config-rule-names ConfigRuleName --region RegionID

Remarque : remplacez ConfigRuleName par le nom de la règle AWS Config et RegionID par votre région AWS.

Résoudre les problèmes liés aux règles AWS Config personnalisées

Pour les règles AWS Config personnalisées, AWS Config doit disposer des autorisations appropriées pour invoquer la fonction AWS Lambda. Si vous ne disposez pas des autorisations appropriées, le message d'erreur suivant s'affiche :

« Unable to execute lambda function »

Un exemple de politique de ressources de la fonction Lambda est fourni ci-dessous :

{
    "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"
                }
            }
        }
    ]
}

Pour en savoir plus sur l'erreur, consultez les événements PutEvaluations de vos journaux dont la valeur de Nom d'utilisateur correspond au nom de la fonction Lambda. Puis, consultez le message d'erreur pour plus de détails.

Si vous n'avez pas autorisé le rôle de service de la fonction Lambda à exécuter config:PutEvaluations, exécutez la commande add-permission suivante :

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

Remarque : remplacez function_name par le nom de la fonction Lambda, RegionID par votre région et AWS-accountID par l’ID de compte AWS.

Si les autorisations pour le rôle sont correctes, consultez le code de la fonction Lambda pour identifier les exceptions déclenchées. Pour plus de détails, consultez les journaux du groupe de journaux /aws/lambda/FunctionName Amazon CloudWatch associé à la fonction Lambda.

Remarque : pour générer davantage de journaux de débogage, ajoutez une instruction d’impression au code Lambda.

Informations connexes

Pourquoi ne puis-je pas créer ou supprimer des règles de configuration pour AWS Organizations dans AWS Config ?

AWS OFFICIELA mis à jour il y a un an