Je souhaite utiliser le dossier d’exploitation AWS-ConfigureS3BucketLogging pour corriger les ressources non conformes. Cependant, la correction automatique échoue avec le message d’erreur « Action execution failed ».
Brève description
La règle AWS Config s3-bucket-logging-enabled vérifie si la journalisation est activée pour un compartiment Amazon Simple Storage Service (Amazon S3) cible. Le dossier d’exploitation AWS-ConfigureS3BucketLogging d’AWS Systems Manager Automation corrige ensuite les ressources non conformes.
Le dossier d’exploitation AWS-ConfigureS3BucketLogging doit disposer des autorisations suivantes :
- Politique de confiance configurée dans AWS Identity and Access Management (IAM) pour un rôle de service d’automatisation. Ces informations sont transmises en tant que paramètre AutomationAssumeRole.
- Permissions PutBucketLogging avec un compartiment S3 configuré pour stocker les journaux.
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 page Résoudre les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.
Pour résoudre l’erreur Action execution failed, vous devez exécuter la commande describe-remediation-execution-status d’AWS CLI pour consulter le message d’erreur détaillé.
Pour plus d’informations, consultez Comment puis-je résoudre les problèmes liés aux actions de correction qui ont échoué dans AWS Config ?
Accès refusé
Vous recevez le message d’erreur suivant :
« Step fails when it is Execute/Cancelling action. An error occurred (AccessDenied) when calling the PutBucketLogging operation: Access Denied. Please refer to Automation Service Troubleshooting Guide for more diagnosis details. »
Cette erreur se produit, car le rôle AutomationAssumeRole n’est pas autorisé à appeler l’API PutBucketLogging sur les compartiments S3 non conformes. Utilisez l’exemple de politique suivant pour autoriser le rôle à appeler l’API PutBucketLogging :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:PutBucketLogging",
"Resource": [
"arn:aws:s3:::<BUCKET_NAME_1>",
"arn:aws:s3:::<BUCKET_NAME_2>",
"arn:aws:s3:::<BUCKET_NAME_3>"
]
}auto
]
}
Remarque : si vous devez corriger tous les compartiments S3 d’une région AWS, utilisez la clé de condition aws:RequestedRegion pour limiter l’autorisation du rôle.
Paramètres d’exécution non valides
Vous recevez le message d’erreur suivant :
« Invalid execution parameters sent to Systems Automation. The defined assume role is unable to be assumed. »
Cette erreur se produit, car Systems Manager Automation ne peut pas endosser le rôle AutomationAssumeRole. Utilisez l’exemple de politique suivant pour autoriser Systems Manager à endosser le rôle IAM :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ssm.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Informations connexes
Correction des ressources non conformes à l’aide de règles AWS Config
Assurer la conformité des compartiments Amazon S3 à l’aide de la fonctionnalité de correction automatique d’AWS Config