¿Cómo interpreto el campo ConfigurationItemDiff de las notificaciones de Amazon SNS ConfigurationItemChangeNotification?

4 minutos de lectura
0

He recibido una notificación ConfigurationItemChangeNotification de Amazon Simple Notification Service (Amazon SNS). ¿Por qué he recibido esta notificación y cómo interpreto la información del campo ConfigurationItemDiff?

Resolución

AWS Config crea un elemento de configuración cada vez que cambia la configuración de un recurso (creación/actualización/eliminación). Para obtener una lista de los recursos compatibles con AWS Config, consulte Supported resource types (Tipos de recursos compatibles). AWS Config usa Amazon SNS para enviar una notificación a medida que se producen los cambios. La carga de notificaciones de Amazon SNS incluye campos que ayudan a realizar un seguimiento de los cambios en los recursos en una región de AWS determinada. Para obtener más información, consulte Example configuration item change notifications (Ejemplo de notificaciones de cambio de elementos de configuración).

Para entender por qué recibe una notificación ConfigurationItemChangeNotification, revise los detalles de ConfigurationItemDiff. Los campos varían según el tipo de cambio y pueden formar diferentes combinaciones, como UPDATE-UPDATE (ACTUALIZAR-ACTUALIZAR), UPDATE-CREATE (ACTUALIZAR-CREAR) y DELETE-DELETE (ELIMINAR-ELIMINAR). A continuación se explican algunas de las combinaciones comunes.

UPDATE-CREATE y UPDATE-UPDATE

El ejemplo a continuación incluye cambios en las relaciones directas de los recursos y en las configuraciones de los recursos. Los detalles de ConfigurationItemDiff muestran la siguiente información:

Acción realizada: se adjuntó una política gestionada presente en la cuenta a una función de AWS Identity and Access Management (IAM).

Operación básica realizada: UPDATE (actualización del número de asociaciones del tipo de recurso AWS::IAM::Policy en una cuenta).

Cambio de combinaciones de tipos:

  1. cambio de las relaciones directas de los recursos UPDATE-CREATE. Se creó un nuevo elemento adjunto o asociación entre una política de IAM y un rol de IAM.
  2. Cambio de configuración de recursos UPDATE-UPDATE. El número de asociaciones de políticas de IAM aumentó de 2 a 3 cuando la política se asoció a la función de IAM.

Ejemplo de notificación ConfigurationItemDiff: UPDATE-CREATE y 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

El ejemplo a continuación incluye cambios en las relaciones directas de los recursos. Los detalles de ConfigurationItemDiff muestran la siguiente información:

Acción realizada: una política gestionada presente en la cuenta estaba separada de un usuario de IAM.

Operación básica realizada: UPDATE (actualización de la política de permisos asociada al tipo de recurso AWS::IAM::User).

Cambiar combinación de tipos: cambio de las relaciones directas de los recursos UPDATE-DELETE. Se eliminó la asociación entre un usuario de IAM y una política de IAM en una cuenta.

Ejemplo de notificación 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

El ejemplo a continuación incluye cambios en las relaciones directas de los recursos y en las configuraciones de los recursos. Los detalles de ConfigurationItemDiff muestran la siguiente información:

Acción realizada: se ha eliminado un rol de IAM presente en una cuenta.

Operación básica realizada: DELETE (se eliminó un recurso del tipo de recurso AWS::IAM::Role).

Cambiar combinación de tipos: cambio de las relaciones directas de los recursos y cambio de la configuración de los recursos DELETE-DELETE. La eliminación del rol de IAM también eliminó la asociación de la política de IAM con el rol de IAM.

Ejemplo de notificación 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"
  }

Información relacionada

Notifications that AWS Config sends to an Amazon SNS topic (Notificaciones que AWS Config envía a un tema de Amazon SNS)

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años