

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.

# Configure alertas para el cierre programático de cuentas en AWS Organizations
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations"></a>

*Richard Milner-Watts, Debojit Bhadra y Manav Yadav, Amazon Web Services*

## Resumen
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-summary"></a>

La [CloseAccount API](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CloseAccount.html) para [AWS Organizations](https://aws.amazon.com/organizations/) le permite cerrar las cuentas de los miembros de una organización mediante programación, sin tener que iniciar sesión en la cuenta con las credenciales raíz. La [RemoveAccountFromOrganization API](https://docs.aws.amazon.com/organizations/latest/APIReference/API_RemoveAccountFromOrganization.html) extrae una cuenta de una organización en AWS Organizations, por lo que pasa a ser una cuenta independiente.

Esto APIs podría aumentar el número de operadores que pueden cerrar o eliminar una cuenta de AWS. Todos los usuarios que tengan acceso a la organización a través de AWS Identity and Access Management (IAM) en la cuenta de administración de AWS Organizations pueden llamarlos APIs, por lo que el acceso no se limita al propietario del correo raíz de la cuenta con ningún dispositivo de autenticación multifactor (MFA) asociado.

Este patrón implementa alertas cuando `RemoveAccountFromOrganization` APIs se llama a las `CloseAccount` teclas y, de este modo, puede supervisar estas actividades. Para alertas, utiliza un tema de [Amazon Simple Notification Service (Amazon SNS)](https://aws.amazon.com/sns/) También puede configurar las notificaciones de Slack mediante un [webhook](https://api.slack.com/messaging/webhooks).

## Requisitos previos y limitaciones
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-prereqs"></a>

**Requisitos previos **
+ Una cuenta de AWS activa
+ Una organización en AWS Organizations
+ Acceso a la cuenta de administración de la organización, ubicada en la raíz de la organización, para crear los recursos necesarios

**Limitaciones**
+ Como se describe en la [referencia de la API de AWS Organizations](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CloseAccount.html), la API `CloseAccount` permite cerrar solo el 10 % de las cuentas de los miembros activos en un período continuo de 30 días.
+ Cuando se cierra una cuenta de AWS, su estado cambia a SUSPENDIDA. Durante 90 días después de esta transición de estado, AWS Support puede volver a abrir la cuenta. La cuenta se elimina permanentemente después de 90 días.
+ Usuarios que tienen acceso a la cuenta de administración de AWS Organizations y APIs que también pueden tener permisos para deshabilitar estas alertas. Si lo que más preocupa es un comportamiento malicioso en lugar de una eliminación accidental, considere la posibilidad de proteger los recursos creados por este patrón con un [límite de permisos de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html).
+ La API llama a `CloseAccount ` y `RemoveAccountFromOrganization` procesa mediante la región Este de EE. UU. (Norte de Virginia) (`us-east-1`). Por lo tanto, usted debe implementar esta solución en `us-east-1` para poder observar los eventos.

## Arquitectura
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-architecture"></a>

**Pila de tecnología de destino**
+ AWS Organizations
+ AWS CloudTrail
+ Amazon EventBridge
+ AWS Lambda
+ Amazon SNS

**Arquitectura de destino**

El siguiente diagrama muestra la arquitectura de soluciones para este patrón.

 

![\[Arquitectura para configurar alertas en AWS Organizations para el cierre de cuentas\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/ba9d9db1-fab8-4e3b-a1bb-f0be91ade5c6/images/92caee55-2722-4ba2-bdd2-66f1af35dce5.png)


1. AWS Organizations procesa una solicitud `CloseAccount` o `RemoveAccountFromOrganization`.

1. Amazon EventBridge está integrado con AWS CloudTrail para enviar estos eventos al bus de eventos predeterminado.

1. Una EventBridge regla de Amazon personalizada coincide con las solicitudes de AWS Organizations y llama a una función de AWS Lambda.

1. La función de Lambda envía un mensaje a un tema de SNS, al que los usuarios pueden suscribirse para recibir alertas por correo electrónico o para su posterior procesamiento.

1. Si las notificaciones de Slack están habilitadas, la función de Lambda envía un mensaje a un webhook de Slack.

## Tools (Herramientas)
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-tools"></a>

**Servicios de AWS**
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) proporciona una forma de modelar un conjunto de recursos relacionados de AWS y de terceros, aprovisionarlos de forma rápida y coherente y gestionarlos a lo largo de sus ciclos de vida, tratando la infraestructura como código.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) es un servicio de bus de eventos sin servidor que puede utilizar para conectar sus aplicaciones con datos de diversas fuentes. EventBridge recibe un evento, un indicador de un cambio en el entorno, y aplica una regla para enrutar el evento a un objetivo. Las reglas hacen coincidir los eventos con los objetivos o bien en función de la estructura del evento, llamado un *patrón de evento*, o bien de una programación.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que permite ejecutar código sin aprovisionar ni administrar servidores. Lambda ejecuta su código solo cuando es necesario y escala de manera automática, desde unas pocas solicitudes por día hasta miles por segundo. Solo paga por el tiempo de proceso que consume. No se aplican cargos cuando su código no se está ejecutando.
+ [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) le ayuda a administrar y gobernar su entorno de forma centralizada a medida que hace crecer y escalar sus recursos de AWS. Con AWS Organizations, puede crear nuevas cuentas de AWS y asignar recursos mediante programación, agrupar cuentas para organizar sus flujos de trabajo, aplicar políticas a cuentas o grupos para el control y simplificar la facturación mediante un único método de pago para todas sus cuentas.
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) monitorea y registra la actividad de las cuentas en toda su infraestructura de AWS y le permite controlar las acciones de almacenamiento, análisis y corrección.
+ [Amazon Simple Notification Service (Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html)) es un servicio de mensajería totalmente gestionado para application-to-application la comunicación (A2A) application-to-person y (A2P).

**Otras herramientas**
+ La [biblioteca AWS Lambda Powertools para Python](https://docs.powertools.aws.dev/lambda/python/latest/) es un conjunto de utilidades que proporcionan funciones de seguimiento, registro, métricas y gestión de eventos para las funciones de Lambda.

**Code**

El código de este patrón se encuentra en el repositorio GitHub [AWS Account Closer Notifier](https://github.com/aws-samples/aws-account-closure-notifier).

La solución incluye una CloudFormation plantilla que implementa la arquitectura de este patrón. Utilice la [biblioteca AWS Lambda Powertools para Python para](https://docs.powertools.aws.dev/lambda/python/latest/) proporcionar registro y seguimiento.

## Epics
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-epics"></a>

### Implementación de la arquitectura
<a name="deploy-the-architecture"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Lance la CloudFormation plantilla para la pila de soluciones. | La CloudFormation plantilla para este patrón se encuentra en la rama principal del [GitHub repositorio](https://github.com/aws-samples/aws-account-closure-notifier). Implementa las funciones de IAM, EventBridge las reglas, las funciones de Lambda y el tema SNS.Para iniciar la plantilla:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-alerts-for-programmatic-account-closures-in-aws-organizations.html)Para obtener más información sobre el lanzamiento de una CloudFormation pila, consulte la [documentación de AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html). | Administrador de AWS | 
| Compruebe que la solución se haya lanzado correctamente. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-alerts-for-programmatic-account-closures-in-aws-organizations.html) | Administrador de AWS | 
| Suscríbase al tema de SNS. | (Opcional) Si quiere suscribirse al tema de SNS:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-alerts-for-programmatic-account-closures-in-aws-organizations.html)Para obtener más información acerca de la configuración de notificaciones de SNS, consulte la [documentación de Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html). | Administrador de AWS | 

### Verificación de la solución
<a name="verify-the-solution"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Envíe un evento de prueba al bus de eventos predeterminado. | El [GitHub repositorio](https://github.com/aws-samples/aws-account-closure-notifier) proporciona un ejemplo de evento que puede enviar al bus de eventos EventBridge predeterminado para probarlo. La EventBridge regla también reacciona ante los eventos que utilizan la fuente de eventos personalizada`account.closure.notifier`.No puede usar la fuente del CloudTrail evento para enviar este evento, ya que no es posible enviar un evento como un servicio de AWS.Para enviar un evento de prueba:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/set-up-alerts-for-programmatic-account-closures-in-aws-organizations.html) | Administrador de AWS | 
| Compruebe que se ha recibido la notificación por correo electrónico. | Compruebe si hay notificaciones en el buzón de correo que se suscribió al tema de SNS. Usted debería recibir un correo electrónico con la información sobre la cuenta que se cerró y la entidad principal que realizó la llamada a la API. | Administrador de AWS | 
| Verifique que se haya recibido la notificación de Slack. | (Opcional) Si especificaste una URL de webhook para el `SlackWebhookEndpoint` parámetro al implementar la CloudFormation plantilla, comprueba el canal de Slack que está asignado al webhook. Debería mostrar un mensaje con la información de la cuenta que se cerró y de la entidad principal que realizó la llamada a la API. | Administrador de AWS | 

## Recursos relacionados
<a name="set-up-alerts-for-programmatic-account-closures-in-aws-organizations-resources"></a>
+ [CloseAccount acción](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CloseAccount.html) (referencia de la API de AWS Organizations)
+ [RemoveAccountFromOrganization acción](https://docs.aws.amazon.com/organizations/latest/APIReference/API_RemoveAccountFromOrganization.html) (referencia de la API de AWS Organizations)
+ [AWS Lambda Powertools para Python](https://docs.powertools.aws.dev/lambda/python/latest/)