Tutorial: supervisión de cambios importantes en la organización mediante Amazon EventBridge - AWS Organizations

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Tutorial: supervisión de cambios importantes en la organización mediante Amazon EventBridge

En este tutorial se muestra cómo configurar Amazon EventBridge, antes Eventos de Amazon CloudWatch, para supervisar los cambios en la organización. Para comenzar, se configura una regla que se activa cuando los usuarios invocan determinadas operaciones de AWS Organizations. A continuación, se configura Amazon EventBridge para que ejecute una función AWS Lambda cuando se active la regla y se configura Amazon SNS para que envíe un correo electrónico con información detallada acerca del evento.

En la siguiente ilustración se muestran los principales pasos del tutorial.

Paso 1: Configuración de un registro de seguimiento y un selector de eventos

Cree un registro de seguimiento en AWS CloudTrail. Configúrelo para capturar todas las llamadas a API.

Paso 2: Configuración de la función Lambda

Cree una función AWS Lambda que registre los detalles del evento en un bucket de S3.

Paso 3: Creación de un tema de Amazon SNS que envía correos electrónicos a los suscriptores

Cree un tema de Amazon SNS que envíe correos electrónicos a sus suscriptores y, a continuación, suscríbase a ese tema.

Paso 4: Creación de una regla de Amazon EventBridge

Cree una regla que indique a Amazon EventBridge que pase determinados datos de las llamadas a la API especificadas a la función de Lambda y a los suscriptores al tema de SNS.

Paso 5: Comprobación de la regla de Amazon EventBridge

Ejecute una de las operaciones monitorizadas para probar la nueva regla. En este tutorial, la operación monitorizada crea una unidad organizativa (OU). Puede ver la entrada de registro creada por la función Lambda y el correo electrónico que Amazon SNS envía a los suscriptores.

Sugerencia

También puede utilizar este tutorial como guía al configurar operaciones similares como, por ejemplo, el envío de notificaciones por correo electrónico cuando se haya completado la creación de la cuenta. Dado que la creación de la cuenta es una operación asíncrona, no recibirá de forma predeterminada una notificación cuando se complete. Para obtener más información acerca del uso de AWS CloudTrail y Amazon EventBridge con AWS Organizations, consulte Registro y monitoreo en AWS Organizations.

Requisitos previos

Este tutorial se basa en los siguientes supuestos:

  • Puede iniciar sesión en la AWS Management Console como usuario de IAM desde la cuenta de administración de su organización. El usuario de IAM; debe tener permisos para crear y configurar un registro en CloudTrail, una función en Lambda, un tema en Amazon SNS y una regla en Amazon EventBridge. Para obtener más información sobre la concesión de permisos, consulte Access Management (Administración de accesos) en la guía del usuario IAM o en la guía del servicio para el que desea configurar el acceso.

  • Dispone de acceso a un bucket de Amazon Simple Storage Service (Amazon S3) (o tiene permisos para crear un bucket) con el fin de recibir el registro de CloudTrail que ha configurado en el paso 1.

importante

En este momento, AWS Organizations se aloja únicamente en la región EE. UU. Este (Norte de Virginia) (aunque está disponible en todo el mundo). Para realizar los pasos de este tutorial, debe configurar la AWS Management Console para que utilice esa región.

Paso 1: Configuración de un registro de seguimiento y un selector de eventos

En este paso, iniciará sesión en la cuenta de administración y configurará un registro de seguimiento en AWS CloudTrail. Además, configurará un selector de eventos en el registro de seguimiento para capturar todas las llamadas a la API de lectura/escritura, de tal forma que existan llamadas que permitan que Amazon EventBridge se active.

Para crear un registro de seguimiento
  1. Inicie sesión en AWS como administrador de la cuenta maestra de la organización y, a continuación, abra la consola de CloudTrail en https://console.aws.amazon.com/cloudtrail/.

  2. En la barra de navegación de la esquina superior derecha de la consola, elija la región EE. UU. Este (Norte de Virginia). Si elige otra región, AWS Organizations no aparecerá entre las opciones de la configuración de Amazon EventBridge, en cuyo caso CloudTrail no capturará la información de AWS Organizations.

  3. En el panel de navegación, seleccione Trails.

  4. Elija Create Trail (Crear registro de seguimiento).

  5. En Trail name (Nombre del registro de seguimiento), escriba My-Test-Trail.

  6. Realice una de las siguientes opciones para especificar dónde deben entregarse los registros de CloudTrail.

    • Si necesita crear un bucket, seleccione Create new S3 bucket (Crear nuevo bucket de S3) y, a continuación, introduzca un nombre para el nuevo bucket y la carpeta de registro de seguimiento.

      nota

      Los nombres de los buckets de S3 deben ser únicos de forma global.

    • Si ya dispone de un bucket, seleccione Use existing S3 bucket (Usar bucket S3 existente) y, a continuación, elija el nombre del bucket en la lista de buckets S3.

  7. Elija Siguiente.

  8. En la página Elegir eventos de registro, en la sección Eventos de administración, elija Read (Lectura) y Write (Escritura).

  9. Elija Siguiente.

  10. Revise las selecciones y elija Create trail (Crear ruta).

Amazon EventBridge permite elegir entre diferentes maneras de enviar alertas cuando una regla de alarma coincide con una llamada a la API entrante. En este tutorial se muestran dos métodos: invocar una función Lambda que puede registrar la llamada a la API y enviar información a un tema de Amazon SNS que, a su vez, envía un correo electrónico o mensaje de texto a los suscriptores del tema. En los próximos dos pasos, debe crear los componentes que necesita, la función Lambda y el tema de Amazon SNS.

Paso 2: Configuración de la función Lambda

En este paso, se crea una función de Lambda que registra la actividad de la API que le envía la regla de Amazon EventBridge que configuraremos más adelante.

Para crear una función de Lambda que registra eventos de Amazon EventBridge
  1. Abra la consola de AWS Lambda en https://console.aws.amazon.com/lambda/.

  2. Si es nuevo en Lambda, elija Get Started Now (Comenzar ahora) en la página de bienvenida; de lo contrario, elija Create a function (Crear una función).

  3. En la página Create function (Crear función), seleccione Use a blueprint (Utilizar un proyecto).

  4. En el cuadro de búsqueda Blueprints (Proyectos), escriba hello para el filtro y elija el proyecto hello-world.

  5. Elija Configurar.

  6. En la página Basic information (Información básica), haga lo siguiente:

    1. Para el nombre de la función Lambda, ingrese LogOrganizationEvents en el cuadro desde el cuadro de texto Name (Nombre).

    2. Para Role (Rol), elija Create a new role with basic Lambda permissions (Crear un nuevo rol con permisos básicos de Lambda) Este rol concede a la función Lambda permisos para obtener acceso a los datos que requiere y para escribir en su registro de salida.

  7. Edite el código de la función de Lambda tal y como se muestra en el siguiente ejemplo.

    console.log('Loading function'); exports.handler = async (event, context) => { console.log('LogOrganizationsEvents'); console.log('Received event:', JSON.stringify(event, null, 2)); return event.key1; // Echo back the first key value // throw new Error('Something went wrong'); };

    Este código de muestra registra el evento con una cadena de marcador LogOrganizationEvents seguida de la cadena JSON que compone el evento.

  8. Elija Crear función.

Paso 3: Creación de un tema de Amazon SNS que envía correos electrónicos a los suscriptores

En este paso, se crea un tema de Amazon SNS que envía información a sus suscriptores por correo electrónico. A continuación, este tema se convierte en objetivo de la regla de Amazon EventBridge que se crea después.

Para crear un tema de Amazon SNS con el fin de enviar un correo electrónico a los suscriptores
  1. Abra la consola de Amazon SNS en https://console.aws.amazon.com/sns/v3/.

  2. En el panel de navegación, elija Topics (Temas).

  3. Elija Create new topic (Crear nuevo tema).

    1. En Topic name (Nombre del tema), escriba OrganizationsCloudWatchTopic.

    2. En Display name (Nombre visible), escriba OrgsCWEvnt.

    3. Elija Crear nuevo tema.

  4. Ahora puede crear una suscripción para el tema. Elija el ARN del tema que acaba de crear.

  5. Elija Crear una suscripción.

    1. En la página Create subscription, para Protocol, elija Email.

    2. En Punto de enlace, introduzca su dirección de correo electrónico.

    3. Seleccione Create subscription (Crear suscripción). AWS envía un mensaje de correo electrónico a la dirección especificada en el paso anterior. Espere a recibir ese correo electrónico y, a continuación, elija el enlace Confirm subscription que contiene para confirmar que lo ha recibido correctamente.

    4. Vuelva a la consola y actualice la página. El mensaje Pending confirmation desaparece y se sustituye por el ID de suscripción que ha quedado validado.

Paso 4: Creación de una regla de Amazon EventBridge

Ahora que ya existe la función de Lambda en su cuenta, debe crear una regla Amazon EventBridge que la invoque cuando se cumplan los criterios de dicha regla.

Para crear una regla de EventBridge
  1. Abra la consola de Amazon EventBridge en https://console.aws.amazon.com/events/.

  2. Debe configurar la consola en la región de Este de EE. UU. (Norte de Virginia) o la información acerca de Organizations no estará disponible. En la barra de navegación de la esquina superior derecha de la consola, elija la región EE. UU. Este (Norte de Virginia).

  3. Para obtener más información acerca de la creación de reglas, consulte Introducción a Amazon EventBridge en la Guía del usuario de Amazon EventBridge.

Paso 5: Comprobación de la regla de Amazon EventBridge

En este paso, se crea una unidad organizativa (OU) y se comprueba que la regla de Amazon EventBridge genere una entrada de registro y le envíe un correo electrónico con información detallada del evento.

AWS Management Console
Para crear una unidad organizativa (OU)
  1. Abra la página Cuentas de AWSen la consola de AWS Organizations.

  2. Seleccionar la casilla de verificación OU de Nodo raíz, elija Acciones y, a continuación, en Unidad organizativa, elija Crear nuevo.

  3. Para el nombre de la unidad organizativa, escriba TestCWEOU y, a continuación, elija Create organizational unit (Crear unidad organizativa).

Para ver la entrada de registro de EventBridge
  1. Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  2. En el panel de navegación, elija Logs (registros).

  3. En la página Log Groups (Grupos de registros), elija el grupo asociado a su función Lambda: /aws/lambda/LogOrganizationEvents.

  4. Cada grupo contiene uno o más flujos; debería haber un grupo para hoy. Elíjalo.

  5. Consulte el registro. Deben aparecer filas similares a las siguientes.

  6. Seleccione la fila central de la entrada para ver todo el texto JSON del evento recibido. Aparecen todos los detalles de la solicitud al API en los componentes requestParameters y responseElements de la salida.

    2017-03-09T22:45:05.101Z 0999eb20-051a-11e7-a426-cddb46425f16 Received event: { "version": "0", "id": "123456-EXAMPLE-GUID-123456", "detail-type": "AWS API Call via CloudTrail", "source": "aws.organizations", "account": "123456789012", "time": "2017-03-09T22:44:26Z", "region": "us-east-1", "resources": [], "detail": { "eventVersion": "1.04", "userIdentity": { ... }, "eventTime": "2017-03-09T22:44:26Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateOrganizationalUnit", "awsRegion": "us-east-1", "sourceIPAddress": "192.168.0.1", "userAgent": "AWS Organizations Console, aws-internal/3", "requestParameters": { "parentId": "r-exampleRootId", "name": "TestCWEOU" }, "responseElements": { "organizationalUnit": { "name": "TestCWEOU", "id": "ou-exampleRootId-exampleOUId", "arn": "arn:aws:organizations::1234567789012:ou/o-exampleOrgId/ou-exampleRootId-exampeOUId" } }, "requestID": "123456-EXAMPLE-GUID-123456", "eventID": "123456-EXAMPLE-GUID-123456", "eventType": "AwsApiCall" } }
  7. Consulte su cuenta de correo electrónico para ver el mensaje enviado por OrgsCWEvnt (el nombre que mostrar del tema de Amazon SNS). El cuerpo del correo electrónico contiene la misma salida de texto JSON que la entrada de registro mostrada en el paso anterior.

Limpieza: Elimine los recursos que ya no necesite

Para evitar que se acumulen cargos, debe eliminar todos los recursos de AWS creados durante este tutorial y que no desee conservar.

Para eliminar los recursos del entorno de AWS
  1. Utilice la consola de CloudTrail para eliminar el registro de seguimiento denominado My-Test-Trail que creó en el paso 1.

  2. Si ha creado un bucket de Amazon S3 en el paso 1, utilice la consola de Amazon S3 para eliminarlo.

  3. Utilice la consola de Lambda para eliminar la función denominada LogOrganizationEvents que se creó en el paso 2.

  4. Utilice la Consola de Amazon SNS para eliminar el tema de Amazon SNS denominado OrganizationsCloudWatchTopic que creó en el paso 3.

  5. Utilice la consola de CloudWatch para eliminar la regla de EventBridge denominada OrgsMonitorRule que creó en el paso 4.

  6. Finalmente, utilice la consola de Organizations para eliminar la OU denominada TestCWEOU que creó en el paso 5.

Y ya está. En este tutorial, ha configurado EventBridge; para monitorear los cambios en su organización. Ha configurado una regla que se activa cuando los usuarios invocan determinadas operaciones de AWS Organizations. La regla ha ejecutado una función Lambda que registró el evento y envió un correo electrónico que contenía información acerca de dicho evento.