Comment ajouter des actions de correction pour les règles d'organisation AWS Config ?

Dernière mise à jour : 03/02/2021

Je souhaite utiliser des actions de correction, mais la règle AWS Config de l'organisation ne prend pas en charge les actions de correction.

Brève description

Utilisez un modèle d'événement personnalisé avec une règle Amazon EventBridge pour correspondre à votre règle AWS Config pour votre organisation. Choisissez ensuite le runbook AWS Systems Manager Automation comme cible.

Résolution

Dans l'exemple suivant, le runbook AWS-TerminateEC2Instance s'exécute sur des ressources non conformes de la règle d'organisation avec le type de ressource AWS::EC2::Instance. L'instance Amazon Elastic Compute Cloud (Amazon EC2) est résiliée car elle n'est pas conforme.

Remarque :

  • Vous avez la possibilité de remplacer le type de ressource pour votre service AWS spécifique et le nom de la règle de l'organisation.
  • Cette configuration concerne uniquement le compte de gestion AWS Organizations. Pour effectuer l'action de correction sur les ressources de vos comptes membres, configurez la règle EventBridge avec un runbook à l'aide de AWS CloudFormation StackSets.

1.    Avant de commencer, assurez-vous que vous disposez des autorisations EC2 pour exécuter le runbook AWS Systems Manager Automation et une stratégie d'approbation de rôle d'automatisation Systems Manager similaire à la suivante :

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": [
          "ssm.amazonaws.com"
        ]
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

2.    Ouvrez la console EventBridge.

3.    Dans le volet de navigation, sélectionnez Rules (Règles), puis Create rule (Créer une règle).

4.    Dans Name and description (Nom et description), saisissez un nom et une description pour la règle.

5.    Dans Define Pattern (Définir le modèle), choisissez Event pattern (Modèle d’événement).

5.    Dans Event Matching pattern (Modèle de correspondance d'événement), choisissez Custom pattern (Modèle personnalisé).

6.    Dans Event pattern (Modèle d'événement), copiez et collez l'exemple de modèle d'événement suivant, puis choisissez Save (Enregistrer).

Remarque : remplacez « TestRuleExample » par le nom de règle d'organisation cible dans votre compte.

{
  "source": [
    "aws.config"
  ],
  "detail-type": [
    "Config Rules Compliance Change"
  ],
  "detail": {
    "messageType": [
      "ComplianceChangeNotification"
    ],
    "configRuleName": [
      {
        "prefix": "OrgConfigRule-TestRuleExample-"
      }
    ],
    "resourceType": [
      "AWS::EC2::Instance"
    ],
    "newEvaluationResult": {
      "complianceType": [
        "NON_COMPLIANT"
      ]
    }
  }
}

7.    Choisissez la liste déroulante Target (Cible), puis choisissez SSM Automation.

8.    Choisissez la liste déroulante Document, puis choisissez AWS-TerminateEC2Instance.

9.    Développez Configure document version (Configurer la version du document), puis choisissez Latest (Dernière).

10.    Développez Configure automation parameter(s) (Configurer les paramètres d'automatisation), puis choisissez Input Transformer (Transformateur d'entrée).

11.    Dans la zone de texte Input Path (Chemin d'entrée), copiez et collez ce qui suit :

{"instanceid":"$.detail.resourceId"}

12.    Dans la zone de Instance ID text (texte ID d'instance), copiez et collez ce qui suit :

{"InstanceId":[<instanceid>],"AutomationAssumeRole":["arn:aws:iam::123456789012:role/SSMRoleExample"]}

Remarque : remplacez la valeur ARN AutomationAssumerole par votre ARN de rôle SSM.

13.    Choisissez Create a new role (Créer un nouveau rôle) ou Use existing role (Utiliser un rôle existant), puis choisissez Create (Créer).

Remarque : assurez-vous que l'état de la règle EventBridge est Enabled (Activé).

Pour plus d'informations sur l'état de la règle AWS Config de l'organisation et pour obtenir une liste, consultez describe-organization-config-rule-statuses et describe-organization-config-rules.