

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.

# Registre varios Cuentas de AWS con una sola dirección de correo electrónico mediante Amazon SES
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses"></a>

*Joe Wozniak y Shubhangi Vishwakarma, Amazon Web Services*

## Resumen
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-summary"></a>

Este patrón describe cómo puede desvincular las direcciones de correo electrónico reales de la dirección de correo electrónico asociada a una. Cuenta de AWS Cuentas de AWS requieren que se proporcione una dirección de correo electrónico única al momento de crear la cuenta. En algunas organizaciones, el equipo que lo administra Cuentas de AWS debe asumir la carga de administrar muchas direcciones de correo electrónico únicas con su equipo de mensajería. Esto puede resultar difícil para las grandes organizaciones que administran muchas Cuentas de AWS. Además, si su sistema de correo electrónico no permite usar el *símbolo \+ en direcciones* ni usar *subdirecciones*, tal como se define en [Sieve Email Filtering: Subaddress Extension (RFC 5233)](https://datatracker.ietf.org/doc/html/rfc5233) (agregando un signo más [\+] y un identificador al final de la parte local del correo, como `admin+123456789123@example.com`) este patrón permite sortear dicha limitación.

Este patrón proporciona una solución única de venta de direcciones de correo electrónico que permite a Cuenta de AWS los propietarios asociar una dirección de correo electrónico con varias Cuentas de AWS. Luego, las direcciones de correo electrónico reales de Cuenta de AWS los propietarios se asocian a estas direcciones de correo electrónico generadas en una tabla. La solución gestiona todo el correo entrante de las cuentas de correo electrónico únicas, busca al propietario de cada cuenta y, a continuación, reenvía los mensajes recibidos al propietario.  

## Requisitos previos y limitaciones
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-prereqs"></a>

**Requisitos previos **
+ Acceso administrativo a un Cuenta de AWS.
+ Acceso a un entorno de desarrollo. 
+ (Opcional) Estar familiarizado con los AWS Cloud Development Kit (AWS CDK) flujos de trabajo y el lenguaje de programación Python le ayudará a solucionar cualquier problema o a realizar modificaciones.

**Limitaciones**
+ La longitud total de la dirección de correo electrónico vendida es de 64 caracteres. Para obtener más información, consulta la [CreateAccount](https://docs.aws.amazon.com/organizations/latest/APIReference/API_CreateAccount.html)referencia de la *AWS Organizations API*.

**Versiones de producto**
+ Node.js, versión 22.x o posterior
+ Python 3.13 o posterior
+ Paquetes de Python **pip** y **virtualenv**
+ AWS CDK CLI versión 2.1019.2 o posterior
+ Docker, versión 20.10x o posterior

## Arquitectura
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-architecture"></a>

**Pila de tecnología de destino**
+ CloudFormation pila
+ AWS Lambda funciones
+ Reglas y conjunto de reglas de Amazon Simple Email Service (Amazon SES)
+ AWS Identity and Access Management funciones y políticas (IAM)
+ Un bucket de Amazon Simple Storage Service (Amazon S3) y política de bucket
+ AWS Key Management Service (AWS KMS) política clave y clave
+ Tema de Amazon Simple Notification Service (Amazon SNS) y política de temas
+ Tabla de Amazon DynamoDB 

**Arquitectura de destino**

![Arquitectura de destino para registrar varias cuentas de AWS con una sola dirección de correo electrónico](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/images/pattern-img/1be85b92-69e5-43b2-aeed-27b9509e145e/images/c7ae9d7a-d4e0-412e-97cb-0f3073e012e7.png)


En este diagrama se muestran dos flujos:
+ **Flujo de venta de direcciones de correo electrónico:** en el diagrama, el flujo de venta de direcciones de correo electrónico (sección inferior) comienza normalmente con una solución de venta de cuentas o con una automatización externa, o se invoca manualmente. En la solicitud, se llama a una función de Lambda con una carga útil que contiene los metadatos necesarios. La función utiliza esta información para generar un nombre de cuenta y una dirección de correo electrónico únicos, los almacena en una base de datos de DynamoDB y devuelve los valores a la persona que llama. Luego, estos valores se pueden usar para crear una nueva Cuenta de AWS (normalmente mediante AWS Organizations).
+ **Flujo de reenvío de correo electrónico:** este flujo se ilustra en la sección superior del diagrama anterior. Cuando Cuenta de AWS se crea una con el correo electrónico de la cuenta generado a partir del flujo de venta de direcciones de correo electrónico, AWS envía varios correos electrónicos, como la confirmación de registro de la cuenta y las notificaciones periódicas, a esa dirección de correo electrónico. Siguiendo los pasos de este patrón, configuras tu cuenta Cuenta de AWS con Amazon SES para recibir correos electrónicos de todo el dominio. Esta solución configura reglas de reenvío que permiten a Lambda procesar todos los correos electrónicos entrantes, comprobar si la dirección `TO` está en la tabla de DynamoDB y, en su lugar, reenviar el mensaje a la dirección de correo electrónico del propietario de la cuenta. El uso de este proceso permite a los propietarios de las cuentas asociar varias cuentas a una sola dirección de correo electrónico.

**Automatización y escala**

Este patrón lo utiliza AWS CDK para automatizar completamente la implementación. La solución utiliza servicios AWS gestionados que se escalarán automáticamente (o se pueden configurar) para adaptarse a sus necesidades. Es posible que las funciones de Lambda requieran una configuración adicional para satisfacer sus necesidades de escalado. Para obtener más información, consulte [Comprender el escalado de la función de Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-scaling.html) en la documentación de Lambda.

## Tools (Herramientas)
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-tools"></a>

**Servicios de AWS**
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)le ayuda a configurar AWS los recursos, aprovisionarlos de forma rápida y coherente y administrarlos a lo largo de su ciclo de vida en todas Cuentas de AWS las regiones.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) es una herramienta de código abierto que le ayuda a interactuar con los servicios de AWS mediante comandos en su shell de línea de comandos.
+ [Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html) es un servicio de base de datos de NoSQL completamente administrado que ofrece un rendimiento rápido, predecible y escalable.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) le ayuda a crear y controlar claves criptográficas para proteger sus datos.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.
+ [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/ses/latest/dg/Welcome.html) facilita poder enviar y recibir correos electrónicos a través de los dominios y direcciones de correo electrónico propios.
+ [Amazon Simple Notification Service (Amazon SNS)](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) le permite coordinar y administrar el intercambio de mensajes entre publicadores y clientes, incluidos los servidores web y las direcciones de correo electrónico.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

**Herramientas necesarias para la implementación**
+ Entorno de desarrollo con acceso AWS CLI de IAM a su. Cuenta de AWS Para obtener más información, consulte los enlaces de la sección de [recursos relacionados](#register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-resources).  
+ En su sistema de desarrollo, instale lo siguiente:
  + Herramienta de línea de comandos de Git, disponible en el [sitio web de descargas de Git](https://git-scm.com/downloads).
  +  AWS CLI Para configurar las credenciales de acceso para AWS CDK. Para obtener más información, consulte la [Documentación de AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).
  + La versión 3.13 o posterior de Python, disponible en el [sitio web de descargas de Python](https://www.python.org/downloads/).
  + UV para la administración de paquetes de Python. Para ver instrucciones de instalación, consulte [UV installation guide](https://docs.astral.sh/uv/getting-started/installation/).
  + La versión 22.x o posterior de Node.js. Consulte la [documentación de Node.js](https://nodejs.org/en/learn/getting-started/how-to-install-nodejs) para ver las instrucciones de instalación.
  + AWS CDK CLI versión 2.1019.2 o posterior. Consulte la [documentación de AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting-started.html#getting-started-install) para ver las instrucciones de instalación.
  + La versión 20.10.x o posterior de Docker. Consulte la [documentación de Docker](https://docs.docker.com/engine/install/) para ver las instrucciones de instalación.

**Código**

El código de este patrón está disponible en el repositorio de correo electrónico de GitHub [Cuenta de AWS fábrica](https://github.com/aws-samples/aws-account-factory-email).

## Epics
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-epics"></a>

### Asigne un entorno de implementación objetivo
<a name="allocate-a-target-deployment-environment"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifique o cree un Cuenta de AWS. | Identifique uno existente o nuevo Cuenta de AWS al que tenga acceso administrativo completo para implementar la solución de correo electrónico. | Administrador de la nube, administrador de AWS | 
| Configure un entorno de implementación. | Configure un entorno de implementación fácil de usar y configure las dependencias siguiendo estos pasos:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | AWS DevOps, desarrollador de aplicaciones | 

### Configuración de un dominio verificado
<a name="set-up-a-verified-domain"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Identifique y asigne un dominio. | La funcionalidad de reenvío de correo electrónico requiere un dominio dedicado. Identifique y asigne un dominio o subdominio que pueda verificar con Amazon SES. Este dominio debe estar disponible para recibir el correo electrónico entrante en el Cuenta de AWS lugar donde esté implementada la solución de reenvío de correo electrónico.<br />Requisitos del dominio:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | Administrador de la nube, administrador de redes, administrador de DNS | 
| Compruebe el dominio. | Compruebe que el dominio identificado se puede utilizar para aceptar el correo entrante.<br />Complete las instrucciones de [Verificación de su dominio para la recepción de correos electrónicos de Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/receiving-email-verification.html) en la documentación de Amazon SES. Esto requerirá la coordinación con la persona o el equipo responsable de los registros de DNS del dominio. | Desarrollador de aplicaciones, AWS DevOps | 
| Configure los registros MX. | Configure su dominio con registros MX que apunten a los puntos de enlace de Amazon SES de su Cuenta de AWS región. Para obtener más información, consulte [Publicar un registro MX para la recepción de correos electrónicos de Amazon SES](https://docs.aws.amazon.com/ses/latest/dg/receiving-email-mx-record.html) en la documentación de Amazon SES. | Administrador de la nube, administrador de redes, administrador de DNS | 

### Implemente la solución de venta y reenvío de correo electrónico
<a name="deploy-the-email-vending-and-forwarding-solution"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Modifique los valores predeterminados en `cdk.json`. | Edite algunos de los valores predeterminados del archivo `cdk.json` (en la raíz del repositorio) para que la solución funcione correctamente una vez implementada.[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | Desarrollador de aplicaciones, AWS DevOps | 
| Implemente la solución de venta y reenvío de correo electrónico. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | Desarrollador de aplicaciones, AWS DevOps | 
| Compruebe que la solución se haya implementado. | Compruebe que la solución se ha implementado correctamente antes de comenzar las pruebas:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | Desarrollador de aplicaciones, AWS DevOps | 

### Compruebe que la venta y el reenvío de correo electrónico funcionan según lo previsto
<a name="verify-that-email-vending-and-forwarding-operate-as-expected"></a>


| Tarea | Descripción | Habilidades requeridas | 
| --- | --- | --- | 
| Verifique que la API está en funcionamiento. | En este paso, debe enviar los datos de prueba a la API de la solución y confirmar que la solución produce el resultado esperado y que las operaciones de backend se han realizado según lo previsto.<br />Ejecute manualmente la función **Vend Email** de la función de Lambda mediante una entrada de prueba. (Para ver un ejemplo, consulte el archivo [sample\_vend\_request.json](https://github.com/aws-samples/aws-account-factory-email/blob/main/src/events/sample_vend_request.json)). Para `OwnerAddress`, utilice una dirección de correo electrónico válida. La API debería devolver el nombre de la cuenta y el correo electrónico de la cuenta con los valores esperados. | Desarrollador de aplicaciones, AWS DevOps | 
| Compruebe que el correo electrónico se está reenviando. | En este paso, envía un correo electrónico de prueba a través del sistema y comprueba que el correo electrónico se ha reenviado al destinatario previsto.[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | Desarrollador de aplicaciones, AWS DevOps | 

## Resolución de problemas
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-troubleshooting"></a>


| Problema | Solución | 
| --- | --- | 
| El sistema no reenvía el correo electrónico como se esperaba. | Compruebe que la configuración es correcta:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html)<br />Después de verificar la configuración de dominio, siga estos pasos:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | 
| Cuando intenta implementar la AWS CDK pila, recibe un error similar al siguiente:<br />“Template format error: Unrecognized resource types”  | En la mayoría de las instancias, este mensaje de error significa que la región a la que se dirige no tiene todos los servicios de AWS disponibles. Si utilizas una EC2 instancia de Amazon para implementar la solución, es posible que te dirijas a una región diferente de la región en la que se ejecuta la instancia.De forma predeterminada, se AWS CDK despliega en la región y la cuenta que configuraste en. AWS CLI<br />Posibles soluciones:[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/prescriptive-guidance/latest/patterns/register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses.html) | 
| Al implementar la solución, recibirá el siguiente mensaje de error:<br />«Fallo en la implementación: Error AwsMailFwdStack: no se encontró el parámetro bootstrap/hnb659fds/version /cdk- de SSM. ¿Arrancó el entorno? Please run 'cdk bootstrap'” | Si nunca has desplegado ningún AWS CDK recurso en la región a la que te diriges, primero tendrás que ejecutar el `cdk bootstrap` comando, tal Cuenta de AWS y como indica el error. Si sigue recibiendo este error después de usar el comando de arranque, es posible que esté intentando implementar la solución en una región distinta de la región del entorno de desarrollo.<br />Para resolver este problema, defina la variable de `AWS_DEFAULT_REGION` entorno o defina una región con la AWS CLI antes de implementar la solución. Como alternativa, puede modificar el archivo `app.py` en la raíz del repositorio para incluir un ID y región de cuenta de codificación rígida y una región siguiendo las instrucciones de la [documentación de AWS CDK sobre entornos](https://docs.aws.amazon.com/cdk/v2/guide/environments.html). | 

## Recursos relacionados
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-resources"></a>
+ Para obtener ayuda con la instalación AWS CLI, consulte [Instalación o actualización a la versión más reciente de AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html).
+ Para obtener ayuda para configurar el AWS CLI con credenciales de acceso de IAM, consulte [Configurar los ajustes del AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html).
+ Para obtener ayuda con el AWS CDK, consulte [Primeros pasos con](https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html#getting_started_install). AWS CDK

## Información adicional
<a name="register-multiple-aws-accounts-with-a-single-email-address-by-using-amazon-ses-additional"></a>

**Costos**

Al implementar esta solución, el Cuenta de AWS propietario puede incurrir en costos asociados con el uso de los siguientes servicios.  Es importante que comprenda cómo se facturan estos servicios para estar al tanto de los posibles cargos. Para obtener información sobre precios, consulte las siguientes páginas:
+ [Precios de Amazon SES](https://aws.amazon.com/ses/pricing/)
+ [Precios de Amazon S3](https://aws.amazon.com/s3/pricing/)
+ [AWS KMS precios](https://aws.amazon.com/kms/pricing/)
+ [AWS Lambda precios](https://aws.amazon.com/lambda/pricing/)
+ [Precios de Amazon DynamoDB](https://aws.amazon.com/dynamodb/pricing/)