Comment bien comprendre le champ configurationItemDiff dans les notifications Amazon SNS ConfigurationItemChangeNotification ?

Lecture de 4 minute(s)
0

J'ai reçu une notification ConfigurationItemChangeNotification d'Amazon SNS (Amazon Simple Notification Service). Pourquoi ai-je reçu cette notification et comment dois-je interpréter les informations contenues dans le champ ConfigurationItemDiff ?

Solution

AWS Config crée un élément de configuration chaque fois que la configuration d'une ressource change (création/mise à jour/suppression). Pour obtenir la liste des ressources prises en charge par AWS Config, consultez Types de ressources pris en charge. AWS Config utilise Amazon SNS pour remettre une notification en cas de modifications. La charge utile des notifications Amazon SNS comprend des champs destinés à faciliter le suivi des modifications de ressources dans une région AWS donnée. Pour plus d'informations, consultez Exemples de notifications de modifications d'éléments de configuration.

Pour comprendre la raison de la réception d'une notification ConfigurationItemChangeNotification, examinez les détails contenus de configurationItemDiff. Les champs varient en fonction du type de modification et peuvent former différentes combinaisons, à savoir UPDATE-UPDATE, UPDATE-CREATE ou DELETE-DELETE. Certaines combinaisons courantes vous sont ici expliquées.

UPDATE-CREATE et UPDATE-UPDATE

L'exemple suivant comprend les modifications apportées aux relations directes de ressources et aux configurations de ressources. Voici ce que révèlent les détails de configurationItemDiff :

Action effectuée : une stratégie gérée présente dans le compte a été attachée à un rôle AWS Identity and Access Management (IAM).

Opération de base effectuée : UPDATE (mise à jour du nombre d'associations du type de ressource AWS።IAM።Policy dans un compte).

Combinaisons de types de modifications :

  1. Modification de relations directes de ressources UPDATE-CREATE. Un attachement ou une association a été créé entre une stratégie IAM et un rôle IAM.
  2. Modification de configuration de ressource UPDATE-UPDATE. Le nombre d'associations de stratégie IAM est passé de 2 à 3 lorsque la stratégie a été attachée au rôle IAM.

Exemple de notification configurationItemDiff UPDATE-CREATE et UPDATE-UPDATE :

{
    "configurationItemDiff": {
        "changedProperties": {
            "Relationships.0": {
                "previousValue": null,
                "updatedValue": {
                    "resourceId": "AROA6D3M4S53*********",
                    "resourceName": "Test1",
                    "resourceType": "AWS::IAM::Role",
                    "name": "Is attached to Role"
                },
                "changeType": "CREATE"                >>>>>>>>>>>>>>>>>>>> 1
            },
            "Configuration.AttachmentCount": {
                "previousValue": 2,
                "updatedValue": 3,
                "changeType": "UPDATE"                 >>>>>>>>>>>>>>>>>>>> 2
            }
        },
        "changeType": "UPDATE"
    }
}

UPDATE-DELETE

L'exemple suivant comprend les modifications apportées aux relations directes de ressources. Voici ce que révèlent les détails de configurationItemDiff :

Action exécutée : une stratégie gérée présente dans le compte a été détachée d'un utilisateur IAM.

Opération de base effectuée : UPDATE (mise à jour de la stratégie d'autorisations associée au type de ressource AWS።IAM።User).

Combinaison de types de modifications : modification de relations directes de ressources UPDATE-DELETE. L'association entre un utilisateur IAM et une stratégie IAM a été supprimée dans un compte.

Exemple de notification configurationItemDiff UPDATE-DELETE :

{
  "configurationItemDiff": {
    "changedProperties": {
      "Configuration.UserPolicyList.0": {
        "previousValue": {
          "policyName": "Test2",
          "policyDocument": "{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "ec2:RunInstances",
            "Resource": "arn:aws:ec2:*:*:instance/*",
            "Condition": {
                "StringLike": {
                    "aws:RequestTag/VPCId": "*"
                }
            }
        }
    ]
}"
        },
        "updatedValue": null,
        "changeType": "DELETE"                                >>>>>>>>>>>>>>>>>>>> 3
      }
    },
    "changeType": "UPDATE"
  }
}

DELETE-DELETE

L'exemple suivant comprend les modifications apportées aux relations directes de ressources et aux configurations de ressources. Voici ce que révèlent les détails de configurationItemDiff :

Action effectuée : un rôle IAM présent dans un compte a été supprimé.

Opération de base effectuée : DELETE (une ressource de type AWS።IAM።Role a été supprimée).

Combinaison de types de modifications : modification de relations directes de ressources et modification de configuration de ressource DELETE-DELETE. La suppression du rôle IAM a également supprimé l'association de la stratégie IAM et du rôle IAM.

Exemple de notification configurationItemDiff DELETE-DELETE :

{
  "configurationItemDiff": {
    "changedProperties": {
      "Relationships.0": {
        "previousValue": {
          "resourceId": "ANPAIJ5MXUKK*********",
          "resourceName": "AWSCloudTrailAccessPolicy",
          "resourceType": "AWS::IAM::Policy",
          "name": "Is attached to CustomerManagedPolicy"
        },
        "updatedValue": null,
        "changeType": "DELETE"
      },
      "Configuration": {
        "previousValue": {
          "path": "/",
          "roleName": "CloudTrailRole",
          "roleId": "AROAJITJ6YGM*********",
          "arn": "arn:aws:iam::123456789012:role/CloudTrailRole",
          "createDate": "2017-12-06T10:27:51.000Z",
          "assumeRolePolicyDocument": "{"Version":"2012-10-17","Statement":[{"Sid":"","Effect":"Allow","Principal":{"AWS":"arn:aws:iam::123456789012:root"},"Action":"sts:AssumeRole","Condition":{"StringEquals":{"sts:ExternalId":"123456"}}}]}",
          "instanceProfileList": [],
          "rolePolicyList": [],
          "attachedManagedPolicies": [
            {
              "policyName": "AWSCloudTrailAccessPolicy",
              "policyArn": "arn:aws:iam::123456789012:policy/AWSCloudTrailAccessPolicy"
            }
          ],
          "permissionsBoundary": null,
          "tags": [],
          "roleLastUsed": null
        },
        "updatedValue": null,
        "changeType": "DELETE"
      }
    },
    "changeType": "DELETE"
  }

Informations connexes

Notifications envoyées par AWS Config à une rubrique Amazon SNS

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 3 ans