

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.

# Aprovisionamiento y administración de cuentas en AWS Control Tower
<a name="provision-and-manage-accounts"></a>

En este capítulo se abordan los siguientes temas:
+ Descripción general y procedimientos para aprovisionar y administrar nuevas cuentas de miembros en AWS Control Tower.
+ información general y procedimientos para inscribir una AWS cuenta existente en AWS Control Tower.

Para obtener información general sobre cuentas en AWS Control Tower, consulte [Acerca Cuentas de AWS de AWS Control Tower](accounts.md). Para obtener información sobre cómo inscribir varias cuentas en AWS Control Tower, consulte [Registro de una OU existente en AWS Control Tower](importing-existing.md).

**nota**  
El aprovisionamiento, la actualización y la personalización de una cuenta única deben dirigirse a una unidad organizativa (OU) que tenga AWSControl TowerBaseline habilitada la opción. Si una OU no tiene AWSControl TowerBaseline habilitada la OU, puede activar la inscripción automática de la cuenta o utilizar ResetEnabledBaseline y ResetEnabledControl APIs EnabledControls activar EnabledBaselines y cerrar esa OU para inscribir cuentas. Para obtener más información sobre AWSControlTowerBaseline, consulte:[Tipos de referencia que se aplican a nivel de unidad organizativa](types-of-baselines.md#ou-baseline-types). 

**nota**  
Puede realizar hasta cinco (5) operaciones relacionadas con la cuenta de forma simultánea, como el aprovisionamiento, la actualización y la inscripción.

## Permisos necesarios para el aprovisionamiento de cuentas
<a name="permissions"></a>

Con los permisos de grupo de usuarios adecuados, los aprovisionadores pueden especificar referencias estandarizadas y configuraciones de red para cualquier cuenta de la organización.

Al crear cuentas desde la consola de AWS Control Tower con el generador de cuentas, debe iniciar sesión en una cuenta con un usuario de IAM que tenga habilitada la política `AWSServiceCatalogEndUserFullAccess`, junto con permisos para utilizar la consola de AWS Control Tower, y no puede iniciar sesión como usuario **raíz**.

**nota**  
Al aprovisionar una cuenta, el solicitante de la cuenta siempre debe tener los permisos `CreateAccount` y `DescribeCreateAccountStatus`. Este conjunto de permisos forma parte del rol de **administrador** y se otorga automáticamente cuando el solicitante asume el rol **Admin**. Si delega el permiso para aprovisionar cuentas, es posible que tengas que añadir estos permisos directamente para los solicitantes de cuentas.

Para obtener información general sobre los permisos necesarios en AWS Control Tower, consulte [Uso de políticas basadas en identidad (políticas de IAM) para AWS Control Tower](access-control-managing-permissions.md). Para obtener información sobre roles y cuentas en AWS Control Tower, consulte [Roles and accounts](https://docs.aws.amazon.com//controltower/latest/userguide/roles.html).

# Aprovisionamiento de cuentas en AWS Control Tower
<a name="methods-of-provisioning"></a>

AWS Control Tower ofrece varios métodos para crear y actualizar cuentas de miembro. Algunos métodos se basan principalmente en consola y otros están principalmente automatizados.

**Información general**

Una forma estándar de crear cuentas de miembro en AWS Control Tower es a través de Account Factory, un producto basado en consola que forma parte de Service Catalog. Además, desde la consola de AWS Control Tower puede utilizar **Crear cuenta** como método para aprovisionar cuentas nuevas, así como **Inscribir cuenta** para inscribir cuentas de AWS existentes en AWS Control Tower, si la zona de aterrizaje no se encuentra en estado de desviación. 

Con Account Factory, puede aprovisionar cuentas básicas basándose en la configuración predeterminada de AWS Control Tower. También puede aprovisionar cuentas *personalizadas* que cumplan con los requisitos de casos de uso especializados.

[Account Factory Customization (AFC)](https://docs.aws.amazon.com//controltower/latest/userguide/af-customization-page.html) es una forma de aprovisionar cuentas personalizadas desde la consola de AWS Control Tower y automatiza la personalización y la implementación de las cuentas. Tras algunos pasos de configuración únicos, permite el aprovisionamiento automatizado basado en consola, lo que elimina la necesidad de escribir scripts o configurar canalizaciones. Para obtener más información, consulte [Personalización de cuentas con la personalización del generador de cuentas (AFC)](af-customization-page.md).

**Inscripción automática**  
Si opta por la función de registro **automático de cuentas en la **configuración** de su zona de landing zone, también puede crear contenido Cuentas de AWS *externo* a AWS Control Tower y moverlos a una OU que esté registrada en AWS Control** Tower, sin derivar en herencia. Para obtener más información, consulte [Movimiento e inscripción de cuentas con inscripción automática](account-auto-enrollment.md).

**Métodos basados en consola:**
+ A través de la consola Account Factory que forma parte AWS Service Catalog, para cuentas básicas o personalizadas. Para obtener información e instrucciones, consulte [Aprovisionamiento y administración de cuentas con el generador de cuentas](account-factory.md).
+ Mediante la inscripción automática, moviendo una cuenta a una UO desde la consola. Consulte [Movimiento e inscripción de cuentas con inscripción automática](account-auto-enrollment.md)
+ Si la zona de aterrizaje no se encuentra en estado de desviación, a través de la característica **Inscribir la cuenta** de AWS Control Tower. Consulte [Inscripción de una cuenta existente desde la consola de AWS Control Tower](quick-account-provisioning.md).
+ En la consola de AWS Control Tower, puede utilizar el generador de cuentas para crear, actualizar o inscribir hasta cinco cuentas al mismo tiempo.

**Métodos automatizados:**
+ **Código Lambda: **desde la cuenta de administración de la zona de aterrizaje de AWS Control Tower, utilizando el código Lambda y los roles de IAM apropiados. Consulte [Automated Account Provisioning with IAM Roles](https://docs.aws.amazon.com//controltower/latest/userguide/roles-how.html#stacksets-and-roles).
+ **Terraform:** de la AWS Control Tower Account Factory for Terraform (AFT), que se basa en Account Factory y en un GitOps modelo que permite la automatización del aprovisionamiento y la actualización de las cuentas. Consulte [Aprovisionamiento de cuentas con el generador de cuentas para Terraform (AFT) de AWS Control Tower](taf-account-provisioning.md).
+ Mediante la inscripción automática, mediante el traslado de una cuenta existente a una OU mediante. APIs Consulte [Movimiento e inscripción de cuentas con inscripción automática](account-auto-enrollment.md)
+ **Personalización del generador de cuentas en la consola de AWS Control Tower:** tras los pasos de configuración, el aprovisionamiento futuro de cuentas personalizadas no requiere ninguna configuración adicional ni mantenimiento de canalizaciones. Las cuentas se aprovisionan mediante un AWS Service Catalog producto denominado *blueprint*. Un plano puede usar CloudFormation plantillas o plantillas de Terraform.
**nota**  
CloudFormation los planos pueden desplegar recursos en varias regiones. Los esquemas de Terraform solo pueden implementar recursos en una sola región. De forma predeterminada, es la región de origen.

# Aprovisionamiento de cuentas en la consola de AWS Control Tower
<a name="account-create-console"></a>

 En el siguiente procedimiento se describe cómo crear y aprovisionar cuentas como usuario en IAM Identity Center a través de la consola de AWS Control Tower. Este procedimiento también se conoce como *aprovisionamiento de cuentas manual*. Si lo desea, puede aprovisionar cuentas de AWS Control Tower mediante programación, con la AWS CLI, con Service Catalog APIs o con AWS Control Tower Account Factory for Terraform (AFT), o bien inscribir automáticamente una cuenta existente en una OU registrada. Puede aprovisionar cuentas personalizadas en la consola si ha configurado previamente los esquemas personalizados. Para obtener más información sobre la personalización, consulte [Personalización de cuentas con la personalización del generador de cuentas (AFC)](af-customization-page.md).

**Cómo aprovisionar cuentas individualmente como usuario en la consola de AWS Control Tower**

1. Inicie sesión en la consola de la Torre de Control de AWS AWS y navegue hasta ella.

1. En el menú de navegación de la izquierda, seleccione **Organizaciones** para ver la página **Organización**.

1. En la parte superior derecha, elija **Crear recursos**. 

1. Elija **Crear cuenta** en el menú desplegable.

1. Rellene la información de la página y tenga en cuenta lo siguiente:
   + El **Correo electrónico de la cuenta** debe ser una dirección de correo electrónico que aún no esté asociada a una Cuenta de AWS. 
   + El nombre para mostrar es el nombre que se mostrará para esta cuenta.

1. Rellene los campos para definir la **Configuración de acceso**, con una dirección de correo electrónico y un nombre de usuario del IAM Identity Center.

1. Seleccione una UO registrada de la lista desplegable para indicar la UO donde desea aprovisionar la cuenta. 

1. Si lo desea, utilice un esquema predefinido para aprovisionar su cuenta con recursos personalizados. Podrá realizar esta tarea más adelante. 

1. Revise las selecciones de la cuenta y, a continuación, seleccione **Crear cuenta** en la esquina inferior derecha. 

1. Su cuenta se está aprovisionando. Esto puede tardar varios minutos en completarse. Puede actualizar la página para que la información de estado aparezca actualizada.
**nota**  
Se pueden aprovisionar hasta cinco cuentas a la vez.

# Visualización de las cuentas
<a name="view-your-accounts"></a>

La página de la **organización** muestra todas las cuentas OUs y cuentas de su organización, independientemente de la unidad organizativa o del estado de inscripción en AWS Control Tower. Puede ver e inscribir cuentas de miembro en AWS Control Tower, de forma individual o por grupos de OU, si cada una de las cuentas cumple los requisitos previos para la inscripción.

**Cómo ver una cuenta específica**
+ Navegue a la página **Organización**.
+ Puede elegir **Cuentas solo** en el menú desplegable de la parte superior derecha.
+ A continuación, seleccione el nombre de la cuenta de la tabla.
+ Como alternativa, puede seleccionar el nombre de la UO principal de la tabla y ver una lista de todas las cuentas de dicha UO en su página **Detalles**.

En la página **Organización** y en la página **Detalles de la cuenta**, puede ver el **estado** de la cuenta, que es uno de los siguientes:
+ **No inscrito**: la cuenta es miembro de la OU principal, pero AWS Control Tower no la administra completamente. Si la OU principal está registrada, la cuenta se rige por los controles preventivos configurados para la OU principal registrada, pero los controles de detección de la OU no se aplican a esta cuenta. Si la OU principal no está registrada, no se aplica ningún control a esta cuenta. 
+ **Inscripción**: AWS Control Tower pasa a ser la entidad de gobierno de la cuenta. Estamos alineando la cuenta con la configuración de control de la OU principal. Este proceso puede requerir varios minutos por recurso de cuenta. 
+ **Inscrito**: la cuenta se rige por los controles configurados para la OU principal. Está administrada en su totalidad por AWS Control Tower.
+ **Error de inscripción**: la cuenta no se ha podido inscribir en AWS Control Tower. Para obtener más información, consulte [Causas comunes de error de la inscripción](quick-account-provisioning.md#common-causes-for-enrollment-failure).
+ **Actualización disponible**: la cuenta tiene una actualización disponible. Las cuentas en este estado siguen estando **inscritas**, pero deben actualizarse para reflejar los cambios recientes realizados en el entorno. Para actualizar una única cuenta, vaya a la página de detalles de la cuenta y seleccione **Actualizar cuenta**.

  Si tiene varias cuentas en este estado bajo una misma OU, puede optar por **Volver a registrar** la OU y actualizar dichas cuentas juntas. 

# Acerca de la inscripción de cuentas existentes
<a name="enroll-account"></a>

Puede extender el gobierno de la Torre de Control de AWS a una persona, ya existente Cuenta de AWS al *inscribirla* en una unidad organizativa (OU) que ya esté gobernada por la Torre de Control de AWS. Existen cuentas aptas que no *estén registradas y OUs que formen parte de la misma AWS Organizations organización* que la unidad organizativa de AWS Control Tower.

Existen varios métodos para inscribir cuentas en AWS Control Tower. **La información de esta página se aplica a todos los métodos de inscripción.**

**nota**  
No puedes inscribir una AWS cuenta existente para que sirva como cuenta de auditoría o archivo de registros, excepto durante la configuración inicial de landing zone.

## Qué ocurre durante la inscripción de cuentas
<a name="what-happens-during-account-enrollment"></a>

Durante el proceso de inscripción, AWS Control Tower realiza estas acciones:
+ Establece la cuenta, que incluye la implementación de estos conjuntos de pilas:
  + `AWSControlTowerBP-BASELINE-CLOUDTRAIL`
  + `AWSControlTowerBP-BASELINE-CLOUDWATCH`
  + `AWSControlTowerBP-BASELINE-CONFIG`
  + `AWSControlTowerBP-BASELINE-ROLES`
  + `AWSControlTowerBP-BASELINE-SERVICE-ROLES`
  + `AWSControlTowerBP-BASELINE-SERVICE-LINKED-ROLES`
  + `AWSControlTowerBP-VPC-ACCOUNT-FACTORY-V1`

  Es buena idea revisar las plantillas de estos conjuntos de pilas y asegurarse de que no entren en conflicto con las políticas existentes.
+ Identifica la cuenta mediante AWS IAM Identity Center o AWS Organizations.
+ Coloca la cuenta en la unidad organizativa que ha especificado. Asegúrese de aplicar todo lo SCPs que se aplica en la unidad organizativa actual, de modo que su postura de seguridad siga siendo coherente.
+ Aplica los controles obligatorios a la cuenta mediante los SCPs que se aplican a la OU seleccionada en su conjunto.
+ La habilita AWS Config y configura para registrar todos los recursos de la cuenta.
+ Añade a la cuenta AWS Config las reglas que aplican los controles de detective de la Torre de Control Tower de AWS.

**Cuentas y registros a nivel de organización CloudTrail**  
Para las versiones 3.1 y posteriores de la zona de aterrizaje, si ha seleccionado la integración de AWS CloudTrail opcional en la configuración de la zona de aterrizaje:  
Todas las cuentas de los miembros de una OU se rigen por el AWS CloudTrail registro de la OU, estén inscritas o no.
Cuando se inscribe una cuenta en AWS Control Tower, esta se rige por el registro de seguimiento AWS CloudTrail de la nueva organización. Si ya tiene una implementación de una versión de CloudTrail seguimiento, es posible que vea cargos duplicados, a menos que elimine la versión de seguimiento existente de la cuenta antes de inscribirla en AWS Control Tower. 
Si traslada una cuenta a una OU registrada (por ejemplo, a través de la AWS Organizations consola), tal vez APIs desee eliminar cualquier registro restante a nivel de cuenta de la cuenta. Si ya tienes una CloudTrail ruta desplegada, incurrirás en cargos duplicados. CloudTrail 
Si actualizas tu landing zone y decides excluirte de las rutas a nivel de organización, o si tu landing zone es anterior a la versión 3.0, las CloudTrail rutas a nivel de organización no se aplican a tus cuentas.

## Inscriba las cuentas existentes en VPCs
<a name="enroll-existing-accounts-with-vpcs"></a>

AWS Control Tower gestiona de VPCs forma diferente cuando aprovisiona una cuenta nueva en Account Factory que cuando inscribe una cuenta existente.
+ Cuando se crea una cuenta nueva, AWS Control Tower elimina automáticamente la VPC predeterminada de AWS y crea una VPC nueva para esa cuenta.
+ Cuando se inscribe una cuenta existente, AWS Control Tower no crea una VPC nueva para esa cuenta.
+ Al inscribir una cuenta existente, AWS Control Tower no elimina ninguna VPC existente ni ninguna VPC predeterminada AWS asociada a la cuenta.

**sugerencia**  
Puede cambiar el comportamiento predeterminado de las cuentas nuevas configurando el generador de cuentas para que no configure una VPC de forma predeterminada para las cuentas de la organización en AWS Control Tower. Para obtener más información, consulte [Creación de una cuenta en AWS Control Tower sin una VPC](configure-without-vpc.md#create-without-vpc).

## Inscriba cuentas con recursos AWS Config
<a name="example-config-cli-commands"></a>

La cuenta que se va a inscribir no debe tener AWS Config recursos existentes. Consulte [Inscribir cuentas que tengan AWS Config recursos existentes](https://docs.aws.amazon.com//controltower/latest/userguide/existing-config-resources.html).

Estos son algunos ejemplos de comandos AWS Config CLI que puede usar para determinar el estado de los AWS Config recursos de su cuenta actual, como la grabadora de configuración y el canal de entrega.

**Comandos de visualización:**
+ `aws configservice describe-delivery-channels`
+ `aws configservice describe-delivery-channel-status`
+ `aws configservice describe-configuration-recorders`

La respuesta normal es algo así como `"name": "default"`

**Comandos de eliminación:**
+ `aws configservice stop-configuration-recorder --configuration-recorder-name NAME-FROM-DESCRIBE-OUTPUT`
+ `aws configservice delete-delivery-channel --delivery-channel-name NAME-FROM-DESCRIBE-OUTPUT`
+ `aws configservice delete-configuration-recorder --configuration-recorder-name NAME-FROM-DESCRIBE-OUTPUT`

# Requisitos previos para la inscripción
<a name="enrollment-prerequisites"></a>

*En esta sección, se describe cómo inscribir una AWS cuenta existente en AWS Control Tower si no ha seleccionado la función opcional de inscripción automática en la página de **configuración** de la zona de aterrizaje o si utiliza una versión de landing zone anterior a la 3.1.*

Estos requisitos previos son necesarios para poder inscribir a una empresa existente Cuenta de AWS en AWS Control Tower:

**nota**  
El requisito previo para añadir el rol `AWSControlTowerExecution` no es obligatorio si ha activado la función de inscripción automática de AWS Control Tower en la página **Configuración** de la zona de aterrizaje o si inscribe la cuenta como parte de un proceso de **Registrar UO**. Sin embargo, en todos los casos, es posible que la cuenta que se va a inscribir no tenga AWS Config recursos existentes. Consulte [Inscribir cuentas que tengan AWS Config recursos existentes](https://docs.aws.amazon.com//controltower/latest/userguide/existing-config-resources.html)

1. Para inscribir una cuenta existente Cuenta de AWS, la `AWSControlTowerExecution` función debe estar presente en la cuenta que vaya a inscribir. Puede consultar la sección [Inscripción de una cuenta](https://docs.aws.amazon.com//controltower/latest/userguide/quick-account-provisioning.html) para obtener información más detallada e instrucciones. 

1. Además del rol `AWSControlTowerExecution`, la Cuenta de AWS existente que desee inscribir debe contar con los siguientes permisos y relaciones de confianza. De lo contrario, la inscripción fallará.

   Permiso de rol: `AdministratorAccess` (política AWS administrada)

   **Relación de confianza entre roles:**

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. Recomendamos que la cuenta no tenga un grabador de AWS Config configuración ni un canal de entrega. Es posible eliminarlos o modificarlos a través de la AWS CLI antes de inscribir una cuenta. De lo contrario, consulte [Inscribir cuentas que tengan AWS Config recursos existentes](https://docs.aws.amazon.com//controltower/latest/userguide/existing-config-resources.html) para obtener instrucciones sobre cómo puede modificar sus recursos existentes.

1. La cuenta que desea inscribir debe existir en la misma organización de AWS Organizations que la cuenta de administración de AWS Control Tower. La cuenta existente *solo* se puede inscribir en la misma organización que la cuenta de administración de AWS Control Tower, en una OU que ya esté registrada en AWS Control Tower. 

Para comprobar otros requisitos previos para la inscripción, consulte [Getting Started with AWS Control Tower](https://docs.aws.amazon.com//controltower/latest/userguide/getting-started-with-control-tower.html).

**nota**  
Cuando inscribe una cuenta en AWS Control Tower, esta se rige por el registro de seguimiento de AWS CloudTrail de la organización de AWS Control Tower. Si ya tiene una implementación de una versión de CloudTrail seguimiento, es posible que vea cargos duplicados, a menos que elimine la versión de seguimiento existente de la cuenta antes de inscribirla en AWS Control Tower.

**Acerca del acceso de confianza con el rol `AWSControTowerExecution`**

Antes de poder inscribir una Cuenta de AWS cuenta existente en la Torre de Control de AWS, debe dar permiso a la Torre de Control de AWS para administrar o *gobernar* la cuenta. En concreto, AWS Control Tower requiere permiso para establecer un acceso de confianza entre AWS CloudFormation y AWS Organizations en su nombre, de modo que CloudFormation pueda implementar su pila automáticamente en las cuentas de la organización seleccionada. Con este acceso de confianza, el rol `AWSControlTowerExecution` lleva a cabo las actividades necesarias para administrar cada cuenta. Por eso debes añadir este rol a cada cuenta antes de inscribirla.

 Cuando el acceso confiable está activado, CloudFormation puede crear, actualizar o eliminar pilas en varias cuentas y Regiones de AWS con una sola operación. AWS Control Tower se basa en esta capacidad de confianza para poder aplicar roles y permisos a las cuentas existentes antes de trasladarlas a una unidad organizativa registrada y, por lo tanto, someterlas a gobernanza.

Para obtener más información sobre el acceso confiable y AWS CloudFormation StackSets, consulte [AWS CloudFormationStackSetsy AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/services-that-can-integrate-cloudformation.html). 

# Movimiento e inscripción de cuentas con inscripción automática
<a name="account-auto-enrollment"></a>

La característica de inscripción automática de cuentas está disponible para zonas de aterrizaje de la versión 3.1 y posteriores.

 Si habilita esta función de forma opcional, puede utilizar la consola AWS Organizations APIs y para mover las cuentas a AWS Control Tower, sin provocar una pérdida de [https://docs.aws.amazon.com//controltower/latest/userguide/governance-drift.html](https://docs.aws.amazon.com//controltower/latest/userguide/governance-drift.html). La cuenta recibe automáticamente recursos de línea de base y configuraciones de control de la unidad organizativa (UO) de destino en AWS Control Tower. Esta capacidad opcional también le permite transferir cuentas de un sitio a otro OUs de la Torre de Control de AWS, sin provocar una desviación de herencia, si las dos OUs tienen la misma configuración básica y los mismos controles habilitados.

**Para activar la inscripción automática:** puede seleccionar la inscripción automática de las cuentas en la página de **configuración** de la zona de aterrizaje de la consola de la Torre de Control de AWS, o llamando a la Torre de Control de AWS `CreateLandingZone` o `UpdateLandingZone` APIs con el valor del `RemediationType` parámetro establecido en **Inheritance** Drift.

**Para aplicar la inscripción automática:** tras seleccionar esta opción en la página de **configuración**, puede mover una cuenta a través de la AWS Organizations consola, la AWS Organizations `MoveAccount` API o la consola de la Torre de Control de AWS.

**Para anular la inscripción de una cuenta con inscripción automática:** si mueve una cuenta fuera de una UO que esté registrada, AWS Control Tower elimina automáticamente todos los recursos y controles básicos implementados.

**nota**  
Si el origen y el destino de OUs la Torre de Control de AWS tienen configuraciones diferentes, es posible que la cuenta muestre una [Cuenta de miembro movida](governance-drift.md#drift-account-moved) desviación. 

## Requisitos previos: configuración de la inscripción automática
<a name="w2aac44c24c18c15"></a>
+ Debe utilizar la versión 3.1 o posterior de la zona de aterrizaje de AWS Control Tower.
+  Opte por la función de inscripción automática de AWS Control Tower a través de la página de **configuración** de la zona de aterrizaje de la consola o a través de la zona de aterrizaje de AWS Control Tower APIs, estableciendo el valor del `RemediationTypes` parámetro en. `Inheritance Drift` Una vez que se haya registrado, AWS Control Tower reacciona ante `move account` los AWS Organizations acontecimientos y soluciona inmediatamente el problema de herencia de las cuentas trasladadas, en su nombre.

## Permisos necesarios
<a name="w2aac44c24c18c17"></a>

 Para utilizar la API y la AWS Organizations `CreateAccount` API, se necesitan permisos y `MoveAccount` roles específicos. Para obtener más información sobre el uso AWS Organizations con AWS Control Tower, consulte [AWS Control Tower y AWS Organizations](https://docs.aws.amazon.com//organizations/latest/userguide/services-that-can-integrate-CTower.html). 

## Ejemplos de uso de la API
<a name="w2aac44c24c18c19"></a>

Para obtener más información y ejemplos al respecto APIs, consulte [https://docs.aws.amazon.com//organizations/latest/APIReference/API_CreateAccount.html](https://docs.aws.amazon.com//organizations/latest/APIReference/API_CreateAccount.html)y [https://docs.aws.amazon.com//organizations/latest/APIReference/API_MoveAccount.html](https://docs.aws.amazon.com//organizations/latest/APIReference/API_MoveAccount.html)en la *referencia de la AWS Organizations API*. 

## Consideraciones
<a name="w2aac44c24c18c21"></a>
+  **Escala de tiempo de inscripción:** una cuenta que se mueve a una UO registrada en AWS Control Tower se inscribe con un modelo de *consistencia final*. Este proceso suele tardar unos minutos o hasta varias horas, según la cantidad de cuentas que se muevan. 
+  **Proceso de anulación de la inscripción:** puede utilizar el mismo proceso para anular la inscripción de sus cuentas de AWS Control Tower moviéndolas a una UO fuera de AWS Control Tower. Este proceso elimina todos los roles y los recursos implementados por AWS Control Tower y todos los controles habilitados en AWS Control Tower. 

# Inscripción de una cuenta existente desde la consola de AWS Control Tower
<a name="quick-account-provisioning"></a>

Existen dos formas habituales de inscribir a una persona Cuenta de AWS en AWS Control Tower. 

1. Tras seleccionar la función de *inscripción automática* en la página de **configuración**, puede crear una unidad Cuenta de AWS externa a AWS Control Tower y moverla directamente a una unidad organizativa registrada. Para obtener más información, consulte [Movimiento e inscripción automáticos de cuentas](https://docs.aws.amazon.com//controltower/latest/userguide/account-auto-enroll.html). Esta característica solo está disponible en las versiones 3.1 y posteriores de la zona de aterrizaje.

1. Puede inscribir manualmente una cuenta existente desde la consola de AWS Control Tower.

**En las siguientes secciones se describe la segunda opción,** que no requiere configuración previa del entorno de AWS Control Tower. Cuenta de AWS Deben cumplir los [requisitos previos](https://docs.aws.amazon.com//controltower/latest/userguide/enrollment-prerequisites.html) requeridos.

**Visualización de cuentas elegibles en la consola:**

1. Vaya a la página **Organización** en AWS Control Tower.

1. Busque el nombre de la cuenta que desee inscribir. Para encontrarla, seleccione **Solo cuentas** en el menú desplegable de la parte superior derecha y, a continuación, localice el nombre de la cuenta en la tabla filtrada.

Siga los pasos para inscribir una cuenta individual, tal y como se muestra en la sección [Pasos para inscribir una cuenta manualmente](#enrollment-steps).

## Consideraciones sobre la inscripción desde la consola
<a name="enroll-from-console"></a>
+ La función de **inscripción de cuentas**, disponible en la consola de la Torre de Control de AWS, está destinada a inscribir a las cuentas existentes Cuentas de AWS para que estén gobernadas por la Torre de Control de AWS. Para obtener más información, consulte [Inscripción de una Cuenta de AWS existente](https://docs.aws.amazon.com/controltower/latest/userguide/enroll-account.html).
+ La función **Inscribir cuenta** está disponible cuando la zona de aterrizaje no se encuentra en estado de [desviación](https://docs.aws.amazon.com//controltower/latest/userguide/drift.html). Si su zona de inicio se encuentra en un estado de desviación, es posible que no pueda utilizar correctamente la función **Enroll account (Inscribir cuenta)** . Deberá aprovisionar nuevas cuentas a través de Account Factory u otro método hasta que se haya resuelto la desviación de la zona de aterrizaje. 
+ Al inscribir cuentas desde la consola de AWS Control Tower, deberá iniciar sesión en una cuenta con un usuario que tenga la política `AWSServiceCatalogEndUserFullAccess` habilitada, junto con permisos de acceso de **Administrador** para utilizar la consola de AWS Control Tower, y no podrá iniciar sesión como usuario raíz.
+ Las cuentas que inscriba pueden actualizarse mediante Account Factory de AWS Control Tower, al igual que actualizaría cualquier otra cuenta. Los procedimientos de actualización se indican en la sección [Actualización y movimiento de cuentas con AWS Control Tower](updating-account-factory-accounts.md). 

**nota**  
Al inscribir una existente Cuenta de AWS, asegúrese de verificar la dirección de correo electrónico existente. De lo contrario, es posible que se cree una cuenta nueva.

## Pasos para inscribir una cuenta manualmente
<a name="enrollment-steps"></a>

Una vez que el permiso de **AdministratorAccess**acceso (política) esté en vigor en tu Cuenta de AWS cuenta actual, sigue estos pasos para inscribir la cuenta:

**Cómo inscribir una cuenta individual en AWS Control Tower desde la consola**
+ Vaya a la página **Organización** de AWS Control Tower.
+ En la página **Organización**, las cuentas que reúnen los requisitos para ser inscritas le permiten seleccionar **Inscribir** en el menú desplegable **Acciones** situado en la parte superior de la sección. En estas cuentas también aparece el botón **Inscribir la cuenta** cuando las visualiza desde la página **Detalles de la cuenta**.
+ Al seleccionar **Inscribir la cuenta**, verá la página **Inscribir la cuenta**, en la que se le solicitará que añada el rol `AWSControlTowerExecution` a la cuenta. Para obtener instrucciones, consulte [Añada manualmente el rol de IAM requerido a uno existente Cuenta de AWS e inscríbalo](enroll-manually.md).
+ A continuación, seleccione una OU registrada de la lista desplegable. Si la cuenta ya está en una OU registrada, esta lista mostrará la OU.
+ Seleccione **Enroll account (Inscribir cuenta)**.
+ Verá un recordatorio modal para añadir el rol `AWSControlTowerExecution` y confirmar la acción.
+ Seleccione **Inscribir**.
+ AWS Control Tower comienza el proceso de inscripción y se le dirige de nuevo a la página **Detalles de la cuenta**.

## Causas comunes de error de la inscripción
<a name="common-causes-for-enrollment-failure"></a>
+ Para inscribir una cuenta existente, el rol `AWSControlTowerExecution` debe estar presente en la cuenta que está inscribiendo.
+ La entidad principal de IAM carece de los permisos necesarios para aprovisionar una cuenta.
+ AWS Security Token Service (AWS STS) está deshabilitado Cuenta de AWS en su región de origen o en cualquier región compatible con la Torre de Control de AWS.
+ Es posible que haya iniciado sesión en una cuenta que deba añadirse a la cartera del generador de cuentas en AWS Service Catalog. La cuenta debe añadirse antes de tener acceso al generador de cuentas para poder crear o inscribir una cuenta en AWS Control Tower. Si el usuario o rol correspondiente no se añade a la cartera del generador de cuentas, recibirá un error al intentar añadir una cuenta. Para obtener instrucciones sobre cómo conceder acceso a las AWS Service Catalog carteras, consulte [Concesión de acceso a los usuarios](https://docs.aws.amazon.com//servicecatalog/latest/adminguide/catalogs_portfolios_users.html).
+ Es posible que haya iniciado sesión como usuario raíz.
+ Es posible que la cuenta que estás intentando inscribir tenga una AWS Config configuración residual. En concreto, la cuenta puede tener un grabador de configuración o un canal de entrega. Debes eliminarlos o modificarlos AWS CLI antes de poder inscribir una cuenta. Para obtener más información, consulte [Inscribir cuentas que cuenten con AWS Config recursos existentes](existing-config-resources.md) y [Interactúa AWS Control Tower con AWS CloudShell](cshell-examples.md). 
+ Si la cuenta pertenece a otra OU con una cuenta de administración, incluida otra OU de AWS Control Tower, debe cancelar la cuenta en la OU actual antes de que pueda unirse a otra OU. Los recursos existentes deben eliminarse de la OU original. De lo contrario, la inscripción fallará.
+ El aprovisionamiento y la inscripción de la cuenta fallan si las unidades organizativas de destino SCPs no le permiten crear todos los recursos necesarios para esa cuenta. Por ejemplo, una SCP en la OU de destino puede bloquear la creación de recursos sin determinadas etiquetas. En este caso, el aprovisionamiento o la inscripción de cuentas falla porque AWS Control Tower no admite el etiquetado de los recursos. Para obtener ayuda, póngase en contacto con su representante de cuentas o con Soporte.

Para obtener más información acerca de cómo funciona AWS Control Tower con los roles al crear cuentas nuevas o inscribir las existentes, consulte [Roles and accounts](https://docs.aws.amazon.com//controltower/latest/userguide/roles.html).

**sugerencia**  
Si no puede confirmar que una unidad existente Cuenta de AWS cumple con los requisitos previos de inscripción, puede configurar una **unidad organizativa de inscripción** e inscribir la cuenta en esa unidad organizativa. Una vez que la inscripción se haya realizado correctamente, puede trasladar la cuenta a la OU que desee. Si la inscripción no se realiza correctamente, no habrá ninguna otra cuenta ni OUs se verá afectada por el incumplimiento.

Si tiene dudas sobre si las cuentas actuales y sus configuraciones son compatibles con AWS Control Tower, puede seguir las prácticas recomendadas en la siguiente sección. 

**Recomendado: puede configurar un enfoque de dos pasos para la inscripción de cuentas**
+ En primer lugar, utilice un *paquete de AWS Config conformidad* para evaluar cómo algunos controles de la Torre de Control de AWS pueden afectar a sus cuentas. Para determinar cómo la inscripción en la Torre de Control de AWS puede afectar a sus cuentas, consulte [Ampliar la gobernanza de la Torre de Control de AWS mediante paquetes de AWS Config conformidad](https://aws.amazon.com//blogs/mt/extend-aws-control-tower-governance-using-aws-config-conformance-packs/). 
+ A continuación, es posible que desee inscribir la cuenta. Si los resultados de conformidad son satisfactorios, la ruta de migración es más fácil porque puede inscribir la cuenta sin consecuencias inesperadas.
+ Una vez realizada la evaluación, si decide configurar una zona de aterrizaje de la AWS Control Tower, puede que tenga que eliminar el canal de AWS Config entrega y el registrador de configuración que se crearon para la evaluación. Entonces podrá configurar AWS Control Tower correctamente.

**nota**  
El paquete de conformidad también funciona en situaciones en las que las cuentas están OUs registradas por la Torre de Control de AWS, pero las cargas de trabajo se ejecutan en AWS regiones que no son compatibles con la Torre de Control de AWS. Puede utilizar el paquete de conformidad para administrar recursos en cuentas que existen en regiones donde AWS Control Tower no se ha implementado.

# Si la cuenta no cumple los requisitos previos
<a name="fulfill-prerequisites"></a>

 Recuerde que, como requisito previo, las cuentas que puedan inscribirse en la gobernanza de AWS Control Tower deben formar parte de la misma organización general. Para cumplir con este requisito previo para la inscripción de cuentas, puede seguir estos pasos preparatorios para trasladar una cuenta a la misma organización que AWS Control Tower. 

**Pasos preparatorios para incorporar una cuenta a la misma organización que AWS Control Tower**

1.  Elimine la cuenta de la organización existente. Si utiliza este enfoque, debe proporcionar un método de pago diferente. 

1.  Invite a la cuenta a unirse a la organización de AWS Control Tower. Para obtener más información, consulte [Invitar a una AWS cuenta a unirse a su organización](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_manage_accounts_invites.html) en la Guía del *AWS Organizations usuario*. 

1.  Acepte la invitación. La cuenta aparece en la raíz de la organización. Este paso mueve la cuenta a la misma organización que AWS Control Tower y establece SCPs y consolida la facturación. 

**sugerencia**  
 Puede enviar la invitación a la nueva organización antes de que la cuenta deje de pertenecer a la antigua. La invitación quedará pendiente cuando la cuenta deje de pertenecer oficialmente a la organización existente. 

**Pasos para cumplir los requisitos previos restantes:**

1.  Cree el rol `AWSControlTowerExecution` necesario. 

1.  Elimine la VPC predeterminada (esta parte es opcional. AWS Control Tower no cambia la VPC predeterminada existente). 

1.  Elimine o modifique cualquier grabador AWS Config de configuración o canal de entrega existente a través de AWS CLI o. AWS CloudShell Para obtener más información, consulte [Inscriba cuentas con recursos AWS Config](enroll-account.md#example-config-cli-commands) y [Inscribir cuentas que cuenten con AWS Config recursos existentes](existing-config-resources.md). 

 Una vez completados estos pasos preparatorios, puede inscribir la cuenta en AWS Control Tower. Para obtener más información, consulte [Pasos para inscribir una cuenta manualmente](quick-account-provisioning.md#enrollment-steps). Con este paso, la cuenta pasa a estar totalmente bajo el control de AWS Control Tower. 

**Pasos opcionales para desaprovisionar una cuenta y poder inscribirla y conservar su pila**

1.  Para conservar la CloudFormation pila aplicada, elimine la instancia de pila de los conjuntos de pilas y elija **Conservar pilas** para la instancia. 

1.  Finalice el producto aprovisionado para la AWS Service Catalog cuenta en Account Factory. (este paso solo elimina el producto aprovisionado de AWS Control Tower. No elimina la cuenta.) 

1.  Configure la cuenta con los detalles de facturación necesarios, tal y como se requiere para cualquier cuenta que no pertenezca a una organización. A continuación, elimine la cuenta de la organización. (Si lo haces, la cuenta no se descontará del total de tu AWS Organizations cuota). 

1.  Limpie la cuenta si quedan recursos y, después, ciérrela siguiendo los pasos de cierre de cuenta en [Anulación de la inscripción de una cuenta](unmanage-account.md). 

1.  Si tiene una OU **suspendida** con controles definidos, puede trasladar la cuenta allí en lugar de realizar el paso 1. 

# Añada manualmente el rol de IAM requerido a uno existente Cuenta de AWS e inscríbalo
<a name="enroll-manually"></a>

Si ya ha configurado la zona de aterrizaje de AWS Control Tower, puede empezar a inscribir las cuentas de la organización en una OU que esté registrada en AWS Control Tower. Si no ha configurado la zona de aterrizaje, siga los pasos descritos en la *Guía del usuario de AWS Control Tower* en [Getting Started, Step 2](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html#step-two). Cuando la zona de aterrizaje esté lista, complete los siguientes pasos para que AWS Control Tower controle las cuentas existentes de forma manual.

**Asegúrese de revisar los [Requisitos previos para la inscripción](enrollment-prerequisites.md) indicados anteriormente en este capítulo.**

Antes de inscribir una cuenta en AWS Control Tower, debe conceder permiso a AWS Control Tower para administrar dicha cuenta. Para ello, añadirá un rol que tenga acceso completo a la cuenta, tal y como se indica en los pasos siguientes. Estos pasos deben realizarse para cada cuenta que inscriba.

**Para cada cuenta:**

**Paso 1: inicie sesión con acceso de administrador en la cuenta de administración de la organización que contiene actualmente la cuenta que desea inscribir.**

Por ejemplo, si creó esta cuenta desde AWS Organizations y utiliza un rol de IAM multicuenta para iniciar sesión, puede seguir estos pasos:

1. Inicie sesión en la cuenta de administración de la organización.

1. Vaya a **AWS Organizations**.

1. En **Cuentas**, selecciona la cuenta que desea inscribir y copie su ID de cuenta.

1. Abre el menú desplegable de la cuenta en la barra de navegación superior y seleccione **Cambiar rol**.

1. En el formulario **Cambiar rol**, rellene los siguientes campos:
   + En **Cuenta**, introduzca el ID de la cuenta que ha copiado.
   + En **Rol**, introduzca el nombre del rol de IAM que habilita el acceso entre cuentas a esta cuenta. El nombre de este rol se definió cuando se creó la cuenta. Si no especificó un nombre de rol al crear la cuenta, introduzca el nombre de rol predeterminado `OrganizationAccountAccessRole`.

1. Elija **Switch Role**.

1. Ahora deberías iniciar sesión en la cuenta Consola de administración de AWS como hijo.

1. Cuando haya terminado, permanezca en la cuenta secundaria para la siguiente parte del procedimiento.

1. Anote el ID de la cuenta de administración, ya que tendrá que introducirlo en el paso siguiente.

**Paso 2: conceda permiso a AWS Control Tower para administrar la cuenta.**

1. Vaya a **IAM**.

1. Vaya a **Roles**.

1. Elija **Crear rol**.

1. Cuando se le pida que seleccione el servicio al que corresponde el rol, seleccione **Política de confianza personalizada**. 

1. Copie el ejemplo de código que se muestra aquí y péguelo en el documento de política. Sustituya la cadena *`Management Account ID`* por el ID de cuenta de administración real de la cuenta de administración. A continuación se muestra la política a pegar:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": "sts:AssumeRole",
               "Condition": {}
           }
       ]
   }
   ```

------

1. Cuando se te pida que adjuntes políticas, selecciona **AdministratorAccess**.

1. Elija **Siguiente:Etiquetas**.

1. Es posible que aparezca una pantalla opcional titulada **Añadir etiquetas**. Omita esta pantalla por ahora seleccionando **Next:Review**

1. En la pantalla **Revisar**, en el campo **Nombre del rol**, introduzca `AWSControlTowerExecution`.

1. Introduzca una breve descripción en el cuadro **Descripción**, por ejemplo *Permite el acceso completo a la cuenta para la inscripción.*

1. Elija **Crear rol**.

**Paso 3: inscriba la cuenta trasladándola a una OU registrada y verifique la inscripción.**

Una vez que haya configurado los permisos necesarios mediante la creación del rol, siga estos pasos para inscribir la cuenta y verificar la inscripción.

1. **Vuelva a iniciar sesión como administrador y vaya a AWS Control Tower.**

1. 

**Inscriba la cuenta.**
   + En la página **Organización** de AWS Control Tower, seleccione la cuenta y, a continuación, elija **Inscribirse** en el menú desplegable **Acciones** situado en la parte superior derecha.
   + Siga los pasos para inscribir una cuenta individual, tal y como se muestra en la página [Pasos para inscribir una cuenta manualmente](quick-account-provisioning.md#enrollment-steps).

1. 

**Verifique la inscripción.**
   + En AWS Control Tower, seleccione **Organización** en el panel de navegación izquierdo.
   + Busque la cuenta que ha inscrito recientemente. Su estado inicial mostrará el estado de **Inscripción**.
   + Cuando el estado cambia a **Inscrito**, el traslado se ha realizado correctamente.

Para continuar con este proceso, inicie sesión en cada cuenta de la organización que desee inscribir en AWS Control Tower. Repita los pasos de requisitos previos y los pasos de inscripción para cada cuenta.

**Ejemplo de adición del rol `AWSControlTowerExecution`**

La siguiente plantilla de YAML puede ayudarle a crear el rol necesario en una cuenta para poder inscribirla mediante programación.

```
AWSTemplateFormatVersion: 2010-09-09
Description: Configure the AWSControlTowerExecution role to enable use of your
  account as a target account in AWS CloudFormation StackSets.
Parameters:
  AdministratorAccountId:
    Type: String
    Description: AWS Account Id of the administrator account (the account in which
      StackSets will be created).
    MaxLength: 12
    MinLength: 12
Resources:
  ExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      RoleName: AWSControlTowerExecution
      AssumeRolePolicyDocument:
        Version: 2012-10-17		 	 	 
        Statement:
          - Effect: Allow
            Principal:
              AWS:
                - !Ref AdministratorAccountId
            Action:
              - sts:AssumeRole
      Path: /
      ManagedPolicyArns:
        - !Sub arn:${AWS::Partition}:iam::aws:policy/AdministratorAccess
```

# Inscribir cuentas que cuenten con AWS Config recursos existentes
<a name="existing-config-resources"></a>

En este tema se proporciona un step-by-step enfoque sobre cómo inscribir cuentas que cuenten con AWS Config los recursos existentes. Para ver ejemplos de cómo comprobar los recursos existentes, consulte [Inscriba cuentas con recursos AWS Config](enroll-account.md#example-config-cli-commands).

**Ejemplos de AWS Config recursos**

Estos son algunos tipos de AWS Config recursos que podría tener ya tu cuenta. Es posible que sea tenga que modificar estos recursos para poder inscribir la cuenta en AWS Control Tower.
+ AWS Config grabadora
+ AWS Config canal de entrega
+ AWS Config autorización de agregación

**Limitaciones**
+  No se admite la inscripción de cuentas con un recurso de AWS Config existente en las cuentas de administración o de integración de servicios configuradas en landing zone. 
+  La cuenta solo se puede inscribir mediante el flujo de trabajo de registro o reinscripción de la `AWSControlTowerBaseline` OU, que permite: La cuenta no se puede inscribir activando o restableciendo la. `ConfigBaseline` 
+  La cuenta con un recurso de AWS Config existente no es compatible con[Movimiento e inscripción de cuentas con inscripción automática](account-auto-enrollment.md). 
+ Si los recursos se modifican y se produce una desviación en la cuenta, AWS Control Tower no actualiza los recursos.
+ AWS Config los recursos de las regiones que no están gobernadas por la Torre de Control de AWS no se modifican.

**Supuestos**
+ Ha implementado una zona de aterrizaje de AWS Control Tower.
+ La cuenta aún no está inscrita en AWS Control Tower.
+ Su cuenta tiene al menos un AWS Config recurso preexistente en al menos una de las regiones gobernadas por AWS Control Tower.
+ La cuenta no se encuentra en desviación de la gobernanza.

**nota**  
Si intenta inscribir una cuenta que tiene recursos de configuración existentes sin haber añadido la cuenta a la lista de permitidos, se producirá un error en la inscripción. Si posteriormente intenta añadir la misma cuenta a la lista de permitidos, AWS Control Tower no podrá validar que la cuenta se ha aprovisionado correctamente. Debe desaprovisionar la cuenta desde AWS Control Tower antes de poder solicitar la lista de permitidos e inscribirla. Si únicamente traslada la cuenta a una OU de AWS Control Tower diferente, se produce una desviación de la gobernanza, lo que también impide que la cuenta se añada a la lista de permitidos.

 Para ver un blog que describe un enfoque automatizado para inscribir cuentas con AWS Config recursos existentes, consulte [Automatizar la inscripción de cuentas con AWS Config recursos existentes en AWS Control Tower](https://aws.amazon.com//blogs/mt/automate-enrollment-of-accounts-with-existing-aws-config-resources-into-aws-control-tower/). 

**Este proceso consta de 5 pasos principales.**

1. Añada las cuentas a la lista de cuentas permitidas de AWS Control Tower.

1. Cree un rol de IAM nuevo en la cuenta.

1. Modifique los AWS Config recursos preexistentes.

1. Crea AWS Config recursos en AWS regiones donde no existan.

1. Inscriba la cuenta en AWS Control Tower.

**Antes de continuar, tenga en cuenta las siguientes expectativas con respecto a este proceso.**
+ AWS Control Tower no crea ningún AWS Config recurso en esta cuenta.
+ Tras la inscripción, los controles de la Torre de Control de AWS protegen automáticamente los AWS Config recursos que ha creado, incluida la nueva función de IAM.
+ Si se realiza algún cambio en AWS Config los recursos después de la inscripción, dichos recursos deben actualizarse para que se ajusten a la configuración de AWS Control Tower antes de volver a inscribir la cuenta.

## Paso 1: Póngase en contacto con el servicio de asistencia para añadir cuentas a la lista de cuentas permitidas
<a name="existing-config-step-1"></a>

**Incluya esta frase en el asunto del ticket:**

*Inscriba cuentas que cuenten con AWS Config recursos existentes en AWS Control Tower*

**Incluya los siguientes detalles en el cuerpo del ticket:**
+ Número de cuenta de administración
+  Números de cuenta de las cuentas de los miembros que tienen AWS Config recursos existentes. Podrá crear un caso de soporte para todas las cuentas que desee inscribir. 
+ La región de origen seleccionada para la configuración de AWS Control Tower

**nota**  
El plazo necesario para añadir la cuenta a la lista de permitidos es de 2 días laborables.

## Paso 2: creación de un nuevo rol de IAM en la cuenta de miembro
<a name="existing-config-step-2"></a>

1. Abre la CloudFormation consola de la cuenta de miembro.

1. Cree una pila nueva con la siguiente plantilla

   ```
   AWSTemplateFormatVersion: 2010-09-09
   Description: Configure AWS Config
       
   Resources:
     CustomerCreatedConfigRecorderRole:
       Type: AWS::IAM::Role
       Properties:
         RoleName: aws-controltower-ConfigRecorderRole-customer-created
         AssumeRolePolicyDocument:
           Version: 2012-10-17		 	 	 
           Statement:
             - Effect: Allow
               Principal:
                 Service:
                   - config.amazonaws.com
               Action:
                 - sts:AssumeRole
         Path: /
         ManagedPolicyArns:
           - arn:aws:iam::aws:policy/service-role/AWS_ConfigRole
           - arn:aws:iam::aws:policy/ReadOnlyAccess
   ```

1. Proporcione el nombre de la pila como **CustomerCreatedConfigRecorderRoleForControlTower**

1. Cree la pila.

**nota**  
Todos SCPs los que cree deben excluir un `aws-controltower-ConfigRecorderRole*` rol. No modifique los permisos que restringen la capacidad de AWS Config las reglas para realizar evaluaciones.  
Sigue estas pautas para no recibir un aviso `AccessDeniedException` cuando tengas SCPs ese bloqueo por llamar `aws-controltower-ConfigRecorderRole*` a Config.

## Paso 3: Identifique las AWS regiones con recursos preexistentes
<a name="existing-config-step-3"></a>

Para cada región gobernada (gobernada por la Torre de Control de AWS) de la cuenta, identifique y anote las regiones que tienen al menos uno de los tipos de ejemplos de AWS Config recursos existentes que se muestran anteriormente.

## Paso 4: Identifique las AWS regiones sin AWS Config recursos
<a name="existing-config-step-4"></a>

Para cada región gobernada (gobernada por la Torre de Control de AWS) de la cuenta, identifique y anote las regiones en las que no hay AWS Config recursos del tipo de ejemplo mostrado anteriormente.

## Paso 5: Modifique los recursos existentes en cada AWS región
<a name="existing-config-step-5"></a>

Para este paso, se necesita la siguiente información sobre la configuración de AWS Control Tower.
+  `AUDIT_ACCOUNT`- el ID de la cuenta de integración del servicio AWS Config (anteriormente conocida como cuenta de auditoría) 
+  `CONFIG_BUCKET`- el bucket de AWS S3 al que AWS Config entrega las instantáneas de configuración y los archivos del historial de configuración. Localice y confirme que el bucket de AWS S3 existe antes de continuar con los siguientes pasos. 
  + Para la versión 3.3 o anterior de landing zone, se denomina el bucket de AWS S3 `aws-controltower-logs-LOGGING_ACCOUNT-HOME_REGION` y se encuentra en la cuenta Logging.
  + Para la versión 4.0 o superior de la zona de aterrizaje, se denomina `aws-controltower-config-logs-AUDIT_ACCOUNT-<REGION_STRING>-<SUFFIX_STRING>` el bucket de AWS S3 y se encuentra en la cuenta de integración del servicio AWS Config (anteriormente conocida como cuenta de auditoría).
+ `IAM_ROLE_ARN`- el ARN del rol de IAM creado en el paso 2
+ `ORGANIZATION_ID`: el ID de la cuenta de administración de la organización
+ `MEMBER_ACCOUNT_NUMBER`: la cuenta de miembro que se está modificando
+ `HOME_REGION`: la región de origen para la configuración de AWS Control Tower.

 Modifique cada uno de los recursos existentes siguiendo las instrucciones de las secciones 5a a 5c que aparecen a continuación.

## Paso 5a. AWS Config recursos de grabadora
<a name="modify-config-recorder-resources-step-5a"></a>

Solo puede existir una AWS Config grabadora por AWS región. Si existe uno, modifique la configuración tal y como se muestra. Sustituya el elemento `GLOBAL_RESOURCE_RECORDING` por **verdadero** en la región de origen. Sustituya el elemento por **falso** en otras regiones en las que exista una AWS Config grabadora.
+ **Name:** NO CAMBIAR
+ **RoleARN:**` IAM_ROLE_ARN`
  + **RecordingGroup:**
  + **AllSupported:** verdadero
  + **IncludeGlobalResourceTypes:** `GLOBAL_RESOURCE_RECORDING`
  + **ResourceTypes:** Vacío

Esta modificación se puede realizar a través de la AWS CLI mediante el siguiente comando. Sustituya la cadena `RECORDER_NAME` por el nombre de la AWS Config grabadora existente.

```
aws configservice put-configuration-recorder --configuration-recorder  name=RECORDER_NAME,roleARN=arn:aws:iam::MEMBER_ACCOUNT_NUMBER:role/aws-controltower-ConfigRecorderRole-customer-created --recording-group allSupported=true,includeGlobalResourceTypes=GLOBAL_RESOURCE_RECORDING --region CURRENT_REGION
```

## Paso 5b. Modifique los recursos del canal de AWS Config entrega
<a name="modify-config-delivery-channel-step-5b"></a>

Solo puede existir un canal de AWS Config entrega por región. Si existe otro, modifique la configuración tal y como se muestra.
+ **Name:** NO CAMBIAR
+ **ConfigSnapshotDeliveryProperties:** TwentyFour \$1Horas
+  **S3BucketName:** *CONFIG\$1BUCKET* 
+ **S3KeyPrefix:** *ORGANIZATION\$1ID*
+ **SnsTopicARN: El ARN** del tema de SNS de la cuenta de auditoría, con el siguiente formato:

  `arn:aws:sns:CURRENT_REGION:AUDIT_ACCOUNT:aws-controltower-AllConfigNotifications`

Esta modificación se puede realizar a través de la AWS CLI mediante el siguiente comando. Sustituya la cadena `DELIVERY_CHANNEL_NAME` por el nombre de la AWS Config grabadora existente.

```
aws configservice put-delivery-channel --delivery-channel name=DELIVERY_CHANNEL_NAME,s3BucketName=CONFIG_BUCKET,s3KeyPrefix="ORGANIZATION_ID",configSnapshotDeliveryProperties={deliveryFrequency=TwentyFour_Hours},snsTopicARN=arn:aws:sns:CURRENT_REGION:AUDIT_ACCOUNT:aws-controltower-AllConfigNotifications --region CURRENT_REGION
```

## Paso 5c. Modifique los recursos AWS Config de autorización de agregación
<a name="modify-config-aggregator-auth-step-5c"></a>

**nota**  
Este paso no es obligatorio para la versión 4.0 o superior de landing zone.

Pueden existir varias autorizaciones de agregación por región. AWS Control Tower requiere una autorización de agregación que especifique la cuenta de auditoría como cuenta autorizada y que tenga la región de origen de AWS Control Tower como región autorizada. Si no existe, cree una nueva con la siguiente configuración:
+ **AuthorizedAccountId:** El identificador de la cuenta de auditoría
+ **AuthorizedAwsRegion:** La región de origen de la configuración de la Torre de Control de AWS

Esta modificación se puede realizar a través de la AWS CLI mediante el siguiente comando:

 `aws configservice put-aggregation-authorization --authorized-account-id AUDIT_ACCOUNT_ID --authorized-aws-region HOME_REGION --region CURRENT_REGION` 

## Paso 6: creación de recursos donde no existen, en regiones gobernadas por AWS Control Tower
<a name="existing-config-step-6"></a>

Revise la CloudFormation plantilla para que en su región de origen el **IncludeGlobalResourcesTypes**parámetro tenga el valor`GLOBAL_RESOURCE_RECORDING`, como se muestra en el siguiente ejemplo. Actualice también los campos obligatorios de la plantilla, tal y como se especifica en esta sección.

Sustituya el elemento `GLOBAL_RESOURCE_RECORDING` por **verdadero** en la región de origen. Sustituya el elemento por **falso** en otras regiones en las que no exista una AWS Config grabadora.

1. Navegue hasta la CloudFormation consola de la cuenta de administración.

1. Crea una nueva StackSet con el nombre **CustomerCreatedConfigResourcesForControlTower**.

1. Copie y actualice la siguiente plantilla:
**nota**  
El `CustomerCreatedAggregationAuthorization` recurso de la plantilla no es necesario para la versión 4.0 o superior de landing zone.

   ```
   AWSTemplateFormatVersion: 2010-09-09
   Description: Configure AWS Config
   Resources:
     CustomerCreatedConfigRecorder:
       Type: AWS::Config::ConfigurationRecorder
       Properties:
         Name: aws-controltower-BaselineConfigRecorder-customer-created
         RoleARN: !Sub arn:aws:iam::${AWS::AccountId}:role/aws-controltower-ConfigRecorderRole-customer-created
         RecordingGroup:
           AllSupported: true
           IncludeGlobalResourceTypes: GLOBAL_RESOURCE_RECORDING
           ResourceTypes: []
     CustomerCreatedConfigDeliveryChannel:
       Type: AWS::Config::DeliveryChannel
       Properties:
         Name: aws-controltower-BaselineConfigDeliveryChannel-customer-created
         ConfigSnapshotDeliveryProperties:
           DeliveryFrequency: TwentyFour_Hours
         S3BucketName: CONFIG_BUCKET
         S3KeyPrefix: ORGANIZATION_ID
         SnsTopicARN: !Sub arn:aws:sns:${AWS::Region}:AUDIT_ACCOUNT:aws-controltower-AllConfigNotifications
     CustomerCreatedAggregationAuthorization:
       Type: "AWS::Config::AggregationAuthorization"
       Properties:
         AuthorizedAccountId: AUDIT_ACCOUNT
         AuthorizedAwsRegion: HOME_REGION
   ```

**Actualice la plantilla con los campos obligatorios:**

   1. En el BucketName campo **S3**, sustituya la *CONFIG\$1BUCKET*

   1. En el KeyPrefix campo **S3**, sustituya el *ORGANIZATION\$1ID*

   1. En el campo **SnsTopicARN, sustituya** el *AUDIT\$1ACCOUNT*

   1. En el **AuthorizedAccountId**campo, sustituya el *AUDIT\$1ACCOUNT*

   1. En el **AuthorizedAwsRegion**campo, sustituya el *HOME\$1REGION*

1. Durante el despliegue en la CloudFormation consola, añada el número de cuenta del miembro.

1. Agregue las AWS regiones que se identificaron en el paso 4.

1. Implemente el conjunto de pilas.

## Paso 7: registro de la OU en AWS Control Tower
<a name="existing-config-step-7"></a>

Registre la OU en el panel de AWS Control Tower.

**nota**  
El flujo de trabajo **Inscribir la cuenta** no se realizará correctamente para esta tarea. Debe seleccionar **Registrar OU** o **Volver a registrar la OU**.

# Aprovisionamiento y administración de cuentas con el generador de cuentas
<a name="account-factory"></a>

**nota**  
El aprovisionamiento, la actualización y la personalización de una sola cuenta deben dirigirse a una unidad organizativa (OU) que AWSControl TowerBaseline esté habilitada. Si una OU no tiene AWSControl TowerBaseline habilitada la OU, puede activar la inscripción automática de la cuenta o utilizar ResetEnabledBaseline y ResetEnabledControl APIs EnabledControls activar EnabledBaselines y cerrar esa OU para inscribir cuentas. Para obtener más información sobre AWSControlTowerBaseline, consulte:[Tipos de referencia que se aplican a nivel de unidad organizativa](types-of-baselines.md#ou-baseline-types). 

 En este capítulo se incluye información general y procedimientos para el aprovisionamiento de cuentas de nuevos miembros en una zona de aterrizaje de AWS Control Tower con el generador de cuentas. 

## Permisos para configurar y aprovisionar cuentas
<a name="configure-provision-new-account"></a>

AWS Control Tower Account Factory permite a los administradores y usuarios de la nube AWS IAM Identity Center aprovisionar cuentas en su landing zone. De forma predeterminada, los usuarios de IAM Identity Center que aprovisionan cuentas deben estar en el grupo `AWSAccountFactory` o en el grupo de administración. 

**nota**  
Tenga cuidado cuando trabaje desde la cuenta de administración, como lo haría al usar una cuenta con permisos en toda la organización.

La cuenta de administración de AWS Control Tower tiene una relación de confianza con el rol `AWSControlTowerExecution`, que permite la configuración de la cuenta desde la cuenta de administración, incluida la configuración automática de la cuenta. Para obtener más información sobre el rol `AWSControlTowerExecution`, consulte [Roles y cuentas](https://docs.aws.amazon.com//controltower/latest/userguide/roles-how.html).

**nota**  
Para inscribir una Cuenta de AWS cuenta existente en AWS Control Tower, esa cuenta debe tener el `AWSControlTowerExecution` rol habilitado. Para obtener más información acerca de cómo inscribir una cuenta existente, consulte [Acerca de la inscripción de cuentas existentes](enroll-account.md).

Para obtener más información sobre los permisos, consulte [Permisos necesarios para el aprovisionamiento de cuentas](provision-and-manage-accounts.md#permissions).

## Consideraciones sobre la administración de cuentas en el generador de cuentas
<a name="closing-and-repurposing"></a>

 Puede actualizar, anular la inscripción y cerrar las cuentas que cree y aprovisione a través del generador de cuentas. Puede reciclar las cuentas actualizando los parámetros de usuario de las cuentas que desee reutilizar. También puede cambiar la unidad organizativa (OU) de una cuenta. 

**nota**  
 Al actualizar un producto aprovisionado que está asociado a una cuenta que vende Account Factory, si especifica una nueva dirección de correo electrónico de usuario AWS IAM Identity Center, AWS Control Tower crea un nuevo usuario en el IAM Identity Center. No se elimina la cuenta creada anteriormente. Para obtener información sobre cómo eliminar la dirección de correo electrónico del usuario anterior de IAM Identity Center, consulte [Disabling a User](https://docs.aws.amazon.com//singlesignon/latest/userguide/disableuser.html). 

# Actualización y movimiento de cuentas con AWS Control Tower
<a name="updating-account-factory-accounts"></a>

La forma más sencilla de actualizar una cuenta inscrita es a través de la consola de AWS Control Tower. Las actualizaciones de cuentas individuales son útiles para resolver desviaciones, como [Cuenta de miembro movida](governance-drift.md#drift-account-moved). Las actualizaciones de cuentas también son obligatorias como parte de una actualización completa de la zona de aterrizaje.

## Actualización de la cuenta en la consola
<a name="update-account-in-console"></a>

**Actualización de una cuenta en la consola de AWS Control Tower**

1. Cuando haya iniciado sesión en AWS Control Tower, vaya a la página **Organización**.

1. En la lista de cuentas OUs y, seleccione el nombre de la cuenta que desee actualizar. Las cuentas que están disponibles para su actualización muestran el estado de **Actualización disponible**.

1. A continuación, verá la página **Detalles de la cuenta** de la cuenta seleccionada.

1. En la parte superior derecha, seleccione **Actualizar cuenta**.

Si migra una cuenta de una unidad organizativa (OU) a otra, recuerde que los controles aplicados por la nueva OU pueden ser diferentes a los de la OU anterior. Asegúrese de que los controles de la nueva OU cumplen los requisitos de la política para la cuenta.

Las cuentas de AWS Control Tower se modifican de forma diferente en función de si ha optado por la inscripción automática de cuentas o no. Para obtener más información sobre inscripción automática, consulte [Si lo desea, configure la inscripción automática de cuentas](configure-auto-enroll.md).

**Controle el comportamiento cuando las cuentas se mueven de una cuenta a otra OUs, con la inscripción automática habilitada**

Cuando mueve una cuenta a una nueva UO, AWS Control Tower aplica a la cuenta las líneas de base y los controles habilitados de la UO. Se eliminan los controles y las líneas de base de la UO anterior. Si mueve una cuenta fuera de una UO que está registrada, AWS Control Tower elimina todas las líneas de base y los controles implementados. 

**Controle el comportamiento cuando se transfieren cuentas OUs, sin inscripción automática**

Al mover una cuenta de otra a otra OUs, los controles de la unidad organizativa de destino se aplican a la cuenta. Sin embargo, los controles que se aplicaban a la cuenta de la OU anterior no se eliminan. El comportamiento exacto de los controles es específico de la implementación de los controles que están activos en la OU anterior y en la OU de destino.
+  *Para los controles implementados con AWS Config reglas:* los controles de la OU anterior no se eliminan. Estos controles se deben eliminar manualmente.
+ *Para los controles implementados con SCPs:* Los controles basados en SCP de la OU anterior son eliminado. Los controles basados en SCP de la OU de destino surten efecto en esta cuenta. 
+ *Para controles implementados con enlaces de CloudFormation :* este comportamiento depende del estado de los controles de la nueva OU.
  + *Si la OU de destino no tiene ningún control basado en enlaces activo:* los controles antiguos permanecen activos en la cuenta que se ha migrado, a menos que los elimine manualmente.
  + *Si la OU de destino tiene controles de enlace activos:* los controles anteriores se eliminan y los controles de la OU de destino se aplican a la cuenta.

# Cambio de la dirección de correo electrónico de una cuenta inscrita
<a name="change-account-email"></a>

 Para cambiar la dirección de correo electrónico de una cuenta de miembro inscrita en AWS Control Tower, siga el procedimiento de esta sección. 

**nota**  
 El siguiente procedimiento no le permite cambiar la dirección de correo electrónico de una **cuenta de administración**, una **cuenta del archivo de registro** o una **cuenta de auditoría**. Para obtener más información al respecto, consulta [¿Cómo cambio la dirección de correo electrónico asociada a mi AWS cuenta?](https://aws.amazon.com//premiumsupport/knowledge-center/change-email-address/) o ponte en contacto con AWS Support. 

**Cambio de la dirección de correo electrónico de una cuenta creada por AWS Control Tower**

1.  Recupere la contraseña de usuario raíz de la cuenta. Puedes seguir los pasos del artículo [¿Cómo recupero una AWS contraseña perdida u olvidada?](https://aws.amazon.com//premiumsupport/knowledge-center/recover-aws-password/) 

1.  Inicie sesión en la cuenta con la contraseña de usuario raíz. 

1.  Cambia la dirección de correo electrónico como lo harías con cualquier otra Cuenta de AWS y espera a que el cambio se refleje AWS Organizations. Es posible que experimente un retraso mientras se actualiza el cambio de dirección de correo electrónico. 

1.  Actualice el producto aprovisionado en Service Catalog con la dirección de correo electrónico que anteriormente pertenecía a la cuenta. El proceso de actualización del producto aprovisionado incluye asociar la nueva dirección de correo electrónico al producto aprovisionado. De esta forma, el cambio de dirección de correo electrónico se aplicará en AWS Control Tower. Utilice la nueva dirección de correo electrónico para actualizar los productos aprovisionados posteriormente. 

Para cambiar la contraseña o la dirección de correo electrónico de una cuenta de miembro que haya creado con AWS Organizations, consulte [Accessing a member account as the root user](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_manage_accounts_access.html#orgs_manage_accounts_access-as-root) en la *Guía del usuario de AWS Organizations *. 

Como alternativa, puedes actualizar la dirección de correo electrónico de una cuenta de Account Factory u otra cuenta de miembro desde la AWS Organizations consola sin iniciar sesión como usuario root. Para obtener más información, consulte [Updating the root user email address for a member account with AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_update_primary_email.html) en la *Guía del usuario de AWS Organizations *.

# Cambio de nombre de una cuenta inscrita
<a name="change-account-name"></a>

Siga el procedimiento de esta sección para cambiar el nombre de una cuenta de AWS Control Tower inscrita.

**nota**  
Para cambiar el nombre de una cuenta de AWS *administrador*, debes tener permisos de administrador y haber iniciado sesión como usuario raíz de la cuenta. 

**Para cambiar el nombre de una cuenta creada por AWS Control Tower, mediante una AWS Organizations consola o APIs**
+ Siga las [instrucciones disponibles](https://docs.aws.amazon.com//accounts/latest/reference/manage-acct-update-acct-name.html#update-account-name-orgs) en la *Guía de referencia de administración de cuentas de AWS *.

**Métodos alternativo para cambiar el nombre de una cuenta creada por AWS Control Tower**

1. Recupere la contraseña raíz de la cuenta. Puede seguir los pasos descritos en este artículo, [¿Cómo recupero una AWS contraseña perdida u olvidada?](https://aws.amazon.com//premiumsupport/knowledge-center/recover-aws-password/)

1. Inicie sesión en la cuenta con la contraseña raíz.

1. En la AWS Billing consola, dirígete a la página de **configuración de la cuenta**.

1. Cambie el nombre en **Configuración de la cuenta** como lo haría con cualquier otra Cuenta de AWS.

1. AWS Control Tower se actualiza automáticamente para reflejar el cambio de nombre. Esta actualización no se reflejará en el producto aprovisionado en AWS Service Catalog.

# Configuración del generador de cuentas con los ajustes de Amazon Virtual Private Cloud
<a name="configuring-account-factory-with-VPC-settings"></a>

El generador de cuentas permite crear referencias preaprobadas y opciones de configuración de cuentas de su organización. Puede configurar y aprovisionar nuevas cuentas a través de AWS Service Catalog.

En la página Account Factory, puedes ver una lista de unidades organizativas (OUs) y su estado en la **lista de permitidos**. De forma predeterminada, todas OUs están en la lista de permitidos, lo que significa que las cuentas se pueden aprovisionar en ellas. Puedes inhabilitar algunas de ellas OUs para el aprovisionamiento de cuentas a través de. AWS Service Catalog

Puede ver las opciones de configuración de Amazon VPC disponibles para los usuarios finales cuando aprovisionan nuevas cuentas. 

**Configuración de los ajustes de Amazon VPC en el generador de cuentas**

1. Como administrador de la nube central, inicie sesión en la consola de AWS Control Tower con permisos de administrador en la cuenta de administración.

1. En el lado izquierdo del panel, seleccione **Generador de cuentas** para ir a la página de configuración de red del generador de cuentas. Aquí puede ver la configuración de red predeterminada. Para editar, seleccione **Editar** y vea la versión editable de las opciones de configuración de la red del generador de cuentas. 

1. Puede modificar cada campo de la configuración predeterminada según sea necesario. Elija las opciones de configuración de VPC que desea establecer para todas las cuentas nuevas del generador de cuentas que sus usuarios finales puedan crear e introduzca su configuración en los campos. 
+ Elija **inhabilitada** o **habilitada** para crear una subred pública en Amazon VPC. De forma predeterminada, la subred accesible a través de Internet está inhabilitada.
**nota**  
Si establece la configuración de VPC de Account Factory para que las subredes públicas estén **habilitadas** al aprovisionar una cuenta nueva, Account Factory configura Amazon VPC para crear una [gateway NAT](https://docs.aws.amazon.com//vpc/latest/userguide/vpc-nat-gateway.html). Amazon VPC le facturará por su uso. Para obtener más información, consulte [Precios de VPC](https://aws.amazon.com//vpc/pricing/). 
+ Elija en la lista el número máximo de subredes privadas en Amazon VPC. De forma predeterminada, se selecciona 1. El número máximo de subredes privadas permitidas es de 2 por zona de disponibilidad.
+  Introduce el rango de direcciones IP para crear tu cuenta VPCs. El valor debe tener la forma de bloque de enrutamiento entre dominios sin clase (CIDR) (por ejemplo, `172.31.0.0/16` es el predeterminado). Este bloque de CIDR proporciona el rango general de direcciones IP de subred para la VPC que el generador de cuentas crea para su cuenta. Dentro de su VPC, las subredes se asignan automáticamente desde el rango que especifique y tienen el mismo tamaño. De forma predeterminada, las subredes de la VPC no se solapan. Sin embargo, los intervalos de direcciones IP de subred VPCs de todas las cuentas aprovisionadas podrían superponerse.
+ Elija una región o todas las regiones para crear una VPC cuando se aprovisione una cuenta. De forma predeterminada, se seleccionan todas las regiones disponibles.
+ En la lista, seleccione el número de zonas de disponibilidad para las que configurar subredes en cada VPC. El número predeterminado y recomendado es 3.
+ Seleccione **Save**.

 Puede establecer estas opciones de configuración para crear nuevas cuentas que no incluyan una VPC. Consulte la [explicación](https://docs.aws.amazon.com//controltower/latest/userguide/configure-without-vpc.html).

# Anulación de la inscripción de una cuenta
<a name="unmanage-account"></a>

Si creó una cuenta en Account Factory o inscribió una Cuenta de AWS y ya no desea que AWS Control Tower administre la cuenta en una zona de aterrizaje, puede *anular la inscripción* de la cuenta desde la consola de AWS Control Tower. 

Al anular la inscripción de una cuenta de AWS Control Tower, se eliminan todos los recursos aprovisionados por AWS Control Tower, incluidos los controles y esquemas. La cuenta se migra de cualquier OU de AWS Control Tower al área **raíz**. La cuenta ya no forma parte de una unidad organizativa registrada y ya no está sujeta a AWS Control Tower SCPs. Puede cerrar la cuenta a través de AWS Organizations.

**Cómo anular la inscripción de una cuenta inscrita desde la consola de AWS Control Tower**

1. Abra la consola de AWS Control Tower en el navegador web en [https://console.aws.amazon.com/controltower](https://console.aws.amazon.com/controltower)

1. En el panel de navegación izquierdo, elija **Organización**.

1. En la página **Organización**, expanda la UO que contiene la cuenta seleccionando el botón **\$1** situado junto a la UO.

1. Seleccione la cuenta y, a continuación, elija **Anular la administración**.

**nota**  
Espere a que el estado de la cuenta muestre **No inscrita**.

Si ya no necesita la cuenta, ciérrela. Para obtener más información sobre el cierre de cuentas de AWS , consulte [Closing an account](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/close-account.html) en la *Guía del usuario de AWS Billing *.

**Cancelación de la inscripción de una cuenta cuando la inscripción automática está activa**  
Si la función de inscripción automática está activa en la página **Configuración**, también puede anular la inscripción de una cuenta moviéndola a una UO que no esté registrada en AWS Control Tower. Se eliminan todos los recursos de AWS Control Tower. Tenga en cuenta que no puede anular la inscripción de la cuenta accidentalmente de esta manera. Sin embargo, puede volver a inscribir la cuenta devolviéndola a la UO.

Al anular la inscripción de una cuenta personalizada, AWS Control Tower elimina los recursos que la zona de aterrizaje haya implementado, así como cualquier otro recurso que AWS Control Tower haya creado en la cuenta. AWS Control Tower también elimina el **AWSControlTowerExecution**rol, incluso si se agregó manualmente. La eliminación de este rol se ajusta al principio de privilegio mínimo, ya que un rol de ejecución de servicios no debe permanecer en una cuenta no administrada.

Después de cancelar la inscripción de la cuenta, puede cerrarla de la siguiente manera. AWS Organizations

**nota**  
Una cuenta no inscrita no se cierra ni se elimina. Si la cuenta no se ha inscrito, el usuario de IAM Identity Center seleccionado al crear la cuenta en el generador de cuentas sigue teniendo acceso administrativo a la cuenta. Si no desea que este usuario tenga acceso administrativo, debe cambiar esta configuración en IAM Identity Center actualizando la cuenta en el generador de cuentas y cambiando la dirección de correo electrónico del usuario de IAM Identity Center de la cuenta. Para obtener más información, consulte [Actualización y movimiento de cuentas con AWS Control Tower](updating-account-factory-accounts.md).

## Tutorial en vídeo
<a name="unmanage-account-video"></a>

En este vídeo (3:25) se describe cómo eliminar una cuenta de AWS Control Tower, cómo obtener acceso raíz a la cuenta y, por último, cómo cerrar la Cuenta de AWS. También puede cerrar una cuenta con [una API de AWS Organizations](https://docs.aws.amazon.com//controltower/latest/userguide/delete-account.html). Para una mejor visualización, seleccione el icono situado en la esquina inferior derecha del vídeo para agrandarlo a pantalla completa. Hay subtítulos disponibles.

[![AWS Videos](http://img.youtube.com/vi/n3eALEKZaHc/0.jpg)](http://www.youtube.com/watch?v=n3eALEKZaHc)


Puede ver una lista de AWS [YouTube vídeos](https://www.youtube.com/playlist?list=PLhr1KZpdzukdS9skEXbY0z67F-wrcpbjm) en los que se explican las tareas habituales en AWS Control Tower.

# Cierre de una cuenta creada en el generador de cuentas
<a name="delete-account"></a>

Las cuentas creadas en Account Factory son Cuentas de AWS. Para obtener más información acerca de cómo cerrar Cuentas de AWS, consulte [Closing an account](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/close-account.html) en la [https://docs.aws.amazon.com//accounts/latest/reference/manage-acct-closing.html ](https://docs.aws.amazon.com//accounts/latest/reference/manage-acct-closing.html ).

**nota**  
 Cerrar una cuenta no Cuenta de AWS es lo mismo que anular la inscripción de una cuenta de AWS Control Tower; se trata de acciones independientes. Debe anular la inscripción de la cuenta antes de cerrarla.

## Cierre una cuenta de miembro de la Torre de Control de AWS mediante AWS Organizations
<a name="close-account-with-orgs-api"></a>

Puede cerrar sus cuentas de miembro de AWS Control Tower desde la cuenta de administración de su organización sin necesidad de iniciar sesión en cada cuenta de miembro de forma individual con credenciales raíz, mediante AWS Organizations. Sin embargo, no puede cerrar su cuenta de administración de esta manera. 

Cuando llama a la AWS Organizations [CloseAccountAPI](https://docs.aws.amazon.com//organizations/latest/APIReference/API_CloseAccount.html) o cierra una cuenta en la AWS Organizations consola, la cuenta del miembro permanece aislada durante 90 días, como lo Cuenta de AWS haría cualquier otro día. La cuenta muestra un estado **Suspendido** en AWS Control Tower y AWS Organizations. Si se intenta trabajar con la cuenta durante esos 90 días, AWS Control Tower mostrará un mensaje de error.

**nota**  
Si una OU tiene cuentas suspendidas, EnabledControl las operaciones fallarán debido a los controles regionales del objetivo.

Antes de que venzan los 90 días, puede restaurar la cuenta de miembro, como puede hacer con cualquier otra Cuenta de AWS. Después de ese período de 90 días, los registros de la cuenta se eliminan.

Como práctica recomendada, anule la inscripción de la cuenta de miembro antes de cerrarla. Si cierra la cuenta de un miembro sin antes dejar de administrarla, AWS Control Tower mostrará el estado de la cuenta como **Suspendido**, pero también como **Inscrito**. Como resultado, si intenta **volver a registrar** la OU de la cuenta durante ese período de 90 días, AWS Control Tower mostrará un mensaje de error. Básicamente, la cuenta suspendida bloquea las acciones de nuevo registro con un error de comprobación previa. Si elimina la cuenta de la OU, puede **volver a registrarla**, pero AWS podría producirse un error relacionado con la falta de un método de pago para la cuenta. Para evitar esta restricción, cree otra OU y migre la cuenta a esa OU antes de intentar volver a registrarla. Se recomienda denominar a esta OU como OU **suspendida**.

**nota**  
Si no anula el registro de la cuenta antes de cerrarla, debe eliminar el producto aprovisionado de la cuenta una AWS Service Catalog vez transcurridos esos 90 días.

[Para obtener más información, consulta la AWS Organizations documentación sobre la CloseAccount API.](https://docs.aws.amazon.com//organizations/latest/APIReference/API_CloseAccount.html)

# Consideraciones sobre los recursos del generador de cuentas
<a name="account-factory-considerations"></a>

Cuando se aprovisiona una cuenta con Account Factory, se crean los siguientes AWS recursos dentro de la cuenta.


| AWS servicio | Tipo de recurso | Nombre del recurso | 
| --- | --- | --- | 
| AWS CloudFormation | Pilas |  StackSet-AWSControlTowerBP-BASELINE-CLOUDTRAIL-\$1 StackSet-AWSControlTowerBP-BASELINE-CLOUDWATCH-\$1 StackSet-AWSControlTowerBP-BASELINE-CONFIG-\$1 StackSet-AWSControlTowerBP-BASELINE-ROLES-\$1 StackSet-AWSControlTowerBP-BASELINE-SERVICE-ROLES-\$1  | 
| AWS CloudTrail | Trail | aws-controltower-BaselineCloudTrail | 
| Amazon CloudWatch | CloudWatch Reglas del evento | aws-controltower-ConfigComplianceChangeEventRule | 
| Amazon CloudWatch | CloudWatch Registros | aws-controltower/CloudTrailLogs /aws/lambda/aws-controltower-NotificationForwarder | 
| AWS Identity and Access Management | Roles | aws-controltower-AdministratorExecutionRole aws-controltower-CloudWatchLogsRole aws-controltower-ConfigRecorderRole aws-controltower-ForwardSnsNotificationRole aws-controltower-ReadOnlyExecutionRole  AWSControlTowerExecution | 
| AWS Identity and Access Management | Políticas | AWSControlTowerServiceRolePolicy  | 
| Amazon Simple Notification Service | Temas | aws-controltower-SecurityNotifications | 
| AWS Lambda | Aplicaciones | StackSet-AWSControlTowerBP-BASELINE-CLOUDWATCH-\$1 | 
| AWS Lambda | Funciones | aws-controltower-NotificationForwarder | 
| Amazon EventBridge | Regla | AWSControlTowerManagedRule | 
| Amazon EventBridge | Regla | aws-controltower-ConfigComplianceChangeEventRule | 

# Personalización de cuentas con la personalización del generador de cuentas (AFC)
<a name="af-customization-page"></a>

**nota**  
El aprovisionamiento, la actualización y la personalización de una sola cuenta deben dirigirse a una unidad organizativa (OU) que AWSControl TowerBaseline esté habilitada. Si una OU no tiene AWSControl TowerBaseline habilitada la OU, puede activar la inscripción automática de la cuenta o utilizar ResetEnabledBaseline y ResetEnabledControl APIs EnabledControls activar EnabledBaselines y cerrar esa OU para inscribir cuentas. Para obtener más información sobre AWSControlTowerBaseline, consulte:[Tipos de referencia que se aplican a nivel de unidad organizativa](types-of-baselines.md#ou-baseline-types). 

AWS Control Tower le permite personalizar los nuevos y los existentes Cuentas de AWS al aprovisionar sus recursos desde la consola de AWS Control Tower. Tras configurar la personalización de Account Factory, AWS Control Tower automatiza este proceso para aprovisionamiento futuro, por lo que no tendrá que mantener ninguna canalización. Las cuentas personalizadas están disponibles para su uso justo después de aprovisionar los recursos.

**Aprovisionamiento de cuentas nuevas con esquemas**

Sus cuentas personalizadas se aprovisionan en AWS Control Tower Account Factory, mediante CloudFormation plantillas o con Terraform. Definirá una plantilla que servirá como *esquema* de cuenta personalizada. El esquema describe los recursos y configuraciones específicos que se necesitan cuando se aprovisiona una cuenta. También están disponibles planos predefinidos, creados y gestionados por AWS socios. Para obtener más información sobre los esquemas que administran los socios, consulte [AWS Service Catalog Getting Started Library](https://docs.aws.amazon.com//servicecatalog/latest/adminguide/getting-started-library.html).

**Aplicación de esquemas a las cuentas existentes**

También puede aplicar esquemas personalizados a las cuentas existentes siguiendo los pasos **Actualizar cuenta** en la consola de AWS Control Tower. Para obtener más información, consulte [Actualización de la cuenta en la consola](updating-account-factory-accounts.md#update-account-in-console).

**Definición: tu cuenta central**

*Los planos de su cuenta se almacenan en una cuenta que Cuenta de AWS, para nuestros fines, se denomina cuenta central.* Los esquemas se almacenan en forma de producto de Service Catalog. A este producto lo denominamos esquema para distinguirlo de cualquier otro producto de Service Catalog. Para obtener más información sobre cómo crear productos de Service Catalog, consulte [Creating products](https://docs.aws.amazon.com//servicecatalog/latest/adminguide/productmgmt-cloudresource.html) en la *Guía del administrador de AWS Service Catalog *.

**nota**  
AWS Control Tower contiene *controles proactivos* que supervisan los recursos de CloudFormation en AWS Control Tower. Si lo desea, puede activar estos controles en la zona de aterrizaje. Al aplicar controles proactivos, estos comprueban que los recursos que se van a implementar en las cuentas cumplen las políticas y los procedimientos de su organización. Para obtener más información sobre los controles proactivos, consulte [Proactive controls](https://docs.aws.amazon.com//controltower/latest/userguide/proactive-controls.html).

Para obtener más información sobre cómo trabajar con AFC, consulte [Automate account customization using Account Factory Customization en AWS Control Tower](https://aws.amazon.com//blogs/mt/automate-account-customization-using-account-factory-customization-in-aws-control-tower/).

**Requisitos previos**  
Antes de empezar a crear cuentas personalizadas con el generador de cuentas de AWS Control Tower, debe tener implementado un entorno de zona de aterrizaje de AWS Control Tower, así como una unidad organizativa (OU) registrada en AWS Control Tower, donde se colocarán las cuentas recién creadas.

**Preparación para la personalización**
+ *Designe una cuenta central:* puede crear una cuenta nueva para que sirva como cuenta central o puede usar una existente Cuenta de AWS. Le recomendamos encarecidamente que no utilice la cuenta de administración de AWS Control Tower como cuenta central de esquema.
+ *Agregue el rol necesario:* si planea inscribirse Cuentas de AWS en AWS Control Tower y personalizarlos, primero debe agregar el `AWSControlTowerExecution` rol a esas cuentas, como lo haría con cualquier otra cuenta que esté inscribiendo en AWS Control Tower.
+ *Configurar esquemas de socios (opcional):* si tiene previsto utilizar esquemas de socios con requisitos de suscripción a marketplace, debe configurarlos desde la cuenta de administración de AWS Control Tower antes de implementar los esquemas de socios como esquemas de personalización.

**Topics**
+ [Configuración para la personalización](afc-setup-steps.md)
+ [Creación de una cuenta personalizada a partir de un esquema](create-afc-customized-account.md)
+ [Personalización de cuentas con AFC a medida que las inscribe](enroll-and-customize.md)
+ [Adición de un esquema a una cuenta de AWS Control Tower](add-blueprint-to-account.md)
+ [Actualización de un esquema](update-a-blueprint.md)
+ [Eliminación de un esquema de una cuenta](remove-a-blueprint.md)
+ [Esquemas de socios](partner-blueprints.md)
+ [Consideraciones para las personalizaciones del generador de cuentas (AFC)](#af-limitations)
+ [En caso de que se produzca un error de esquema](#af-error)
+ [Personalizar su documento de política para los planes de AFC en función de CloudFormation](#custom-policy-document)
+ [Permisos adicionales necesarios para crear un producto de Service Catalog basado en Terraform](#custom-policy-document-tf)
+ [Transición al tipo de producto AWS Service Catalog externo](#service-catalog-external-product-type)

# Configuración para la personalización
<a name="afc-setup-steps"></a>

En las secciones siguientes se indican los pasos para configurar el generador de cuentas para el proceso de personalización. Le recomendamos que configure un [administrador delegado](https://docs.aws.amazon.com//accounts/latest/reference/using-orgs-delegated-admin.html) para la cuenta central antes de comenzar con estos pasos.

**Resumen**
+ **Paso 1. Creación del rol necesario.** Cree un rol de IAM que conceda permiso para que AWS Control Tower tenga acceso a la cuenta (central), donde se almacenan los productos de Service Catalog, también denominados esquemas.
+ **Paso 2. Cree el AWS Service Catalog producto.** Cree el producto de AWS Service Catalog (también denominado “producto de esquema”) que necesitará para crear la cuenta personalizada.
+ **Paso 3. Revisión del esquema personalizado.** Inspecciona el AWS Service Catalog producto (plano) que has creado.
+ **Paso 4. Llamada al esquema para crear una cuenta personalizada.** Introduzca la información del producto de esquema y la información del rol en los campos adecuados del generador de cuentas, en la consola de AWS Control Tower, mientras crea la cuenta.

# Paso 1. Creación del rol necesario
<a name="step-1-create-blueprint-access-role"></a>

Antes de empezar a personalizar las cuentas, debe configurar un rol que contenga una relación de confianza entre AWS Control Tower y la cuenta central. Cuando se asume, el rol otorga acceso a AWS Control Tower para administrar los recursos en la cuenta central. El rol debe tener un nombre **AWSControlTowerBlueprintAccess**. 

AWS Control Tower asume esta función para crear un recurso de cartera en su nombre y, a continuación AWS Service Catalog, añadir su plan como producto de Service Catalog a esta cartera y, a continuación, compartir esta cartera y su plan con su cuenta de miembro durante el aprovisionamiento de la cuenta.

Deberá crear el rol `AWSControlTowerBlueprintAccess`, como se explica en las siguientes secciones. Puede configurar el rol en una cuenta inscrita o no inscrita.

**Vaya a la consola de IAM para configurar el rol necesario.**  


**Para configurar el AWSControl TowerBlueprintAccess rol en una cuenta de AWS Control Tower inscrita**

1. Federe o inicie sesión como entidad principal en la cuenta de administración de AWS Control Tower.

1. Desde la entidad principal federada de la cuenta de administración, asuma o cambie los roles al rol `AWSControlTowerExecution` de la cuenta inscrita de AWS Control Tower que seleccione para que sirva como cuenta central de esquema. 

1. Desde el rol `AWSControlTowerExecution` de la cuenta inscrita de AWS Control Tower, cree el rol `AWSControlTowerBlueprintAccess` con los permisos y las relaciones de confianza adecuados.

**importante**  
Para cumplir con la guía de prácticas AWS recomendadas, es importante que cierre sesión en el `AWSControlTowerExecution` puesto inmediatamente después de `AWSControlTowerBlueprintAccess` crearlo.  
Para evitar cambios involuntarios en los recursos, el rol `AWSControlTowerExecution` es para uso exclusivo de AWS Control Tower.

Si la cuenta central de esquema no está inscrita en AWS Control Tower, el rol `AWSControlTowerExecution` no existirá en la cuenta y no será necesario asumirlo antes de continuar con la configuración del rol `AWSControlTowerBlueprintAccess`. 

**Para configurar el AWSControl TowerBlueprintAccess rol en una cuenta de miembro no inscrita**

1. Federe o inicie sesión como entidad principal en la cuenta que desee designar como cuenta central mediante el método que prefiera.

1. Cuando haya iniciado sesión como entidad principal en la cuenta, cree el rol `AWSControlTowerBlueprintAccess` con los permisos y las relaciones de confianza adecuados.

El **AWSControlTowerBlueprintAccess**rol debe configurarse de manera que otorgue confianza a dos directores:
+ La entidad principal (usuario) que ejecuta AWS Control Tower en la cuenta de administración de AWS Control Tower. 
+ El rol denominado `AWSControlTowerAdmin` de la cuenta de administración de AWS Control Tower.

A continuación, se muestra un ejemplo de política de confianza, similar a la que tendrá que incluir para su rol. Esta política constituye una práctica recomendada para otorgar el acceso a los privilegios mínimos. Cuando cree su propia política, sustituya el término *YourManagementAccountId* por el ID real de la cuenta de administración de AWS Control Tower y sustituya el término *YourControlTowerUserRole* por el identificador del rol de IAM de la cuenta de administración.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/service-role/AWSControlTowerAdmin",
                    "arn:aws:iam::111122223333:role/YourControlTowerUserRole"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

**Política de permisos necesaria**

AWS Control Tower requiere que la política administrada denominada `AWSServiceCatalogAdminFullAccess` esté asociada al rol `AWSControlTowerBlueprintAccess`. Esta política proporciona los permisos que AWS Service Catalog busca cuándo permite a AWS Control Tower administrar su cartera y los recursos de sus AWS Service Catalog productos. Puede asociar esta política al crear el rol en la consola de IAM.

**Pueden ser necesarios permisos adicionales**  
Si almacena los esquemas en Amazon S3, AWS Control Tower también requiere la política de permisos `AmazonS3ReadOnlyAccess` para el rol `AWSControlTowerBlueprintAccess`.
**El tipo de producto AWS Service Catalog Terraform requiere que añada algunos permisos adicionales a la política de IAM personalizada de AFC si no utiliza la política de administración predeterminada.** Requiere estos permisos además de los necesarios para crear los recursos que defina en la plantilla de Terraform.

# Paso 2. Crea el producto AWS Service Catalog
<a name="step-2-create-blueprint-product"></a>

Para crear un AWS Service Catalog producto, siga los pasos que se indican en la [sección Creación de productos](https://docs.aws.amazon.com//servicecatalog/latest/adminguide/productmgmt-cloudresource.html) de la *Guía AWS Service Catalog del administrador*. Cuando crees el AWS Service Catalog producto, añadirás el esquema de tu cuenta como plantilla.

**importante**  
*Como resultado de la actualización de las licencias HashiCorp de Terraform, se AWS Service Catalog cambió el soporte para los productos de *código abierto de Terraform* y se aprovisionaron los productos a un nuevo tipo de producto, denominado Externo.* Para obtener más información sobre cómo afecta este cambio a AFC, incluida la forma de actualizar los esquemas de cuentas actuales al tipo de producto externo, consulte [Transition to External product type](af-customization-page.md#service-catalog-external-product-type). 

**Resumen de los pasos para la creación de un esquema**
+ Cree o descargue una CloudFormation plantilla o un archivo de configuración tar.gz de Terraform que se convertirá en el esquema de su cuenta. Algunos ejemplos de plantillas se proporcionan más adelante en esta sección.
+ Inicia sesión en el Cuenta de AWS lugar donde guardas los planos de Account Factory (a veces denominada cuenta hub).
+ Navega hasta la AWS Service Catalog consola. Seleccione **Lista de productos** y, a continuación, **Cargar nuevo producto**.
+ En el panel **Detalles del producto**, introduzca los detalles del producto de esquema, como el nombre y la descripción.
+ Seleccione **Usar un archivo de plantilla** y, a continuación, **Elegir archivo**. Seleccione o pegue la plantilla o el archivo de configuración que ha desarrollado o descargado para utilizarlo como esquema.
+ Seleccione **Crear producto** en la parte inferior de la página de la consola.

 Puede descargar una CloudFormation plantilla del repositorio de arquitectura de AWS Service Catalog referencia. [Un ejemplo de ese repositorio ayuda a configurar un plan de copia de seguridad para los recursos](https://github.com/aws-samples/aws-service-catalog-reference-architectures/blob/master/backup/backup-tagoptions.yml). 

A continuación, se muestra un ejemplo de plantilla para una empresa ficticia llamada **Best Pets**. Ayuda a establecer una conexión con su base de datos de mascotas.

```
Resources:
  ConnectionStringGeneratorLambdaRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"		 	 	 
        Statement:
          - Effect: Allow
            Principal:
              Service:
                - lambda.amazonaws.com
            Action:
              - "sts:AssumeRole"
  ConnectionStringGeneratorLambda:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: !Join ['-', ['ConnectionStringGenerator', !Select [4, !Split ['-', !Select [2, !Split ['/', !Ref AWS::StackId]]]]]]
      Description: Retrieves the connection string for this account to access the Pet Database
      Role: !GetAtt ConnectionStringGeneratorLambdaRole.Arn
      Runtime: nodejs22.x
      Handler: index.handler
      Timeout: 5
      Code:
        ZipFile: >
           export const handler = async (event, context) => {
             const awsAccountId = context.invokedFunctionArn.split(“:”)[4]
             const connectionString= “fake connection for account ” + awsAccountId;
             const response = {
               statusCode: 200,
               body: connectionString
             };
           return response;
          };

  ConnectionString:
    Type: Custom::ConnectionStringGenerator
    Properties:
      ServiceToken: !GetAtt ConnectionStringGeneratorLambda.Arn

  PetDatabaseConnectionString:
    DependsOn: ConnectionString
    # For example purposes we're using SSM parameter store.
    # In your template, use secure alternatives to store
    # sensitive values such as connection strings.
    Type: AWS::SSM::Parameter
    Properties: 
      Name: pet-database-connection-string
      Description: Connection information for the BestPets pet database
      Type: String
      Value: !GetAtt ConnectionString.Value
```

# Paso 3. Revisión del esquema personalizado
<a name="step-3-review-blueprint"></a>

Puede ver su plano en la AWS Service Catalog consola. Para obtener más información, consulte [Managing products](https://docs.aws.amazon.com//servicecatalog/latest/adminguide/catalogs_products.html#productmgmt-menu) en la *Guía del administrador de Service Catalog*.

# Paso 4. Llamada al esquema para crear una cuenta personalizada
<a name="step-4-call-the-blueprint"></a>

Cuando siga el flujo de trabajo **Crear cuenta** en la consola de AWS Control Tower, verá una sección opcional en la que puede introducir información sobre el esquema que desea utilizar para personalizar las cuentas.

**Requisitos previos**  
Debe configurar la cuenta central de personalización y añadir al menos un esquema (producto de Service Catalog) antes de poder introducir esa información en la consola de AWS Control Tower y comenzar a aprovisionar cuentas personalizadas.

**Cree o actualice una cuenta personalizada en la consola de AWS Control Tower.**

1. Introduzca el ID de la cuenta que contiene los esquemas.

1. Desde esa cuenta, seleccione un producto existente de Service Catalog (esquema existente).

1. Seleccione la versión adecuada del esquema (producto de Service Catalog), si tiene más de una versión.

1. (Opcional) En este punto del proceso, puede añadir o cambiar la política de aprovisionamiento de esquemas. La política de aprovisionamiento de esquemas se escribe en JSON y se asocia a un rol de IAM para que pueda aprovisionar los recursos que se especifican en la plantilla de esquemas. AWS Control Tower crea este rol en la cuenta del miembro para que Service Catalog pueda implementar recursos mediante conjuntos de CloudFormation pilas. El rol se denomina `AWSControlTower-BlueprintExecution-bp-xxxx`. La política `AdministratorAccess` se aplica aquí de forma predeterminada. 

1. Elija la Región de AWS o las regiones en las que desee implementar las cuentas según este plan.

1. Si el esquema contiene parámetros, puede introducir los valores de los parámetros en campos adicionales del flujo de trabajo de AWS Control Tower. Los valores adicionales pueden incluir: un nombre de GitHub repositorio, una GitHub rama, un nombre de clúster de Amazon ECS y una GitHub identidad del propietario del repositorio.

1. Puede personalizar las cuentas más adelante siguiendo el proceso de **actualización de cuentas**, si la cuenta central o los esquemas aún no están listos.

Para obtener más información, consulte [Creación de una cuenta personalizada a partir de un esquema](create-afc-customized-account.md).

# Creación de una cuenta personalizada a partir de un esquema
<a name="create-afc-customized-account"></a>

Una vez creados los esquemas personalizados, puede empezar a crear cuentas personalizadas en el generador de cuentas de AWS Control Tower. 

**Siga estos pasos para implementar un plan personalizado cuando cree una AWS cuenta nueva:**

1. Diríjase a la Torre de Control de AWS en Consola de administración de AWS. 

1. Seleccione **Generador de cuentas** y **Crear cuenta**.

1. Introduzca los detalles de la cuenta, como el nombre y la dirección de correo electrónico.

1. Configure los detalles de IAM Identity Center con la dirección de correo electrónico y el nombre de usuario. 

1. Seleccione una OU registrada a la que se añadirá la cuenta.

1. Amplíe la sección **Personalización del Generador de cuentas**.

1. Introduzca el ID de la cuenta central de esquema que contiene los productos de Service Catalog y seleccione **Validar**. Para obtener más información acerca de una cuenta central de esquema, consulte [Personalización de cuentas con la personalización del generador de cuentas (AFC)](af-customization-page.md).

1. Seleccione el menú desplegable que contiene todos los esquemas de la lista de productos de Service Catalog (todos los esquemas personalizados y de socios). Elija un esquema y la versión correspondiente que desee implementar. 

1. Si el esquema contiene parámetros, se mostrarán estos campos para que los rellene. Los valores predeterminados se rellenan automáticamente. 

1. Por último, seleccione dónde va a implementar el esquema, ya sea en la **región de origen** o en **todas las regiones gobernadas**. Es posible que los recursos globales, como Route 53 o IAM, deban implementarse en una sola región. Los recursos regionales, como las instancias de Amazon EC2 o buckets de Amazon S3, podrían implementarse en todas las regiones gobernadas.

1. Una vez completados todos los campos, seleccione **Crear cuenta**.

**nota**  
Los esquemas creados con Terraform solo se pueden implementar en una región y no en varias.

Puede ver el progreso del aprovisionamiento de la cuenta en la página **Organización**. Cuando se complete el aprovisionamiento de la cuenta, los recursos especificados en el esquema ya estarán implementados en ella. Para ver los detalles de la cuenta y el esquema, vaya a la página **Detalles de la cuenta**.

# Personalización de cuentas con AFC a medida que las inscribe
<a name="enroll-and-customize"></a>

Inscripción y personalización de cuentas en la consola de AWS Control Tower. 

1. Vaya a la consola de AWS Control Tower y seleccione **Organización** en el panel de navegación izquierdo.

1. Verá una lista completa de las cuentas disponibles. Identifique la cuenta que desea inscribir con un esquema personalizado. La columna **Estado** de esa cuenta debe reflejar la cuenta en estado **No inscrito**.

1. Seleccione el botón de opción situado a la izquierda de la cuenta y elija el menú desplegable **Acciones** en la parte superior derecha de la pantalla. Aquí seleccionará la opción **Inscribir**.

1. Complete la sección **Configuración de acceso** con la información de IAM Identity Center de la cuenta.

1. Seleccione la OU registrada a la que pertenecerá su cuenta.

1. Complete la sección **Personalización del generador de cuentas** siguiendo los mismos pasos del 7 al 12 del procedimiento **Crear cuenta**. Para obtener más información, consulte [Aprovisionar cuentas de Account Factory con AWS Service Catalog](https://docs.aws.amazon.com/controltower/latest/userguide/provision-as-end-user.html). 

Puede ver el estado del progreso de la cuenta en la página **Organización**. Una vez completada la inscripción de la cuenta, los recursos especificados en el esquema ya estarán implementados en ella.

# Adición de un esquema a una cuenta de AWS Control Tower
<a name="add-blueprint-to-account"></a>

 Para añadir un esquema a una cuenta de miembro de AWS Control Tower existente, siga el flujo de trabajo **Actualizar cuenta** en la consola de AWS Control Tower y elija un esquema nuevo para añadirlo a la cuenta. Para obtener más información, consulte [Update and move Account Factory accounts with AWS Control Tower or with AWS Service Catalog](https://docs.aws.amazon.com/controltower/latest/userguide/updating-account-factory-accounts.html#update-account-in-console). 

**nota**  
 Si añade un esquema nuevo a una cuenta, se sobrescribirá el esquema existente. 

**nota**  
Se puede implementar un esquema por cada cuenta de AWS Control Tower.

# Actualización de un esquema
<a name="update-a-blueprint"></a>

En los procedimientos siguientes se describe cómo actualizar esquemas personalizados y cómo implementarlos.

**Actualización de los esquemas personalizados**

1. Actualice su CloudFormation plantilla o el archivo tar.gz de Terraform (blueprint) con sus nuevas configuraciones.

1. Guarde el esquema actualizado como una versión nueva en AWS Service Catalog.

**Implementación del esquema actualizado**

1. Vaya a la página **Organización** de la consola de AWS Control Tower.

1. Filtre la página **Organización** por nombre y versión del esquema.

1. Siga el proceso **Actualizar cuenta** e implemente la última versión del esquema en la cuenta.

**Si la actualización de un esquema no se realiza correctamente**

AWS Control Tower permite actualizar los esquemas cuando el producto aprovisionado se encuentra en estado `AVAILABLE`. Si el producto aprovisionado está en un estado `TAINTED`, la actualización producirá un error. Le recomendamos la siguiente solución alternativa:

1. En la AWS Service Catalog consola, actualice manualmente el producto `TAINTED` aprovisionado para cambiar el estado a. `AVAILABLE` Para obtener más información, consulte [Updating provisioned products](https://docs.aws.amazon.com//servicecatalog/latest/userguide/enduser-update.html).

1. A continuación, siga el proceso de actualización de la cuenta desde AWS Control Tower para corregir el error de implementación del esquema.

*Recomendamos este paso manual porque:* al eliminar un esquema, es posible que se eliminen recursos de la cuenta de miembro. La eliminación de recursos puede afectar a las cargas de trabajo existentes. Por este motivo, recomendamos este método en lugar de la forma alternativa de actualización de un esquema, que consiste en eliminar y reemplazar el esquema original, especialmente si está ejecutando cargas de trabajo de producción.

# Eliminación de un esquema de una cuenta
<a name="remove-a-blueprint"></a>

Para eliminar un esquema de una cuenta, siga el flujo de trabajo **Actualizar cuenta** para eliminar el esquema y devolver la cuenta a las configuraciones predeterminadas de AWS Control Tower. 

Al introducir el flujo de trabajo **Actualizar cuenta** en la consola, verá que se rellenan todos los detalles de la cuenta pero no los detalles de personalización. Si deja estos detalles de AFC en blanco, AWS Control Tower eliminará el esquema de la cuenta. Verá un mensaje de advertencia antes de que comience la acción.

**nota**  
AWS Control Tower añade un esquema a una cuenta solo si selecciona un esquema durante el proceso **Crear cuenta** o **Actualizar cuenta**.

# Esquemas de socios
<a name="partner-blueprints"></a>

AWS Control Tower Account Factory Customization (AFC) proporciona acceso a planos de personalización predefinidos que crean y administran los socios. AWS Estos esquemas de socios le ayudan a personalizar sus cuentas para casos de uso específicos. Los esquemas de cada socio le ayudan a crear cuentas personalizadas, que están preconfiguradas para que funcionen con las ofertas de productos de ese socio en particular.

 Para ver una lista completa de los esquemas de socios de AWS Control Tower, vaya a la **biblioteca de introducción** de Service Catalog en la consola. Busque el tipo de origen **esquemas de AWS Control Tower**. 

## Consideraciones para las personalizaciones del generador de cuentas (AFC)
<a name="af-limitations"></a>
+ AFC admite la personalización mediante un único AWS Service Catalog producto de diseño.
+ Los productos AWS Service Catalog blueprint deben crearse en la cuenta hub y en la misma región que la región de origen de la zona de aterrizaje de AWS Control Tower.
+ El rol de IAM `AWSControlTowerBlueprintAccess` debe crearse con el nombre, los permisos y la política de confianza adecuados.
+ AWS Control Tower admite dos opciones de implementación para los esquemas: implementarlos solo en la región de origen o implementarlos en todas las regiones gobernadas por AWS Control Tower. La selección de regiones no está disponible. 
+ Al actualizar un blueprint en una cuenta de miembro, el ID de la cuenta de blueprint hub y el producto del AWS Service Catalog blueprint no se pueden cambiar.
+ AWS Control Tower no admite la eliminación de un esquema existente ni la adición de uno nuevo en una única operación de actualización de esquemas. Puede eliminar un esquema y, a continuación, añadir uno nuevo en dos operaciones distintas.
+ AWS Control Tower cambia el comportamiento en función de si crea o inscribe cuentas personalizadas o no personalizadas. Si no se crean o inscriben cuentas personalizadas con esquemas, AWS Control Tower creará un producto aprovisionado del generador de cuentas (a través de Service Catalog) en la cuenta de administración de AWS Control Tower. Si especifica la personalización al crear o inscribir cuentas con esquemas, AWS Control Tower no creará un producto aprovisionado del generador de cuentas en la cuenta de administración de AWS Control Tower.

## En caso de que se produzca un error de esquema
<a name="af-error"></a>

**Error en la aplicación de un esquema**

Si se produce un error durante el proceso de aplicación de un esquema a una cuenta (ya sea una cuenta nueva o una cuenta existente que se está inscribiendo en AWS Control Tower), el procedimiento de recuperación es el mismo. La cuenta existirá, pero no estará personalizada ni inscrita en AWS Control Tower. Si desea continuar, siga los pasos para inscribir la cuenta en AWS Control Tower y añada el esquema en el momento de la inscripción.

**Error en la creación del rol `AWSControlTowerBlueprintAccess` y soluciones alternativas**

Al crear el rol `AWSControlTowerBlueprintAccess` desde una cuenta de AWS Control Tower, deberá iniciar sesión como entidad principal con el rol `AWSControlTowerExecution`. Si inicia sesión con cualquier otro usuario, una SCP impedirá la operación `CreateRole`, como se muestra en el siguiente artefacto:

```
{
            "Condition": {
                "ArnNotLike": {
                    "aws:PrincipalArn": [
                        "arn:aws:iam::*:role/AWSControlTowerExecution",
                        "arn:aws:iam::*:role/stacksets-exec-*"
                    ]
                }
            },
            "Action": [
                "iam:AttachRolePolicy",
                "iam:CreateRole",
                "iam:DeleteRole",
                "iam:DeleteRolePermissionsBoundary",
                "iam:DeleteRolePolicy",
                "iam:DetachRolePolicy",
                "iam:PutRolePermissionsBoundary",
                "iam:PutRolePolicy",
                "iam:UpdateAssumeRolePolicy",
                "iam:UpdateRole",
                "iam:UpdateRoleDescription"
            ],
            "Resource": [
                "arn:aws:iam::*:role/aws-controltower-*",
                "arn:aws:iam::*:role/*AWSControlTower*",
                "arn:aws:iam::*:role/stacksets-exec-*"
            ],
            "Effect": "Deny",
            "Sid": "GRIAMROLEPOLICY"
        }
```

Están disponibles las siguientes soluciones alternativas:
+ (La más recomendada) Asuma el rol `AWSControlTowerExecution` y cree el rol `AWSControlTowerBlueprintAccess`. Si elige esta solución alternativa, asegúrese de cerrar sesión en el rol `AWSControlTowerExecution` inmediatamente después para evitar cambios no intencionados en los recursos.
+ Inicie sesión en una cuenta que no esté inscrita en AWS Control Tower y, por lo tanto, no esté sujeta a esta SCP.
+ Edite temporalmente esta SCP para permitir la operación.
+ (No se recomienda en absoluto) Utilice la cuenta de administración de AWS Control Tower como cuenta central, de modo que no esté sujeta a la SCP.

## Personalizar su documento de política para los planes de AFC en función de CloudFormation
<a name="custom-policy-document"></a>

Cuando habilita un blueprint a través de la fábrica de cuentas, AWS Control Tower le indica CloudFormation que cree uno StackSet en su nombre. CloudFormation requiere acceso a su cuenta gestionada para crear CloudFormation pilas en. StackSet Aunque CloudFormation ya tiene privilegios de administrador en la cuenta gestionada a través del `AWSControlTowerExecution` rol, este rol no lo puede asumir. CloudFormation

Como parte de la habilitación de un plan, AWS Control Tower crea un rol en la cuenta del miembro, que CloudFormation puede asumir que debe completar las tareas StackSet de administración. La forma más sencilla de habilitar el esquema personalizado a través del generador de cuentas es utilizar una política que lo *permita todo*, ya que esas políticas son compatibles con cualquier plantilla de esquema.

Sin embargo, las prácticas recomendadas sugieren que debe restringir los permisos CloudFormation en la cuenta de destino. Puede proporcionar una política personalizada, que AWS Control Tower aplicará al rol que cree CloudFormation para su uso. Por ejemplo, si el esquema crea un parámetro SSM denominado *algo-importante*, puede proporcionar la siguiente política:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCloudFormationActionsOnStacks",
            "Effect": "Allow",
            "Action": "cloudformation:*",
            "Resource": "arn:aws:cloudformation:*:*:stack/*"
        },
        {
            "Sid": "AllowSsmParameterActions",
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter",
                 "ssm:DeleteParameter",
                 "ssm:GetParameter",
                 "ssm:GetParameters"
            ],
            "Resource": "arn:*:ssm:*:*:parameter/something-important"
        }
    ]
}
```

------

La `AllowCloudFormationActionsOnStacks` declaración es obligatoria para todas las políticas personalizadas de AFC; CloudFormation utiliza esta función para crear instancias de pila, por lo que necesita permiso para realizar CloudFormation acciones en las pilas. La sección `AllowSsmParameterActions` es específica de la plantilla que se va a habilitar.

**Resolución de problemas de permisos**

Al habilitar un esquema con una política restringida, es posible que no haya suficientes permisos para habilitarlo. Para resolver estos problemas, revise el documento de política y actualice las preferencias de esquema de la cuenta de miembro para utilizar la política corregida. Para comprobar que la política es suficiente para habilitar el blueprint, asegúrate de que se concedan los CloudFormation permisos y de que puedes crear una pila directamente con esa función.

## Permisos adicionales necesarios para crear un producto de Service Catalog basado en Terraform
<a name="custom-policy-document-tf"></a>

Al crear un producto AWS Service Catalog externo con un archivo de configuración de Terraform para AFC, es AWS Service Catalog necesario añadir ciertos permisos a la política de IAM personalizada de AFC, además de los permisos necesarios para crear los recursos definidos en la plantilla. Si elige la política de **administración** completa predeterminada, no es necesario que añada estos permisos adicionales.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "resource-groups:CreateGroup",
                "resource-groups:ListGroupResources",
                "resource-groups:DeleteGroup",
                "resource-groups:Tag"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "tag:GetResources",
                "tag:GetTagKeys",
                "tag:GetTagValues",
                "tag:TagResources",
                "tag:UntagResources"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": "s3:GetObject",
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:ExistingObjectTag/servicecatalog:provisioning": "true"
                }
            }
        }
    ]
}
```

------

Para obtener más información sobre la creación de productos Terraform mediante el tipo de producto externo en AWS Service Catalog, consulte el [paso 5: Crear funciones de lanzamiento](https://docs.aws.amazon.com//servicecatalog/latest/adminguide/getstarted-launchrole-Terraform.html) en la Guía del administrador de Service Catalog.

## Transición al tipo de producto AWS Service Catalog externo
<a name="service-catalog-external-product-type"></a>

AWS Service Catalog *cambió el soporte para los productos de *código abierto de Terraform* y los productos aprovisionados por un nuevo tipo de producto, denominado Externo.* Para obtener más información sobre esta transición, consulte [Updating existing Terraform Open Source products and provisioned products to the External product type](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/update_terraform_open_source_to_external.html) en la *Guía del administrador de AWS Service Catalog *. 

Este cambio afecta a las cuentas existentes que haya creado o inscrito con la personalización del generador de cuentas de AWS Control Tower. Para pasar estas cuentas al tipo de producto *externo*, debe realizar cambios tanto en AWS Service Catalog como en AWS Control Tower. 

**Transición al tipo de producto externo**

1. Actualice su motor de referencia de Terraform actual para incluir soporte para AWS Service Catalog los tipos de productos *externos* y de código *abierto de Terraform*. [Para obtener instrucciones sobre cómo actualizar su motor de referencia de Terraform, consulte el repositorio.AWS Service Catalog GitHub ](https://github.com/aws-samples/service-catalog-engine-for-terraform-os)

1. *En AWS Service Catalog, duplique todos los productos de *código abierto de Terraform* (planos) existentes y utilice el nuevo tipo de producto externo para los duplicados.* **No finalice los esquemas existentes de código abierto de Terraform**. 

1. En AWS Control Tower, actualice cada cuenta con un esquema de *código abierto de Terraform* para utilizar el nuevo esquema *externo*. 

   1. Para actualizar un esquema, primero debe eliminar por completo el esquema de *código abierto de Terraform*. Para obtener más información, consulte [Remove a blueprint from an account](https://docs.aws.amazon.com/controltower/latest/userguide/remove-a-blueprint.html). 

   1. Añada el nuevo esquema *externo* a la misma cuenta. Para obtener más información, consulte [Add a blueprint to an AWS Control Tower account](https://docs.aws.amazon.com/controltower/latest/userguide/add-blueprint-to-account.html). 

1. Una vez que todas las cuentas que utilizan *esquemas de código abierto de Terraform* se hayan actualizado a modelos *externos*, devuélvalas AWS Service Catalog y cancele cualquier producto que utilice *Terraform* Open Source como tipo de producto.

1. De ahora en adelante, todas las cuentas creadas o inscritas mediante la personalización del generador de cuentas de AWS Control Tower deben hacer referencia a esquemas que utilicen el tipo de producto de *CloudFormation* o *externo*. 

   En el caso de los esquemas creados con el tipo de producto *externo*, AWS Control Tower solo admite personalizaciones de cuentas que utilicen plantillas de Terraform y el motor de referencia de Terraform. Para obtener más información, consulte [Set up for customization](https://docs.aws.amazon.com/controltower/latest/userguide/afc-setup-steps.html). 

**nota**  
AWS Control Tower no admite el *código abierto de Terraform* como tipo de producto al crear cuentas nuevas. *Para obtener más información sobre estos cambios, consulte [Actualización de los productos de código abierto de Terraform existentes y los productos aprovisionados al tipo de producto *externo* de la guía](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/update_terraform_open_source_to_external.html) del administrador.AWS Service Catalog * AWS Service Catalog apoyará a los clientes durante la transición de este tipo de producto, según sea necesario. Póngase en contacto con el representante de cuentas para solicitar asistencia.

# Aprovisionamiento de cuentas con el generador de cuentas para Terraform (AFT) de AWS Control Tower
<a name="taf-account-provisioning"></a>

AWS Control Tower Account Factory for Terraform (AFT) adopta un GitOps modelo que automatiza el proceso de aprovisionamiento y actualización de cuentas en AWS Control Tower. 

Con AFT, se crea un archivo Terraform de solicitud de cuenta que contiene la entrada que invoca el flujo de trabajo de AFT. Una vez finalizados el aprovisionamiento y la actualización de la cuenta, el flujo de trabajo de AFT continúa ejecutando el marco de aprovisionamiento de cuentas de AFT y los pasos de personalización de cuentas. 

AFT no afecta al rendimiento del flujo de trabajo en AWS Control Tower. Si aprovisiona una cuenta a través de AFT o el generador de cuentas, se produce el mismo flujo de trabajo de backend.

## Requisitos previos
<a name="aft-prerequisites"></a>

**nota**  
La provisión de cuentas AFT debe dirigirse a una unidad organizativa (OU) que AWSControl TowerBaseline esté habilitada en AWS Control Tower. Para obtener más información AWSControlTowerBaseline, consulte:[Tipos de referencia que se aplican a nivel de unidad organizativa](types-of-baselines.md#ou-baseline-types).

Antes de empezar con AFT, debe crear lo siguiente: 
+ En AWS Control Tower, cree la UO y, a continuación, la cuenta de administración de AFT para el entorno de AFT. Anote el ID de la cuenta para poder introducirlo en el archivo `main.tf` más adelante, cuando implemente AFT con el módulo Terraform. Puede ver este ID de cuenta en la página de **Detalles de control** de AWS Control Tower. Para obtener más información, consulte la [documentación de Terraform](https://developer.hashicorp.com/terraform/tutorials/aws/aws-control-tower-aft). 
+ Uno o más repositorios de `git` para el entorno de AFT completamente implementado. Para obtener más información, consulte [Post-deployment steps for AFT](https://docs.aws.amazon.com/controltower/latest/userguide/aft-post-deployment.html). 
+ Un entorno de AFT completamente implementado. Para obtener más información, consulte [Overview of AWS Control Tower Account Factory for Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) y [Deploy AWS Control Tower Account Factory for Terraform (AFT).](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html) Consulte también la [Documentación de Terraform](https://developer.hashicorp.com/terraform/tutorials/aws/aws-control-tower-aft). 

**sugerencia**  
Puede crear la cuenta de administración de AFT desde la consola de AWS Control Tower con **Crear cuenta**. Para obtener más información, consulte [Métodos de aprovisionamiento](https://docs.aws.amazon.com//controltower/latest/userguide/methods-of-provisioning.html).  
Además, opcionalmente, puede crear una carpeta de plantillas de cuentas para ayudar a definir sus cuentas adicionales, en el **aft-account-customizations**repositorio. 

Para las cuentas inscritas mediante la inscripción automática:
+ La creación de nuevas cuentas a través de AFT sigue funcionando con normalidad.
+ La importación de cuentas existentes requiere pasos adicionales:
  + Registre la OU para crear los productos aprovisionados necesarios antes de importarlos.
  + Register OU `CreateManagedAccount` emitirá `UpdateManagedAccount` eventos, lo que permitirá las personalizaciones de AFT.

Para obtener información sobre los Regiones de AWS lugares en los que AFT tiene limitaciones de despliegue, consulte [Limitaciones y cuotas en AWS Control Tower](limits.md) y[Limitaciones de control](control-limitations.md).

La [Documentación de Terraform](https://developer.hashicorp.com/terraform/tutorials/aws/aws-control-tower-aft) contiene una amplia introducción para la configuración de Account Factory for Terraform (AFT) de AWS Control Tower.

# Información general del generador de cuentas para Terraform (AFT) de AWS Control Tower
<a name="aft-overview"></a>

 El generador de cuentas para Terraform (AFT) configura una canalización de Terraform para ayudarlo a aprovisionar y personalizar cuentas en AWS Control Tower. AFT le ofrece la ventaja del aprovisionamiento de cuentas basado en Terraform y, al mismo tiempo, le permite administrar sus cuentas con AWS Control Tower. 

 Con AFT, puede crear un *archivo Terraform de solicitud de cuenta* para obtener la entrada que desencadena el flujo de trabajo de AFT para el aprovisionamiento de cuentas. Una vez completada la etapa de aprovisionamiento de la cuenta, AFT ejecuta automáticamente una serie de pasos antes de que comience la etapa de personalización de la cuenta. Para obtener más información, consulte [AFT account provisioning pipeline](https://docs.aws.amazon.com/controltower/latest/userguide/aft-provisioning-framework.html). 

 AFT es compatible con Terraform Cloud, Terraform Enterprise y Terraform Community Edition. Con AFT, puede iniciar la creación de una cuenta mediante un archivo de entrada y un comando `git push` simple y personalizar las cuentas nuevas o existentes. La creación de cuentas incluye todas las ventajas de gobernanza de AWS Control Tower y las personalizaciones de la cuenta que le ayudan a cumplir con los procedimientos de seguridad y las directrices de conformidad estándar de su organización. 

 AFT admite el seguimiento de las solicitudes de personalización de cuentas. Cada vez que envías una solicitud de personalización de una cuenta, AFT genera un token de rastreo único que pasa por una máquina de AWS Step Functions estados de personalización de AFT, que registra el token como parte de su ejecución. A continuación, puede utilizar las consultas de información de Amazon CloudWatch Logs para buscar intervalos de marcas de tiempo y recuperar el token de solicitud. Como resultado, puede ver las cargas útiles que acompañan al token, de modo que puede realizar un seguimiento de la solicitud de personalización de la cuenta a lo largo de todo el flujo de trabajo de AFT. Para obtener información sobre CloudWatch Logs y Step Functions, consulte lo siguiente: 
+  [¿Qué es Amazon CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) en la *Guía del usuario CloudWatch de Amazon Logs* 
+  [¿Qué es AWS Step Functions?](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) en la *Guía para desarrolladores de AWS Step Functions * 

AFT combina las capacidades de otros AWS servicios[Servicios de componentes](aft-components.md), para crear un marco, con tuberías que implementan Terraform Infrastructure as Code (IaC). AFT le permite:
+ Envíe las solicitudes de aprovisionamiento y actualización de cuentas en un modelo GitOps 
+ Almacenar los metadatos de la cuenta y el historial de auditorías
+ Aplicar etiquetas por a cuenta
+ Agregar personalizaciones a todas las cuentas, a un conjunto de cuentas o a cuentas individuales
+ Habilitación de opciones de características

AFT crea una cuenta separada, llamada *cuenta de administración de AFT*, para implementar las capacidades de AFT. Para poder configurar AFT, debe tener una zona de aterrizaje existente de AWS Control Tower. La cuenta de administración de AFT no es la misma que la cuenta de administración de AWS Control Tower.

**AFT ofrece flexibilidad**
+ **Flexibilidad para su plataforma:** AFT es compatible con cualquier distribución de Terraform para la implementación inicial y el funcionamiento continuo: Community Edition, Cloud y Enterprise.
+ **Flexibilidad para su sistema de control de versiones:** admite AWS CodeCommit AFT y utiliza fuentes alternativas de control de versiones. AWS CodeConnections

**AFT ofrece opciones de características**

Puede habilitar varias opciones de características, según las prácticas recomendadas:
+ Crear un nivel de organización CloudTrail para registrar eventos de datos
+ Eliminar la VPC AWS predeterminada de las cuentas
+ Inscripción de cuentas aprovisionadas en el plan Enterprise AWS Support

**nota**  
La canalización de AFT no está diseñada para su uso en la implementación de recursos, como las instancias de Amazon EC2, que sus cuentas necesitan para ejecutar las aplicaciones. Está diseñada únicamente para el aprovisionamiento y la personalización automatizados de las cuentas de AWS Control Tower.

## Tutorial en vídeo
<a name="terraform-provisioning-video"></a>

En este vídeo (7:33) se describe cómo implementar cuentas con el generador de cuentas para Terraform de AWS Control Tower. Para una mejor visualización, seleccione el icono situado en la esquina inferior derecha del vídeo para agrandarlo a pantalla completa. Hay subtítulos disponibles.

[![AWS Videos](http://img.youtube.com/vi/eDbNvHz02dk/0.jpg)](http://www.youtube.com/watch?v=eDbNvHz02dk)


# Arquitectura de AFT
<a name="aft-architecture"></a>

## Orden de las operaciones
<a name="aft-operation"></a>

 Ejecuta operaciones de AFT en la cuenta de administración de AFT. Para un flujo de trabajo completo de aprovisionamiento de cuentas, el orden de las etapas del diagrama, de izquierda a derecha, es el siguiente: 

1.  Las solicitudes de cuentas se crean y se envían a la canalización. Puede crear y enviar más de una solicitud de cuenta a la vez. Account Factory procesa las solicitudes de un first-in-first-out pedido. Para obtener más información, consulte [Submit multiple account requests](https://docs.aws.amazon.com/controltower/latest/userguide/aft-multiple-account-requests.html). 

1.  Cada cuenta está aprovisionada. Esta etapa se ejecuta en la cuenta de administración de AWS Control Tower. 

1.  Las personalizaciones globales se ejecutan en las canalizaciones que se crean para cada cuenta proporcionada. 

1.  Si las personalizaciones se especifican en las solicitudes iniciales de aprovisionamiento de cuentas, las personalizaciones se ejecutan solo en las cuentas de destino. Si tiene una cuenta que ya está aprovisionada, debe iniciar las personalizaciones adicionales de forma manual en el proceso de creación de la cuenta. 

**Generador de cuentas para Terraform de AWS Control Tower: flujo de trabajo de aprovisionamiento de cuentas **

![\[Figura: Diagrama de flujo de trabajo de AFT\]](http://docs.aws.amazon.com/es_es/controltower/latest/userguide/images/high-level-aft-diagram.png)


# Costo
<a name="aft-pricing"></a>

No se aplican cargos adicionales para AFT. Solo paga por los recursos desplegados por AFT, los AWS servicios habilitados por AFT y los recursos que implementa en su entorno de AFT.

La configuración predeterminada de AFT incluye la asignación de AWS PrivateLink puntos finales, para mejorar la protección y la seguridad de los datos, y una puerta de enlace NAT necesaria para su compatibilidad AWS CodeBuild. Para obtener más información sobre los precios de esta infraestructura, consulte los [Precios de AWS PrivateLink](https://aws.amazon.com//privatelink/pricing/) y los [Precios de Amazon VPC para puerta de enlace NAT](https://aws.amazon.com//vpc/pricing/). Póngase en contacto con su representante de AWS cuentas para obtener información más específica sobre la gestión de estos costes. Puede cambiar estas opciones predeterminadas de AFT.

# Implementación del generador de cuentas para Terraform (AFT) de AWS Control Tower
<a name="aft-getting-started"></a>

 Esta sección está destinada a los administradores de entornos de AWS Control Tower que deseen configurar el generador de cuentas para Terraform (AFT) en su entorno actual. Describe cómo configurar un entorno del generador de cuentas para Terraform (AFT) con una cuenta de administración de AFT nueva y dedicada. 

**nota**  
 Un módulo Terraform implementa AFT. Este módulo está disponible en el [repositorio AFT](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main) y todo el repositorio AFT se considera módulo. GitHub   
 Le recomendamos que consulte los módulos AFT en GitHub lugar de clonar el repositorio AFT. De esta forma puede controlar y consumir las actualizaciones de los módulos a medida que estén disponibles. 

 Para obtener más información sobre las versiones más recientes de la funcionalidad AWS Control Tower Account Factory for Terraform (AFT), consulte [el archivo de versiones](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/releases) de este GitHub repositorio.

 **Requisitos previos para una implementación** 

Antes de configurar y lanzar el entorno de AFT, debe tener los siguientes recursos disponibles: 
+  Una región de origen para la zona de aterrizaje de AWS Control Tower. Para obtener más información, consulte [How Regiones de AWS work with AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/region-how.html). 
+  Una zona de aterrizaje de AWS Control Tower. Para obtener más información, consulte [Plan your AWS Control Tower landing zone](https://docs.aws.amazon.com/controltower/latest/userguide/planning-your-deployment.html). 
+  Una cuenta de administración de AFT, que puede aprovisionar en AWS Control Tower o aprovisionar por otros medios e inscribirla en AWS Control Tower. 
+  Una versión y distribución de Terraform. Para obtener más información, consulte [Terraform and AFT versions](https://docs.aws.amazon.com/controltower/latest/userguide/version-supported.html). 
+  Un proveedor de VCS para rastrear y administrar cambios en el código y otros archivos. De forma predeterminada, AFT usa AWS CodeCommit. Para obtener más información, consulte [¿Qué es AWS CodeCommit?](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) en la *Guía AWS CodeCommit del usuario*.

  Si va a implementar AFT por primera vez y no tiene un CodeCommit repositorio existente, debe elegir un proveedor de VCS externo, como GitHub o BitBucket. Para obtener más información, consulte [Alternatives for version control of source code in AFT](https://docs.aws.amazon.com/controltower/latest/userguide/aft-alternative-vcs.html). 
+  Un entorno de tiempo de ejecución en el que pueda ejecutar el módulo Terraform que instala AFT. 
+  Opciones de características de AFT. Para obtener más información, consulte [Enable feature options](https://docs.aws.amazon.com/controltower/latest/userguide/aft-feature-options.html). 

## Configuración y lanzamiento del generador de cuentas para Terraform de AWS Control Tower
<a name="aft-configure-and-launch"></a>

 En los pasos siguientes se considera que conoce el flujo de trabajo de Terraform. También puede obtener más información sobre la implementación de AFT siguiendo el laboratorio de [introducción a la AFT](https://catalog.workshops.aws/control-tower/en-US/customization/aft) en el sitio web de AWS Workshop Studio. 

 **Paso 1: lanzar la zona de aterrizaje de AWS Control Tower** 

 Complete los pasos de [Getting started with AWS Control Tower](https://catalog.workshops.aws/control-tower/en-US/customization/aft). En este paso puede crear la cuenta de administración de AWS Control Tower y configurar la zona de aterrizaje de AWS Control Tower. 

**nota**  
 Asegúrese de crear un rol para la cuenta de administración de la Torre de Control de AWS que tenga **AdministratorAccess**credenciales. Para obtener más información, consulte los siguientes temas:   
 [Identidades de IAM (usuarios, grupos y roles)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) en la *Guía del usuario de AWS Identity and Access Management * 
 [AdministratorAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AdministratorAccess.html)en la *Guía de referencia de políticas AWS administradas* 

 **Paso 2: creación de una nueva unidad organizativa para AFT (se recomienda encarecidamente)** 

 Le recomendamos que cree una UO aparte en la zona de aterrizaje de AWS Control Tower. En esta UO aprovisionará la cuenta de administración de AFT. Cree la nueva UO y la cuenta de administración de AFT desde la cuenta de administración de AWS Control Tower. Para obtener más información, consulte [Create a new OU](https://docs.aws.amazon.com/controltower/latest/userguide/create-new-ou.html). 

 **Paso 3: aprovisionar la cuenta de administración de AFT** 

 AFT requiere que proporcione una AWS cuenta dedicada a las operaciones de administración de AFT. Cree la cuenta de administración de AWS Control Tower cuando haya iniciado sesión en la cuenta de administración de AWS Control Tower que está asociada con la zona de aterrizaje de AWS Control Tower. Puede aprovisionar la cuenta de administración de AFT desde la consola de AWS Control Tower seleccionando **Crear cuenta** en la página **Organización** o por otros medios. Para obtener más información, consulte [Aprovisionar cuentas con AWS Service Catalog Account Factory](https://docs.aws.amazon.com/controltower/latest/userguide/provision-as-end-user.html). 

**nota**  
Si ha creado una OU independiente para AFT, asegúrese de seleccionar esta OU al crear la cuenta de administración de AFT. 

El aprovisionamiento completo de la cuenta de administración de AFT puede tardar hasta 30 minutos. 

 **Paso 4: verificación de que el entorno de Terraform esté disponible para implementación** 

 En este paso se considera que tiene experiencia con Terraform y que dispone de procedimientos para su ejecución. Para obtener más información, consulte [Command: init](https://developer.hashicorp.com/terraform/cli/commands/init) en el sitio web HashiCorp para desarrolladores. 

**nota**  
 AFT es compatible con la versión de Terraform `1.6.0` o posterior. 

 **Paso 5: configuraciones opcionales**
+ **De manera opcional, establezca la configuración de la nube privada virtual (VPC)**

  El módulo de AFT incluye un parámetro `aft_enable_vpc` que especifica si AWS Control Tower aprovisiona recursos de cuenta dentro de una VPC en la cuenta de administración de AFT central. De forma predeterminada, el parámetro está definido como `true`. Si establece este parámetro en `false`, AWS Control Tower implementa AFT *sin* utilizar una VPC ni recursos de red privados, como puertas de enlace NAT o puntos de conexión de VPC. La deshabilitación de `aft_enable_vpc` puede ayudar a reducir el costo operativo de AFT *en algunos patrones de uso*. Al agregar cualquier configuración de VPC se anula el parámetro `aft_enable_vpc` que se está configurando en `false`.
**nota**  
Para volver a habilitar el parámetro `aft_enable_vpc` (cambiar el valor de `false` a `true`), es posible que tenga que ejecutar el comando `terraform apply` dos veces seguidas.

  En lugar de aprovisionar una VPC nueva, puede configurar AFT para que use una VPC existente en su cuenta. Para usar su propia VPC, proporcione los siguientes parámetros de configuración de VPC:
  + `aft_customer_vpc_id`: ID de su VPC existente
  + `aft_customer_private_subnets`- Una lista de subredes privadas IDs en su VPC

  Ejemplo de configuración:

  ```
  module "aft" {
    source = "github.com/aws-ia/terraform-aws-control_tower_account_factory"
    
    # VPC configuration
    aft_customer_vpc_id = "vpc-0123456789abcdef0"
    aft_customer_private_subnets = ["subnet-0123456789abcdef0", "subnet-0123456789abcdef1"]
    
    # Other AFT parameters...
  }
  ```
**importante**  
No le recomendamos que use la opción de VPC personalizada si ya tiene una implementación de AFT. Es posible que dependa de las funciones de Lambda CodePipeline o que dependa de los recursos de la VPC subyacente existente.
+ **Si lo desea, configure el nombre del proyecto de Terraform**

  Puede personalizar el nombre del proyecto de Terraform utilizado por AFT configurando el parámetro `terraform_project_name`. De forma predeterminada, AFT coloca la implementación en el proyecto “predeterminado” en Terraform Cloud o Terraform Enterprise.

  Ejemplo de configuración:

  ```
  module "aft" {
    source = "github.com/aws-ia/terraform-aws-control_tower_account_factory"
    
    # Project name configuration
    terraform_project_name = "my-organization-aft"
    
    # Other AFT parameters...
  }
  ```
**nota**  
Este parámetro solo se aplica a implementaciones de Terraform Enterprise o Terraform Cloud.
+ **Opcionalmente, aplique etiquetas personalizadas a recursos de AFT**

  Puede aplicar etiquetas personalizadas a todos los recursos de AFT mediante el parámetro `tags`. Estas etiquetas ayudan a organizar recursos, asignar costos y controlar el acceso.

  Ejemplo de configuración:

  ```
  module "aft" {
    source = "github.com/aws-ia/terraform-aws-control_tower_account_factory"
    
    # Custom tags configuration
    tags = {
      Environment = "Production"
      CostCenter = "IT-12345"
      Project = "AFT-Deployment"
      Owner = "platform-team@example.com"
    }
    
    # Other AFT parameters...
  }
  ```

  Estas etiquetas se aplican a todos los recursos creados por el módulo AFT. AFT agrega automáticamente una etiqueta `managed_by = "AFT"` a todos los recursos, que no puede ser anulada por etiquetas personalizadas.
**nota**  
Se pueden agregar etiquetas personalizadas en cualquier momento, no solo durante la implementación inicial.
+ **Si lo desea, aplique una clave de cifrado AWS KMS administrada por el cliente (CMK) a los grupos de registros y a los temas de SNS CloudWatch **

  Para habilitar el cifrado CMK de KMS para grupos de registros y temas de SNS, defina las variables `cloudwatch_log_group_enable_cmk_encryption` y `sns_topic_enable_cmk_encryption`.

  Si opta por esta configuración, AFT utilizará la CMK existente, *alias/aft*, para cifrar los registros y los temas de SNS. CloudWatch Esta CMK se crea cuando AFT se implementa en la cuenta de administración de AFT y se puede aplicar a grupos de registros y temas de SNS. 
  + Si la variable `cloudwatch_log_group_enable_cmk_encryption` se establece en **true**, los grupos de CloudWatch registros de AFT se cifran mediante la CMK. Si la variable se establece en **false**, que es el valor predeterminado, los registros se cifran mediante el [cifrado del lado del servidor con los CloudWatch registros predeterminados](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html).
  +  Si la variable `sns_topic_enable_cmk_encryption` se establece en **true**, las notificaciones enviadas a los temas de AFT SNS (*aft-notifications* y *aft-failure-notifications*) se cifran mediante la CMK. Si la variable se establece en **false**, que es el valor predeterminado, los mensajes SNS se cifran con la clave administrada por AWS:. *alias/aws/sns* Para obtener más información, consulte [Términos clave de SSE](https://docs.aws.amazon.com//sns/latest/dg/sns-server-side-encryption.html#sse-key-terms).
+ **Si lo desea, cambie el tipo de procesamiento CodeBuild **

  Durante la implementación, para cambiar el tipo de cómputo que utiliza AFT CodeBuild, defina la variable`aft_codebuild_compute_type`.

  Para obtener información sobre los tipos de computación aceptados, consulte [Acerca de los tipos de entornos bajo demanda](https://docs.aws.amazon.com//codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types). El tipo de computación predeterminado es `BUILD_GENERAL1_MEDIUM`. 
+ **Opcionalmente, configure OpenID Connect (OIDC) para Terraform**

  Los clientes que utilizan Terraform Enterprise o HCP Terraform (anteriormente Terraform Cloud) pueden usar los tokens de identidad de Workload de Terraform (o credenciales de proveedor dinámicas), basados en el protocolo OIDC, para conectar y autenticar de forma segura los espacios de trabajo con AFT.

  Puede habilitar la integración de OIDC para los espacios de trabajo de AFT configurando el parámetro en. `terraform_oidc_integration` `true` Este parámetro está establecido en `false` de forma predeterminada. Al activar este parámetro, los `terraform_oidc_hostname` parámetros `terraform_oidc_aws_audience` y deben revisarse y configurarse si los valores predeterminados (`aws.workload.identity`y`app.terraform.io`, respectivamente) no coinciden con su entorno.

  Ejemplo de configuración:

  ```
  module "aft" {
    source = "github.com/aws-ia/terraform-aws-control_tower_account_factory"
    
    # Terraform distribution must be "tfc" or "tfe" for OIDC
    terraform_distribution = "tfc"
  
    # Terraform OIDC Configuration
    terraform_oidc_integration  = true
    terraform_oidc_aws_audience = "aws.workload.identity"  # default
    terraform_oidc_hostname     = "app.terraform.io"       # default; set to your TFE hostname if applicable
    
    # Other AFT parameters...
  }
  ```
**nota**  
Este parámetro solo se aplica a las implementaciones de Terraform Enterprise o HCP Terraform.
**nota**  
Si actualmente utiliza un proveedor de OIDC para Terraform en la cuenta de administración de AFT, debe eliminar ese proveedor antes de optar por esta integración. AFT volverá a crear ese proveedor para usted una vez realizado el despliegue.

**Paso 6: Llame al módulo Account Factory for Terraform para implementar AFT** 

 Llame al módulo AFT con el rol que creó para la cuenta de administración de la Torre de Control Tower de AWS que tiene **AdministratorAccess**credenciales. AWS Control Tower aprovisiona un módulo de Terraform a través de la cuenta de administración de AWS Control Tower que establece toda la infraestructura necesaria para orquestar las solicitudes del generador de cuentas de AWS Control Tower. 

 Puede ver el módulo AFT en el [repositorio AFT](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main) de GitHub. Todo el GitHub repositorio se considera el módulo AFT. Consulta el [archivo README](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/blob/main/README.md) para obtener información sobre las entradas necesarias para ejecutar el módulo de AFT e implementar AFT. Como alternativa, puede ver el módulo de AFT en el [registro de Terraform](https://registry.terraform.io/modules/aws-ia/control_tower_account_factory/aws/latest). 

 Si tiene canalizaciones en el entorno establecidas para administrar Terraform, puede integrar el módulo de AFT en el flujo de trabajo existente. De lo contrario, ejecute el módulo de AFT desde cualquier entorno que esté autenticado con las credenciales necesarias. 

 El tiempo de espera provoca un error en la implementación. Te recomendamos usar credenciales AWS Security Token Service (STS) para asegurarte de que dispones de un tiempo de espera suficiente para una implementación completa. El tiempo de espera mínimo para las AWS STS credenciales es de 60 minutos. Para obtener más información, consulte [Temporary security credentials in IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) en la *Guía del usuario de AWS Identity and Access Management *. 

**nota**  
 Puede esperar hasta 30 minutos para que AFT termine de implementarse a través del módulo Terraform. 

 **Paso 7: Gestione el archivo de estado de Terraform** 

 Al implementar AFT, se genera un archivo de estado de Terraform. Este artefacto describe el estado de los recursos que Terraform ha creado. Si tiene previsto actualizar la versión de AFT, asegúrese de preservar el archivo de estado de Terraform o configure un backend de Terraform con Amazon S3 y DynamoDB. El módulo de AFT no administra un estado del backend de Terraform. 

**nota**  
 Es responsable de proteger el archivo de estado de Terraform. Algunas variables de entrada pueden contener valores confidenciales, como una clave `ssh` privada o un token de Terraform. Según el método de implementación, estos valores serán visibles como texto sin formato en el archivo de estado de Terraform. Para obtener más información, consulte [Datos confidenciales del estado en](https://www.terraform.io/docs/language/state/sensitive-data.html) el sitio HashiCorp web. 

# Pasos posteriores a la implementación
<a name="aft-post-deployment"></a>

Una vez que se complete la implementación de la infraestructura de AFT, siga estos pasos adicionales para completar el proceso de configuración y prepararse para aprovisionar cuentas. 

**Paso 1: Complete CodeConnections con el proveedor de VCS que desee**

Si elige un proveedor de VCS externo, AFT lo establece CodeConnections y usted lo confirma. Consulte [Alternativas para el control de versiones del código fuente en AFT](aft-alternative-vcs.md) para aprender a configurar AFT con el VCS que prefiera.

AFT realiza el paso inicial para establecer la AWS CodeStar conexión. Debe confirmar la conexión.

**Paso 2: rellenar cada repositorio**

AFT requiere que administre [cuatro repositorios](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos):

1. Solicitudes de cuentas: este repositorio se encarga de realizar o actualizar solicitudes de cuenta. [Ejemplos disponibles](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-request). Para obtener más información acerca de solicitudes de cuentas de AFT, consulte [Aprovisionamiento de una nueva cuenta con AFT](aft-provision-account.md).

1. Personalizaciones de aprovisionamiento de cuentas de AFT: este repositorio administra las personalizaciones que se aplican a todas las cuentas creadas y administradas con AFT, antes de comenzar la etapa de personalizaciones globales. [Ejemplos disponibles](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-provisioning-customizations). Para crear personalizaciones de aprovisionamiento de cuentas de AFT, consulte [Creación de la máquina de estado de personalizaciones de aprovisionamiento de cuentas de AFT](aft-provisioning-framework.md#aft-create-customizations).

1. Personalizaciones globales: este repositorio administra las personalizaciones que se aplican a todas las cuentas creadas y administradas con AFT. [Ejemplos disponibles](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-global-customizations). Para crear personalizaciones globales de AFT, consulte [Aplicación de personalizaciones globales](aft-account-customization-options.md#aft-global-customizations).

1. Personalizaciones de cuentas: este repositorio administra las personalizaciones que se aplican solo a cuentas específicas creadas y administradas con AFT. [Ejemplos disponibles](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-customizations). Para crear personalizaciones de cuentas de AFT, consulte [Aplicación de personalizaciones de cuentas](aft-account-customization-options.md#aft-account-customizations).

 AFT espera que cada uno de estos repositorios siga una estructura de directorios específica. Las plantillas que se utilizan para rellenar los repositorios y las instrucciones que describen cómo rellenar las plantillas están disponibles en el módulo del generador de cuentas para Terraform en el [repositorio de GitHub de AFT](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos). 

# Aprovisionamiento de una nueva cuenta con AFT
<a name="aft-provision-account"></a>

*En esta sección se asume que ya ha configurado AFT y su cuenta de administración de AFT y que está aprovisionando cuentas adicionales.*

Para aprovisionar una nueva cuenta con AFT, cree un archivo Terraform de solicitud de cuenta. Este archivo contiene la entrada de los parámetros del **aft-account-request**repositorio. Después de crear un archivo Terraform de solicitud de cuenta, comience a procesar la solicitud de cuenta ejecutando `git push`. Este comando invoca la `ct-aft-account-request` operación en la AWS CodePipeline, que se crea en la cuenta de administración de AFT una vez finalizado el aprovisionamiento de la cuenta. Para obtener más información, consulte [AFT account provisioning pipeline](https://docs.aws.amazon.com/controltower/latest/userguide/aft-provisioning-framework.html). 

## Solicitud de cuenta: parámetros del archivo Terraform
<a name="w2aac44c33c15b7"></a>

 Debe incluir los siguientes parámetros en el archivo Terraform de solicitud de cuenta. Puedes ver [un ejemplo del archivo Terraform de solicitud de cuenta](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-request) en. GitHub 
+  El valor de `module name` debe ser único para cada solicitud de Cuenta de AWS . 
+  El valor de `module source` es la ruta al módulo Terraform de solicitud de cuenta que proporciona AFT. 
+  El valor de `control_tower_parameters` captura la entrada necesaria para crear una cuenta de AWS Control Tower. El valor incluye los siguientes campos de entrada: 
  + `AccountEmail`
  + `AccountName`
  +  `ManagedOrganizationalUnit` 
  + `SSOUserEmail`
  + `SSOUserFirstName`
  + `SSOUserLastName`

**nota**  
 La entrada que proporcione para `control_tower_parameters` no se puede cambiar durante el aprovisionamiento de la cuenta.   
 Los formatos admitidos para especificar `ManagedOrganizationalUnit` en el **aft-account-request**repositorio incluyen `OUName` y`OUName (OU-ID)`. 
+  `account_tags`captura claves y valores definidos por el usuario, que se pueden etiquetar de Cuentas de AWS acuerdo con criterios empresariales. Para obtener más información, consulte [Tagging AWS Organizations resources](https://docs.aws.amazon.com//organizations/latest/userguide/orgs_tagging.html) en la *Guía del usuario de AWS Organizations *. 
+  El valor de `change_management_parameters` captura información adicional, como el motivo por el que se creó una solicitud de cuenta y quién la inició. El valor incluye los siguientes campos de entrada: 
  + `change_reason`
  + `change_requested_by`
+  `custom_fields`**captura metadatos adicionales con claves y valores que se despliegan como parámetros SSM en la cuenta vendida en/-fields/. aft/account-request/custom** Puede hacer referencia a estos metadatos durante las personalizaciones de la cuenta para implementar los controles adecuados. Por ejemplo, una cuenta que esté sujeta a la conformidad normativa podría implementar más. Reglas de AWS Config Los metadatos que recopile con `custom_fields` pueden invocar un procesamiento adicional durante el aprovisionamiento y la actualización de la cuenta. Si se elimina un campo personalizado de la solicitud de cuenta, dicho campo se elimina del almacén de parámetros de SSM de la cuenta vendida. 
+  (Opcional) `account_customizations_name` captura la carpeta de plantillas de la cuenta en el **aft-account-customizations**repositorio. Para obtener más información, consulte [Account customizations](https://docs.aws.amazon.com/controltower/latest/userguide/aft-account-customization-options.html). 

# Envío de varias solicitudes de cuenta
<a name="aft-multiple-account-requests"></a>

 AFT procesa las solicitudes de cuenta de una en una, pero puede enviar varias solicitudes de cuenta a la canalización de AFT. Cuando envía varias solicitudes de cuentas a la canalización de AFT, AFT las pone en cola y las procesa siguiendo la orden de primero en entrar, primero en salir. 

**nota**  
 Puede crear un archivo Terraform de solicitud de cuenta para cada cuenta que desee que AFT aprovisione o agrupar en cascada varias solicitudes de cuenta en un único archivo Terraform de solicitud de cuenta. 

# Actualización de una cuenta existente
<a name="aft-update-account"></a>

**Compatibilidad con la inscripción automática**  
Si su organización utiliza la inscripción automática para la inscripción automática de cuentas, tenga en cuenta que AFT tiene limitaciones a la hora de importar estas cuentas. Las cuentas inscritas a través de Auto Enroll carecen de los productos aprovisionados por Service Catalog requeridos por el flujo de trabajo de importación de AFT.  
**Solución alternativa:** utilice la función Registrar OU para crear productos aprovisionados para las cuentas que se inscriban automáticamente. Esto habilita los eventos del ciclo de vida necesarios para las personalizaciones de AFT.

 Puede actualizar las cuentas que AFT aprovisiona editando solicitudes de cuenta enviadas anteriormente y ejecutando `git push`. Este comando invoca el flujo de trabajo de aprovisionamiento de cuentas y puede procesar solicitudes de actualización de cuentas. Puede actualizar la entrada para `ManagedOrganizationalUnit`, que forma parte del valor requerido para `control_tower_parameters`.

`ManagedOrganizationalUnit` es el único parámetro que se puede actualizar, entre todos los `control_tower_parameters`. Sin embargo, se pueden actualizar otros parámetros que forman parte del archivo Terraform de solicitud de cuenta, como `custom_fields`. Para obtener más información, consulte [Provision a new account with AFT](https://docs.aws.amazon.com/controltower/latest/userguide/aft-provision-account.html). 

Por ejemplo, para actualizar el nombre o la dirección de correo electrónico de una cuenta de AFT, puede definir detalles específicos como `custom_fields` en el archivo de solicitud de cuenta. De este modo, crea parámetros de SSM, que puede transferir al recurso de `aws_account_alternate_contact` durante las personalizaciones globales.

```
resource "aws_account_alternate_contact" "operations" {

  alternate_contact_type = "OPERATIONS"

  name          = "Example"
  title         = "Example"
  email_address = "someone@example.com"
  phone_number  = "+1234567890"
}
```

Puede añadir campos similares para otros tipos de contactos, como operaciones y seguridad. En Personalizaciones globales, agregue búsquedas de datos en cada campo personalizado para asegurarse de buscar todos los campos que ha creado en Solicitud de cuenta:

```
data "aws_ssm_parameter" "billing_name" {
            name = "/aft/account-request/custom-fields/billing_name"
            }
            
            data "aws_ssm_parameter" "billing_title" {
            name = "/aft/account-request/custom-fields/billing_title"
            }
            
            data "aws_ssm_parameter" "billing_email_address" {
            name = "/aft/account-request/custom-fields/billing_email_address"
            }
            
            data "aws_ssm_parameter" "billing_phone_number" {
            name = "/aft/account-request/custom-fields/billing_phone_number"
            }
```

Por último, también en el archivo de personalizaciones globales, cree los recursos de contacto alternativos. Deberá definir uno de estos bloques para cada tipo de contacto que haya creado en Solicitud de cuenta:

```
resource "aws_account_alternate_contact" "billing" {
            
            alternate_contact_type = "BILLING"
            
            name          = data.aws_ssm_parameter.billing_name.value
            title         = data.aws_ssm_parameter.billing_title.value
            email_address = data.aws_ssm_parameter.billing_email_address.value
            phone_number  = data.aws_ssm_parameter.billing_phone_number.value
            }
```

**nota**  
 La entrada que proporcione para `control_tower_parameters` no se puede cambiar durante el aprovisionamiento de la cuenta.   
 Los formatos admitidos para especificar `ManagedOrganizationalUnit` en el **aft-account-request**repositorio incluyen `OUName` y`OUName (OU-ID)`. 

## Actualización de una cuenta que AFT no aprovisiona
<a name="aft-update-account-not-provision"></a>

 Puede actualizar las cuentas de AWS Control Tower creadas fuera de AFT especificando la cuenta en el **aft-account-request**repositorio. 

**nota**  
 Asegúrese de que todos los detalles de la cuenta sean correctos y coherentes con la organización de AWS Control Tower y el producto AWS Service Catalog aprovisionado correspondiente. 

**Requisitos previos para actualizar una existente con AFT Cuenta de AWS**
+  Cuenta de AWS Deben estar inscritos en AWS Control Tower. 
+  Cuenta de AWS Deben formar parte de la organización de la Torre de Control de AWS. 

# Versiones de Terraform y AFT
<a name="version-supported"></a>

El generador de cuentas para Terraform (AFT) es compatible con la versión `1.6.0` de Terraform o posterior. Debe proporcionar una versión de Terraform como parámetro de entrada para el proceso de implementación de AFT, como se muestra en el siguiente ejemplo.

```
terraform_version = "1.6.0"
```

## Distribuciones de Terraform
<a name="terraform-distributions"></a>

AFT admite tres distribuciones de Terraform:
+ Terraform Community Edition
+ Terraform Cloud
+ Terraform Enterprise

En las próximas secciones se explican estas distribuciones. Proporcione la distribución de Terraform de su elección como parámetro de entrada durante el proceso de arranque de AFT. Para obtener más información sobre los parámetros de entrada y la implementación de AFT, consulte [Implementación del generador de cuentas para Terraform (AFT) de AWS Control Tower](aft-getting-started.md).

Si elige las distribuciones de Terraform Cloud o Terraform Enterprise, el [token de la API](https://www.terraform.io/cloud-docs/users-teams-organizations/api-tokens) que especifique para `terraform_token ` debe ser un token de la API de usuario o de equipo. No se admite un token de organización para todas las API necesarias. Por motivos de seguridad, debe evitar registrar el valor de este token en el sistema de control de versiones (VCS) asignando una [variable de Terraform](https://www.terraform.io/cloud-docs/workspaces/variables/managing-variables), como se muestra en el siguiente ejemplo.

```
 # Sensitive variable managed in Terraform Cloud:
 terraform_token = var.terraform_cloud_token
```

### Terraform Community Edition
<a name="terraform-oss"></a>

Cuando selecciona Terraform Community Edition como distribución, AFT administra el backend de Terraform en su lugar en la cuenta de administración de AFT. AFT descarga la `terraform-cli` de la versión de Terraform que especificó para ejecutarla durante la implementación de AFT y las fases de canalización de AFT. La configuración de estado de Terraform resultante se almacena en un bucket de Amazon S3, denominado de la siguiente forma:

```
aft-backend-[account_id]-primary-region
```

AFT también crea un bucket de Amazon S3 que replica la configuración de estado de Terraform en otra Región de AWS, con fines de recuperación ante desastres, denominado de la siguiente forma:

```
aft-backend-[account_id]-secondary-region
```

Le recomendamos que habilite la autenticación multifactor (MFA) para las funciones de eliminación en estos buckets Amazon S3 del estado de Terraform. Para obtener más información sobre Terraform Community Edition, consulte [la documentación de Terraform](https://www.terraform.io/docs/cli/index.html).

Para seleccionar Terraform OSS como distribución, proporcione el siguiente parámetro de entrada:

```
terraform_distribution = "oss"
```

### Terraform Cloud
<a name="terraform-cloud"></a>

 Cuando selecciona Terraform Cloud como distribución, AFT crea espacios de trabajo para los siguientes componentes de la organización de Terraform Cloud, lo que inicia un flujo de trabajo basado en API. 
+  Solicitud de cuenta 
+  Personalizaciones de AFT para cuentas que aprovisiona AFT 
+  Personalizaciones de cuentas para cuentas que aprovisiona AFT 
+  Personalizaciones globales para cuentas que aprovisiona AFT 

 Terraform Cloud administra la configuración de estado de Terraform resultante. 

 Cuando seleccione Terraform Cloud como distribución, proporcione los siguientes parámetros de entrada: 
+  `terraform_distribution = "tfc"` 
+  `terraform_token`: este parámetro contiene el valor del token de Terraform Cloud. AFT marca el valor como confidencial y lo almacena como una cadena segura en el almacén de parámetros de SSM, en la cuenta de administración de AFT. Le recomendamos que rote periódicamente el valor del token de Terraform de conformidad con las políticas de seguridad y las directrices de cumplimiento de su empresa. El token de Terraform debe ser un token de la API de usuario o de equipo. No se admiten los tokens de organización. 
+  `terraform_org_name`: este parámetro contiene el nombre de la organización de Terraform Cloud. 

**nota**  
 No se admiten múltiples implementaciones de AFT en una sola organización de Terraform Cloud. 

 Para obtener información sobre cómo configurar Terraform Cloud, consulte [la documentación de Terraform.](https://www.terraform.io/docs/cloud/index.html) 

### Terraform Enterprise
<a name="terraform-enterprise"></a>

Cuando selecciona Terraform Enterprise como distribución, AFT crea espacios de trabajo para los siguientes componentes de la organización de Terraform Enterprise y activa un flujo de trabajo basado en API para las ejecuciones de Terraform resultantes.
+ Solicitud de cuenta
+ Personalizaciones de aprovisionamiento de cuentas AFT para cuentas aprovisionadas por AFT
+ Personalizaciones de cuentas para cuentas aprovisionadas por AFT
+ Personalizaciones globales para cuentas aprovisionadas por AFT

La configuración de estado de Terraform resultante se administra mediante la configuración de Terraform Enterprise.

Para seleccionar Terraform Enterprise como distribución, proporcione los siguientes parámetros de entrada:
+  `terraform_distribution = "tfe"` 
+ `terraform_token`: este parámetro contiene el valor del token de Terraform Enterprise. AFT marca su valor como confidencial y lo almacena como una cadena segura en el almacén de parámetros de SSM, en la cuenta de administración de AFT. Le recomendamos que rote periódicamente el valor del token de Terraform de conformidad con las políticas de seguridad y las directrices de cumplimiento de su empresa.
+ `terraform_org_name`: este parámetro contiene el nombre de la organización de Terraform Enterprise.
+ `terraform_api_endpoint`: este parámetro contiene la URL del entorno de Terraform Enterprise. El valor de este parámetro debe tener el siguiente formato:

  ```
  https://{fqdn}/api/v2/
  ```

Consulte [la documentación de Terraform](https://www.terraform.io/docs/enterprise/index.html) para obtener más información sobre cómo configurar Terraform Enterprise.

# Comprobación de la versión de AFT
<a name="check-aft-version"></a>

Puede comprobar la versión de AFT implementada consultando la clave del almacén de parámetros de AWS SSM:

```
/aft/config/aft/version
```

Si utiliza el método de registro, puede fijar la versión.

```
module "control_tower_account_factory" {
  source  = "aws-ia/control_tower_account_factory/aws"
  version = "1.3.2"
  # insert the 6 required variables here
}
```

Puede ver más información sobre las versiones de AFT en el [repositorio de AFT](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main).

# Actualización de la versión de AFT
<a name="update-aft-version"></a>

Inicie sesión en la cuenta de administración consola de AWS Control Tower para iniciar esta actualización de AFT.

Para actualizar la versión de AFT implementada, extráigala de la ramificación del repositorio `main`:

```
terraform get -update
```

Una vez finalizada la extracción, puede volver a ejecutar el plan de Terraform o ejecutar Aplicar para actualizar la infraestructura de AFT con los cambios más recientes.

# Habilitación de opciones de características
<a name="aft-feature-options"></a>

AFT ofrece opciones de características basadas en las prácticas recomendadas. Puede optar por utilizar estas características , mediante marcas de características, durante la implementación de AFT. Consulte [Aprovisionamiento de una nueva cuenta con AFT](aft-provision-account.md) para obtener más información sobre los parámetros de configuración de entrada de AFT.

Estas características no están habilitadas de forma predeterminada. Debe habilitar cada uno de ellos explícitamente en su entorno.

**Topics**
+ [AWS CloudTrail eventos de datos](#cloudtrail-data-event-option)
+ [AWS Plan Enterprise Support](#enterprise-support-option)
+ [Eliminar la AWS VPC predeterminada](#delete-default-vpc-option)

## AWS CloudTrail eventos de datos
<a name="cloudtrail-data-event-option"></a>

Cuando está habilitada, la opción de eventos de AWS CloudTrail datos configura estas capacidades.
+ Crea un registro de la organización en la cuenta de administración de la Torre de Control Tower de AWS, para CloudTrail
+ Activa el registro para eventos de datos de Amazon S3 y Lambda
+ Cifra y exporta todos los eventos de CloudTrail datos a un bucket de `aws-aft-logs-*` S3 en la cuenta de AWS Control Tower Log Archive, con AWS KMS cifrado
+ Activa la configuración de **validación del archivo de registro**

Para habilitar esta opción, defina la siguiente marca de características en **True** en la configuración de entrada de implementación de AFT.

```
aft_feature_cloudtrail_data_events
```

**Requisito previo**

Antes de activar esta opción de función, asegúrese de que el acceso de confianza AWS CloudTrail esté activado en su organización. 

**Para comprobar el estado del acceso de confianza para CloudTrail :**

1. Navega hasta la AWS Organizations consola.

1. Seleccione **Servicios > CloudTrail**.

1. A continuación, seleccione **Habilitar acceso de confianza** en la esquina superior derecha, si es necesario.

Es posible que reciba un mensaje de advertencia en el que se le pida que utilice la AWS CloudTrail consola, pero en ese caso, ignore la advertencia. Después de permitir el acceso de confianza, AFT crea el registro de seguimiento como parte de la habilitación de esta opción de característica. Si el acceso de confianza no está habilitado, recibirá un mensaje de error cuando AFT intente crear el registro de seguimiento para los eventos de datos.

**nota**  
Esta configuración funciona a nivel de organización. La activación de esta configuración afecta a todas las cuentas AWS Organizations, estén administradas por AFT o no. Todos los buckets de la cuenta de archivo de registro de AWS Control Tower en el momento de la habilitación se excluyen de los eventos de datos de Amazon S3. Consulte la [Guía del AWS CloudTrail usuario](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) para obtener más información al respecto CloudTrail.

## AWS Plan Enterprise Support
<a name="enterprise-support-option"></a>

Cuando esta opción está habilitada, la canalización de AFT activa el plan AWS Enterprise Support para las cuentas aprovisionadas por AFT.

AWS las cuentas vienen con el plan AWS Basic Support activado de forma predeterminada. AFT proporciona la inscripción automática en el nivel de soporte Enterprise para las cuentas que AFT aprovisiona. El proceso de aprovisionamiento abre un ticket de soporte para la cuenta, en el que se solicita que se añada al plan AWS Enterprise Support.

Para habilitar la opción Enterprise Support, defina la siguiente marca de características en **True** en la configuración de entrada de implementación de AFT.

```
aft_feature_enterprise_support=false
```

Consulte [Compare AWS Support Plans](https://aws.amazon.com/premiumsupport/plans/) para obtener más información sobre los planes de AWS Support.

**nota**  
Para permitir que esta característica funcione, debe inscribir la cuenta de pagador en el plan Enterprise Support.

## Eliminar la AWS VPC predeterminada
<a name="delete-default-vpc-option"></a>

 Al habilitar esta opción, AFT elimina todos los AWS valores predeterminados VPCs de la cuenta de administración de AFT y de todos Regiones de AWS, incluso si no ha implementado los recursos de AWS Control Tower en ellas Regiones de AWS. 

 AFT no elimina VPCs automáticamente las cuentas AWS predeterminadas de la Torre de Control de AWS que AFT aprovisione ni las AWS cuentas existentes que usted inscriba en la Torre de Control de AWS a través de AFT. 

Las AWS cuentas nuevas se crean con una VPC configurada en cada una de ellas Región de AWS, de forma predeterminada. Es posible que su empresa tenga prácticas de creación estándar VPCs, que requieran que elimine la VPC AWS predeterminada y evite habilitarla, especialmente para la cuenta de administración de AFT. 

Para habilitar esta opción, defina la siguiente marca de características en **True** en la configuración de entrada de implementación de AFT.

```
aft_feature_delete_default_vpcs_enabled
```

A continuación se muestra un ejemplo con una configuración de entrada de implementación de AFT.

```
module "aft" {
  source = "github.com/aws-ia/terraform-aws-control_tower_account_factory"
  ct_management_account_id    = var.ct_management_account_id
  log_archive_account_id      = var.log_archive_account_id
  audit_account_id            = var.audit_account_id
  aft_management_account_id   = var.aft_management_account_id
  ct_home_region              = var.ct_home_region
  tf_backend_secondary_region = var.tf_backend_secondary_region

  vcs_provider                                  = "github"
  account_request_repo_name                     = "${var.github_username}/learn-terraform-aft-account-request"
  account_provisioning_customizations_repo_name = "${var.github_username}/learn-terraform-aft-account-provisioning-customizations"
  global_customizations_repo_name               = "${var.github_username}/learn-terraform-aft-global-customizations"
  account_customizations_repo_name              = "${var.github_username}/learn-terraform-aft-account-customizations"

  # Optional Feature Flags
  aft_feature_delete_default_vpcs_enabled = true
  aft_feature_cloudtrail_data_events      = false
  aft_feature_enterprise_support          = false
}
```

Consulta la [VPC predeterminada y las subredes predeterminadas](https://docs.aws.amazon.com/vpc/latest/userguide/default-vpc.html) para obtener más información sobre las predeterminadas. VPCs

# Consideraciones de recursos para el generador de cuentas para Terraform de AWS Control Tower
<a name="aft-resources"></a>

Cuando configura su landing zone con AWS Control Tower Account Factory for Terraform, se crean varios tipos de AWS recursos en sus AWS cuentas.

**Búsqueda de recursos**
+ Puede utilizar etiquetas para buscar la lista más actualizada de recursos de AFT. El par clave-valor para su búsqueda es:

  ```
  Key: managed_by | Value: AFT
  ```
+ En el caso de los servicios de componentes que no admiten etiquetas, puede localizar los recursos con una búsqueda de `aft` en los nombres de los recursos.

**nota**  
AFT no crea ningún recurso AWS de Backup en la cuenta de administración.

**Tablas de recursos creadas inicialmente, por cuenta**


**Cuenta de administración del generador de cuentas para Terraform de AWS Control Tower**  

| **AWS service** | **Tipo de recurso** | **Nombre del recurso** | 
| --- | --- | --- | 
| AWS Identity and Access Management | Roles |  AWSAFTAdmin AWSAFTExecution AWSAFTService ct-aft-\$1 aft-\$1 codebuild\$1trigger\$1role python-layer-builder-aft-common-\$1 | 
| AWS Identity and Access Management | Políticas | aft-\$1 | 
| CodeCommit | Repositorios | aft-\$1 | 
| CodeBuild | Proyectos de compilación | aft-\$1 ct-aft-\$1 python-layer-builder-aft-common-\$1  | 
| Canalización de código | Canalizaciones | **YourAccountId**-customizations-pipeline | 
| Amazon S3 | Buckets | aft-\$1  | 
| Lambda | Funciones | aft-\$1 | 
| Lambda | Capas | aft-common-\$1 | 
| DynamoDB | Tablas | aft-request aft-request-audit aft-request-metadata aft-controltower-events | 
| Step Functions | Máquinas de estado | aft-account-provisioning-customizations aft-account-provisioning-framework aft-feature-options aft-invoke-customizations | 
| VPC | VPC | aft-management-vpc | 
| Amazon SNS | Temas | aft-notifications aft-failure-notifications | 
| Amazon EventBridge | Buses de eventos | aft-events-from-ct-management | 
| Amazon EventBridge | Reglas de eventos | aft-account-provisioning-customizations-trigger aft-account-request-codepipeline-trigger aft-lambda-account-request-processor aft-controltower-event-logger | 
| Key Management Service (KMS) | Claves administradas por el cliente | aft-backend-\$1-kms-key aft | 
| AWS Systems Manager | Almacén de parámetros | /aft/\$1  | 
| Amazon SQS | Colas | aft-account-request.fifo aft-account-request-dlg.fifo | 
| CloudWatch | Grupos de registro | /aws/\$1/ct-aft-\$1 /aws/\$1/aft-\$1 /aws/codebuild/python-layer-builder-aft-common-\$1 | 
| AWS Backup | Almacenes | aft-controltower-backup-vault | 
| AWS Backup | Planes | aft-controltower-backup-plan | 
| AWS Support Center (opcional) | Planes de Support | Enterprise | 


**AWS cuentas aprovisionadas a través de AWS Control Tower Account Factory para Terraform**  

| **AWS service** | **Tipo de recurso** | **Nombre del recurso** | 
| --- | --- | --- | 
| AWS Identity and Access Management | Roles | AWSAFTExecution | 
| AWS Support Center (opcional) | Planes de Support | Enterprise | 


**Cuenta de administración de AWS Control Tower**  

| **AWS service** | **Tipo de recurso** | **Nombre del recurso** | 
| --- | --- | --- | 
| AWS Identity and Access Management | Roles |  AWSAFTExecution AWSAFTService aft-controltower-events-rule  | 
| AWS Systems Manager | Almacén de parámetros | /aft/\$1 | 
| EventBridge | Reglas de eventos | aft-capture-ct-events | 
| CloudTrail (Opcional) | Registros de seguimiento | aws-aft-CustomizationsCloudTrail | 
| Centro de AWS Support (opcional) | Planes de Support | Enterprise | 


**Cuenta de archivo de registro de AWS Control Tower**  

| **AWS service** | **Tipo de recurso** | **Nombre del recurso** | 
| --- | --- | --- | 
| AWS Identity and Access Management | Roles |  AWSAFTExecution AWSAFTService  | 
| Key Management Service (KMS) | Claves administradas por el cliente | aft | 
| Amazon S3 | Buckets | aws-aft-logs-\$1 aws-aft-s3-access-logs-\$1 | 
| AWS Support Center (opcional) | Planes de Support | Enterprise | 


**Cuenta de auditoría de AWS Control Tower**  

| **AWS service** | **Tipo de recurso** | **Nombre del recurso** | 
| --- | --- | --- | 
| AWS Identity and Access Management | Roles |  AWSAFTExecution AWSAFTService  | 
| AWS Support Center (opcional) | Planes de Support | Enterprise | 

# Roles obligatorios
<a name="aft-required-roles"></a>

En general, los roles y las políticas forman parte de Identity and Access Management (IAM) en AWS. Para obtener más información, consulte la [https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html](https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html).

AFT crea varios roles y políticas de IAM en las cuentas de administración de AFT y de administración de AWS Control Tower para respaldar las operaciones de la canalización de AFT. Estos roles se crean en función del modelo de acceso de privilegio mínimo, que restringe el permiso a los conjuntos de acciones y recursos mínimos necesarios para cada rol y política. A estos roles y políticas se les asigna un `key:value` par de AWS etiquetas, a modo ` managed_by:AFT` de identificación. 

Además de estos roles de IAM, AFT crea tres roles esenciales:
+ El rol de `AWSAFTAdmin`
+ El rol de `AWSAFTExecution`
+ El rol de `AWSAFTService`

Estos roles se explican en las siguientes secciones.

**El AWSAFTAdmin rol, explicado**

Al implementar AFT, el rol de `AWSAFTAdmin` se crea en la cuenta de administración de AFT. Este rol permite que la canalización de AFT asuma el rol de `AWSAFTExecution` en las cuentas aprovisionadas de AWS Control Tower y AFT y, por lo tanto, realice acciones relacionadas con el aprovisionamiento y la personalización de las cuentas.

Esta es la política insertada (artefacto de JSON) asociada al rol de `AWSAFTAdmin`: 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRole",
            "Resource": [
                "arn:aws:iam::*:role/AWSAFTExecution",
                "arn:aws:iam::*:role/AWSAFTService"
            ]
        }
    ]
}
```

------

El siguiente artefacto de JSON muestra la relación de confianza del rol de `AWSAFTAdmin`. El número de marcador `012345678901` se sustituye por el número de identificación de la cuenta de administración de la AFT.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::012345678901:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

**El AWSAFTExecution papel, explicado**

Al implementar AFT, el rol de `AWSAFTExecution` se crea en las cuentas de administración de AFT y de administración de AWS Control Tower. Más adelante, la canalización de AFT crea el rol de `AWSAFTExecution` en cada cuenta aprovisionada de AFT durante la etapa de aprovisionamiento de la cuenta de AFT.

 AFT utiliza inicialmente el rol de `AWSControlTowerExecution` para crear el rol de `AWSAFTExecution` en cuentas especificadas. El rol de `AWSAFTExecution` permite que la canalización de AFT ejecute los pasos que se llevan a cabo durante las etapas de aprovisionamiento y personalización del aprovisionamiento del marco de AFT, para cuentas aprovisionadas por AFT y para cuentas compartidas.

**Los roles distintos le ayudan a limitar el alcance**  
Como práctica recomendada, mantenga los permisos de personalización separados de los permisos permitidos durante la implementación inicial de los recursos. Recuerde que el rol de `AWSAFTService` se ha diseñado para el aprovisionamiento de cuentas y el rol de `AWSAFTExecution` para la personalización de cuentas. Esta separación limita el alcance de los permisos que se permiten durante cada fase de la canalización. Esta distinción es especialmente importante si va a personalizar las cuentas compartidas de AWS Control Tower, ya que las cuentas compartidas pueden contener información confidencial, como detalles de facturación o información de usuario.

Permisos para `AWSAFTExecution` el rol: **AdministratorAccess**— una política administrada por AWS 

El siguiente artefacto de JSON muestra la política de IAM (relación de confianza) al rol de `AWSAFTExecution`. El número de marcador `012345678901` se sustituye por el número de identificación de la cuenta de administración de la AFT.

Política de confianza para `AWSAFTExecution`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::012345678901:role/AWSAFTAdmin"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

** AWSAFTService Explicación del rol**

El rol de `AWSAFTService` despliega los recursos de AFT en todas las cuentas inscritas y administradas, incluidas las cuentas compartidas y la cuenta de administración. Anteriormente, los recursos los implementaba únicamente el rol de `AWSAFTExecution`.

El rol de `AWSAFTService` se ha diseñado para que la infraestructura de servicios implemente recursos durante la etapa de aprovisionamiento, mientras que el rol de `AWSAFTExecution` está diseñado únicamente para implementar personalizaciones. Al asumir los roles de esta manera, puede mantener un control de acceso más detallado durante cada etapa.

Permisos para `AWSAFTService` el rol: **AdministratorAccess**— una política administrada por AWS 

El siguiente artefacto de JSON muestra la política de IAM (relación de confianza) al rol de `AWSAFTService`. El número de marcador `012345678901` se sustituye por el número de identificación de la cuenta de administración de la AFT.

Política de confianza para `AWSAFTService`

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::012345678901:role/AWSAFTAdmin"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

# Servicios de componentes
<a name="aft-components"></a>

Al implementar AFT, se agregan componentes a su AWS entorno desde cada uno de estos AWS servicios.
+ **[AWS Control Tower](https://docs.aws.amazon.com//controltower/latest/userguide/what-is-control-tower.html)**: AFT utiliza el generador de cuentas de AWS Control Tower en la cuenta de administración de AWS Control Tower para aprovisionar cuentas.
+ **[Amazon DynamoDB](https://docs.aws.amazon.com//amazondynamodb/latest/developerguide/Introduction.html)**: AFT crea tablas de Amazon DynamoDB en la cuenta de administración de AFT, que almacenan solicitudes de cuentas, historial de auditoría de actualizaciones de cuentas, metadatos de cuentas y eventos del ciclo de vida de AWS Control Tower. AFT también crea desencadenadores de Lambda para DynamoDB para iniciar procesos descendentes, como el flujo de trabajo de aprovisionamiento de cuentas de AFT. 
+ **[Amazon Simple Storage Service](https://docs.aws.amazon.com//AmazonS3/latest/userguide/Welcome.html)**: AFT crea depósitos de Amazon Simple Storage Service (S3) en la cuenta de administración de AFT y en la cuenta de archivo de registros de AWS Control Tower, que almacenan los registros generados por los servicios que requiere AWS la canalización de AFT. AFT también crea un depósito S3 del backend de Terraform, en el módulo primario y en el secundario Regiones de AWS, para almacenar los estados de Terraform generados durante los flujos de trabajo de AFT.
+ **[Amazon Simple Notification Service](https://docs.aws.amazon.com//sns/latest/dg/welcome.html)**: AFT crea temas de Amazon Simple Notification Service (SNS) en la cuenta de administración de AFT, que almacena las notificaciones de éxito y error después de procesar cada solicitud de cuenta de AFT. Puede recibir estos mensajes utilizando el protocolo que elija.
+ **[Amazon Simple Queuing Service](https://docs.aws.amazon.com//AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html)**: AFT crea una cola FIFO de Amazon Simple Queuing Service (Amazon SQS) en la cuenta de administración de AFT. La cola permite enviar varias solicitudes de cuenta en paralelo, sin embargo, envía una sola solicitud a la vez al generador de cuentas de AWS Control Tower para su procesamiento secuencial.
+ **[AWS CodeBuild](https://docs.aws.amazon.com//codebuild/latest/userguide/welcome.html)**: AFT crea proyectos de CodeBuild compilación de AWS en la cuenta de administración de AFT para inicializar, compilar, probar y aplicar los planes de Terraform para el código fuente de AFT en varias etapas de compilación.
+ **[AWS CodePipeline](https://docs.aws.amazon.com//codepipeline/latest/userguide/welcome.html)**: AFT crea CodePipeline canalizaciones de AWS en la cuenta de administración de AFT para integrarlas con el proveedor de CodeStar conexiones de AWS que haya seleccionado y compatible para el código fuente de AFT y activar trabajos de creación en AWS CodeBuild.
+ **[AWS Lambda](https://docs.aws.amazon.com//lambda/latest/dg/welcome.html)**: AFT crea funciones y capas de AWS Lambda en la cuenta de administración de AFT para realizar pasos durante los procesos de solicitud de cuenta, aprovisionamiento de cuentas AFT y personalizaciones de cuentas.
+ **[AWS Systems Manager Parameter Store](https://docs.aws.amazon.com//systems-manager/latest/userguide/systems-manager-parameter-store.html)**: AFT configura el Almacén de parámetros de AWS Systems Manager en la cuenta de administración de AFT para almacenar los parámetros de configuración necesarios para los procesos de canalización de AFT.
+ **[Amazon CloudWatch](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)**: AFT crea grupos de CloudWatch registros de Amazon en la cuenta de administración de AFT para almacenar los registros generados por los servicios de AWS empleados por la canalización de AFT. El período de retención de CloudWatch los registros está establecido en`Never Expire`.
+ **[Amazon VPC](https://docs.aws.amazon.com//vpc/latest/userguide/what-is-amazon-vpc.html)**: AFT crea una Amazon Virtual Private Cloud (VPC) para aislar los servicios y recursos de la cuenta de administración de AFT en un entorno de red independiente, a fin de mejorar la seguridad.
+ **[AWS KMS](https://docs.aws.amazon.com//kms/latest/developerguide/overview.html)**: AFT utiliza el AWS Key Management Service (KMS) en la cuenta de administración de AFT y en la cuenta de archivo de registro de AWS Control Tower. AFT crea claves para cifrar estados de Terraform, datos almacenados en tablas de DynamoDB y temas de SNS. Estos registros y artefactos se generan cuando AFT implementa recursos y servicios de AWS. Las claves de KMS creadas por AFT tienen habilitada la rotación anual de forma predeterminada.
+ **[AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com//IAM/latest/UserGuide/introduction.html)**: AFT sigue el modelo de privilegios mínimos recomendado. Crea funciones y políticas de AWS Identity and Access Management (IAM) en la cuenta de administración de AFT, en las cuentas de la Torre de Control de AWS y en las cuentas aprovisionadas por AFT, según sea necesario, para realizar las acciones necesarias durante el flujo de trabajo de AFT.
+ **[AWS Step Functions](https://docs.aws.amazon.com//step-functions/latest/dg/welcome.html)**: AFT crea máquinas de estado de AWS Step Functions en la cuenta de administración de AFT. Estas máquinas de estado organizan y automatizan el proceso y los pasos del marco de aprovisionamiento y las personalizaciones de la cuenta de AFT.
+ **[Amazon EventBridge](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-what-is.html)**: AFT crea un bus de EventBridge eventos de Amazon en la cuenta de administración de AFT y AWS Control Tower para capturar y almacenar los eventos del ciclo de vida de la Torre de Control de AWS a largo plazo en la tabla DynamoDB de la cuenta de administración de AFT. AFT crea reglas de CloudWatch eventos de Amazon en las cuentas de administración de AFT y de administración de la Torre de Control Tower de AWS, que activan varios pasos necesarios durante la ejecución del flujo de trabajo de la canalización de AFT
+ **[AWS CloudTrail (Opcional)](https://docs.aws.amazon.com//awscloudtrail/latest/userguide/cloudtrail-user-guide.html)**: cuando esta función está habilitada, AFT crea un registro de la AWS CloudTrail organización en la cuenta de administración de la Torre de Control Tower de AWS para registrar los eventos de datos de los buckets de Amazon S3 y las funciones de AWS Lambda. AFT envía estos registros a un bucket de S3 central en la cuenta de archivo de registro de AWS Control Tower.
+ **[AWS Soporte (opcional)](https://aws.amazon.com//premiumsupport/)**: cuando esta función está habilitada, AFT activa el plan AWS Enterprise Support para las cuentas aprovisionadas por AFT. De forma predeterminada,AWS las cuentas se crean con el plan AWS Basic Support activado.

# Canalización de aprovisionamiento de cuentas de AFT
<a name="aft-provisioning-framework"></a>

Una vez completada la etapa de aprovisionamiento de cuentas de la canalización, el marco de AFT continúa. Ejecuta automáticamente una serie de pasos para garantizar que las cuentas recién aprovisionadas cuenten con los detalles necesarios antes de que comience la etapa de [Personalizaciones de cuentas](aft-account-customization-options.md).

**A continuación se indican los pasos que ejecuta la canalización de AFT.**

1. Valida la entrada de la solicitud de cuenta.

1. Recupera información sobre la cuenta aprovisionada, por ejemplo, el ID de la cuenta.

1. Almacena los metadatos de la cuenta en una tabla de DynamoDB de la cuenta de administración de AFT.

1. Crea la función de **AWSAFTExecution**IAM en la cuenta recién aprovisionada. AFT asume este rol para realizar la etapa de personalización de la cuenta, ya que este rol otorga acceso a la cartera del generador de cuentas. 

1. Aplica las etiquetas de cuenta proporcionadas como parte de los parámetros de entrada de la solicitud de cuenta.

1. Aplica las opciones de características de AFT seleccionadas en el momento de la implementación de AFT.

1. Aplica las personalizaciones de aprovisionamiento de cuentas de AFT proporcionadas. En la siguiente sección se explica cómo configurar estas personalizaciones con una máquina de estado de AWS Step Functions en un repositorio `git`. Esta etapa a veces se denomina etapa del *marco de aprovisionamiento de cuentas*. Forma parte del proceso de aprovisionamiento principal, aunque anteriormente ha configurado un marco que ofrece integraciones personalizadas como parte del flujo de trabajo de aprovisionamiento de cuentas, antes de que se añadan personalizaciones adicionales a las cuentas en la siguiente etapa.

1. Para cada cuenta aprovisionada, crea una cuenta de administración AWS CodePipeline en la AFT, que se ejecutará para pasar a la siguiente etapa (global). [Personalizaciones de cuentas](aft-account-customization-options.md)

1. Invoca la canalización de personalizaciones de cuentas en cada cuenta aprovisionada (y seleccionada).

1. Envía una notificación de éxito o error al tema de SNS, desde el que puede recuperar los mensajes.

## Configuración de las personalizaciones del marco de aprovisionamiento de cuentas con una máquina de estado
<a name="aft-customizations"></a>

Si configura integraciones personalizadas que no sean de Terraform antes de aprovisionar las cuentas, estas personalizaciones se incluyen en el flujo de trabajo de aprovisionamiento de cuentas de AFT. Por ejemplo, puede requerir ciertas personalizaciones para garantizar que todas las cuentas creadas por AFT cumplen las normas y políticas de la organización, como los estándares de seguridad, y estas normas pueden añadirse a las cuentas antes de realizar una personalización adicional. Estas personalizaciones del *marco de aprovisionamiento de cuentas* se implementan en cada cuenta aprovisionada, antes de que comience la siguiente etapa de personalización global de la cuenta.

**nota**  
La característica de AFT que se describe en esta sección está destinada a usuarios avanzados que entienden el funcionamiento de AWS Step Functions. Como alternativa, le recomendamos que trabaje con los ayudantes globales en la etapa de personalizaciones de la cuenta.

El marco de aprovisionamiento de cuentas de AFT llama a una máquina de estado de AWS Step Functions, que debe definir previamente para implementar las personalizaciones. Consulte la [documentación de AWS Step Functions](https://docs.aws.amazon.com//step-functions/latest/dg/welcome.html) para obtener más información sobre las posibles integraciones de máquinas de estado.

A continuación se muestran algunas integraciones comunes.
+ Funciones de AWS Lambda en el idioma que prefiera
+ Tareas de AWS ECS o AWS Fargate utilizando contenedores de Docker
+ Actividades de AWS Step Functions con trabajadores personalizados, alojadas en AWS o en las instalaciones
+ Integraciones de Amazon SNS o SQS

Si no se ha definido ninguna máquina de estado de AWS Step Functions, la etapa pasa que se produzca ninguna operación. Para crear una máquina de estado de personalizaciones de aprovisionamiento de cuentas de AFT, siga las instrucciones que se indican en [Creación de la máquina de estado de personalizaciones de aprovisionamiento de cuentas de AFT](#aft-create-customizations). Antes de añadir personalizaciones, asegúrese de cumplir los requisitos previos.

Estos tipos de integraciones no forman parte de AWS Control Tower y no se pueden añadir durante la etapa global previa a la API de personalización de cuentas de AFT. En su lugar, la canalización de AFT le permite configurar estas personalizaciones como parte del proceso de aprovisionamiento y se ejecutan en el flujo de trabajo de aprovisionamiento. Debe implementar estas personalizaciones creando la máquina de estado con antelación, antes de iniciar la etapa de aprovisionamiento de cuentas de AFT, tal y como se describe en las siguientes secciones. 

**Requisitos previos para crear una máquina de estado**
+ Un AFT completamente implementado. Para obtener más información sobre la implementación de AFT, consulte [Implementación del generador de cuentas para Terraform (AFT) de AWS Control Tower](aft-getting-started.md).
+ Configure un repositorio `git` en el entorno para las personalizaciones de aprovisionamiento de cuentas de AFT. Para obtener más información, consulte [Pasos posteriores a la implementación](aft-post-deployment.md).

## Creación de la máquina de estado de personalizaciones de aprovisionamiento de cuentas de AFT
<a name="aft-create-customizations"></a>

**Paso 1: modificar la definición de la máquina de estado**

Modifique el ejemplo de definición de máquina de estado `customizations.asl.json`. El ejemplo está disponible en el repositorio `git` configurado para almacenar las personalizaciones de aprovisionamiento de cuentas de AFT, en los [post-deployment steps](https://docs.aws.amazon.com//controltower/latest/userguide/aft-post-deployment.html). Consulte la [Guía para desarrolladores de AWS Step Functions](https://docs.aws.amazon.com//step-functions/latest/dg/welcome.html) para obtener más información sobre las definiciones de máquinas de estado.

**Paso 2: incluir la configuración de Terraform correspondiente**

Incluya los archivos de Terraform con la extensión `.tf` en el mismo repositorio `git` con la definición de la máquina de estado para la integración personalizada. Por ejemplo, si decide llamar a una función de Lambda en la definición de tareas de la máquina de estado, debe incluir el archivo `lambda.tf` en el mismo directorio. Asegúrese de incluir los roles y permisos de IAM necesarios para las configuraciones personalizadas.

Cuando proporciona la entrada adecuada, la canalización de AFT invoca automáticamente la máquina de estado e implementa las personalizaciones como parte de la etapa del marco de aprovisionamiento de cuentas de AFT. 

## Reinicio de las personalizaciones y del marco de aprovisionamiento de cuentas de AFT
<a name="aft-provisioining-considerations"></a>

AFT ejecuta el marco de aprovisionamiento de cuentas y los pasos de personalización de cada cuenta vendida a través de la canalización de AFT. Para reiniciar las personalizaciones de aprovisionamiento de cuentas, puede utilizar uno de estos dos métodos:

1. Realizar cualquier cambio en una cuenta existente en el repositorio de solicitudes de cuentas.

1. Aprovisionar una nueva cuenta con AFT.

# Personalizaciones de cuentas
<a name="aft-account-customization-options"></a>

AFT puede implementar configuraciones estándar o personalizadas en cuentas aprovisionadas. En la cuenta de administración de AFT, AFT proporciona una canalización para cada cuenta. Con esta canalización, puede implementar las personalizaciones en todas las cuentas, en un conjunto de cuentas o en cuentas individuales. Puede ejecutar scripts de Python, scripts de Bash y configuraciones de Terraform, o puede interactuar con la CLI de AWS como parte de la etapa de personalizaciones de cuentas.

## Descripción general de
<a name="aft-customizations-overview"></a>

Una vez especificadas las personalizaciones en los repositorios `git` elegidos, ya sea en el que almacena las personalizaciones globales o en el que almacena las personalizaciones de cuentas, la etapa de personalizaciones de cuentas la completa automáticamente la canalización de AFT. Para personalizar cuentas de forma retroactiva, consulte [Reinvocación de personalizaciones](#aft-re-invoke-customizations).

**Personalizaciones globales (opcional)**

Puede optar por aplicar determinadas personalizaciones a todas las cuentas aprovisionadas por AFT. Por ejemplo, si necesita crear un rol de IAM concreto o implementar un control personalizado en cada cuenta, la etapa de personalizaciones globales en la canalización de AFT le permitirá hacerlo automáticamente.

**Personalizaciones de cuentas (opcional)**

Para personalizar una cuenta individual o un conjunto de cuentas de manera diferente a otras cuentas aprovisionadas de AFT, puede aprovechar la parte de personalizaciones de cuentas de la canalización de AFT para implementar configuraciones específicas de cuenta. Por ejemplo, solo una cuenta determinada puede requerir acceso a una puerta de enlace de Internet. 

## Requisitos previos de personalización
<a name="aft-account-customization-prerequisites"></a>

Antes de empezar a personalizar cuentas, asegúrese de que se cumplen estos requisitos previos.
+ Un AFT completamente implementado. Para obtener información sobre cómo implementarlo, consulte [Configuración y lanzamiento del generador de cuentas para Terraform de AWS Control Tower](aft-getting-started.md#aft-configure-and-launch).
+ Repositorios `git` previamente rellenados para personalizaciones globales y personalizaciones de cuentas en el entorno. Consulte el *Paso 3: rellenar cada repositorio* en [Pasos posteriores a la implementación](aft-post-deployment.md) para obtener más información.

## Aplicación de personalizaciones globales
<a name="aft-global-customizations"></a>

Para aplicar las personalizaciones globales, debe insertar una estructura de carpetas específica en el repositorio que elija.
+ Si las configuraciones personalizadas tienen un formato de programas o scripts de Python, colóquelas en la carpeta **api\$1helpers/python** del repositorio.
+ Si las configuraciones personalizadas tienen un formato de scripts de Bash, colóquelas en la carpeta **api\$1helpers** del repositorio.
+ Si las configuraciones personalizadas tienen un formato de Terraform, colóquelas en la carpeta **Terraform** del repositorio.
+ Consulta el archivo README de personalizaciones globales para obtener más información sobre la creación de configuraciones personalizadas.

**nota**  
Las personalizaciones globales se aplican automáticamente, una vez finalizada la etapa del marco de aprovisionamiento de cuentas de AFT en la canalización de AFT.

## Aplicación de personalizaciones de cuentas
<a name="aft-account-customizations"></a>

****

 Puede aplicar personalizaciones de cuentas insertando una estructura de carpetas específica en el repositorio que elija. Las personalizaciones de cuentas se aplican automáticamente en la canalización de AFT y después de la etapa de personalizaciones globales. También puede crear varias carpetas que contengan diferentes personalizaciones de cuentas en el repositorio de personalizaciones de cuentas. Siga los siguientes pasos en cada una de las personalizaciones de cuentas que necesite. 

**Aplicación de personalizaciones de cuentas**

1.  ** Paso 1: crear una carpeta para la personalización de una cuenta ** 

    En el repositorio que elija, copie la carpeta `ACCOUNT_TEMPLATE` proporcionada por AFT en una nueva carpeta. El nombre de la nueva carpeta debe coincidir con el `account_customizations_name` facilitado en la solicitud de cuenta. 

1.  ** Añada las configuraciones a la carpeta de personalizaciones de cuentas específica ** 

    Puede añadir configuraciones a la carpeta de personalizaciones de la cuenta en función del formato de las configuraciones. 
   +  Si tus configuraciones personalizadas tienen la forma de programas o scripts de Python, colócalas en la carpeta ***[account\$1customizations\$1name]*/api\$1helpers/python** que se encuentra en tu repositorio. 
   +  Si tus configuraciones personalizadas están en forma de scripts de Bash, colócalas en la carpeta ***[account\$1customizations\$1name]*/api\$1helpers** que se encuentra en tu repositorio. 
   +  Si tus configuraciones personalizadas tienen el formato de Terraform, colócalas en la carpeta ***[account\$1customizations\$1name]*/terraform** que se encuentra en tu repositorio. 

    Para obtener más información sobre la creación de configuraciones personalizadas, consulte el archivo README de personalizaciones de cuentas. 

1.  ** Consulte el parámetro `account_customizations_name` específico en el archivo de solicitud de cuenta ** 

    El archivo de solicitud de cuenta de AFT incluye el parámetro de entrada `account_customizations_name`. Introduzca el nombre de la personalización de la cuenta como valor de este parámetro. 

**nota**  
 Puede enviar varias solicitudes de cuentas a cuentas del entorno. Si desea aplicar personalizaciones de cuentas diferentes o similares, especifique las personalizaciones de cuentas utilizando el parámetro de entrada `account_customizations_name` en las solicitudes de cuentas. Para obtener más información, consulte [Submit multiple account requests](https://docs.aws.amazon.com/controltower/latest/userguide/aft-multiple-account-requests.html). 

## Reinvocación de personalizaciones
<a name="aft-re-invoke-customizations"></a>

AFT proporciona una forma de reinvocar personalizaciones en la canalización de AFT. Este método es útil cuando ha añadido un nuevo paso de personalización o cuando realiza cambios en una personalización existente. Durante la reinvocación, AFT inicia la canalización de personalizaciones para realizar cambios en la cuenta aprovisionada de AFT. Al event-source-based volver a invocarlas, puedes aplicar personalizaciones a cuentas individuales, a todas las cuentas, a las cuentas según su OU o a las cuentas seleccionadas según las etiquetas.

Siga estos tres pasos para reinvocar las personalizaciones de las cuentas aprovisionadas por AFT.

**Paso 1: insertar cambios en los repositorios `git` de personalizaciones globales o de cuentas**

Puede actualizar las personalizaciones globales y de cuentas según sea necesario y devolver los cambios a los repositorios `git`. En este punto, no ocurre nada. Un origen de eventos debe invocar la canalización de personalizaciones, tal y como se explica en los dos pasos siguientes.

**Paso 2: iniciar una ejecución de AWS Step Functions para reinvocar personalizaciones**

AFT proporciona una AWS Step Function denominada `aft-invoke-customizations` en la cuenta de administración de AFT. El propósito de esa función es reinvocar la canalización de personalización de las cuentas aprovisionadas por AFT.

A continuación se muestra un ejemplo de un esquema de eventos (formato JSON) que puede crear para pasar la entrada a la AWS Step Function `aft-invoke-customizations`.

```
{
  "include": [
    {
      "type": "all"
    },
    {
      "type": "ous",
      "target_value": [ "ou1","ou2"]
    },
    {
      "type": "tags",
      "target_value": [ {"key1": "value1"}, {"key2": "value2"}]
    },
    {
      "type": "accounts",
      "target_value": [ "acc1_ID","acc2_ID"]
    }
  ],

  "exclude": [
    {
      "type": "ous",
      "target_value": [ "ou1","ou2"]
    },
    {
      "type": "tags",
      "target_value": [ {"key1": "value1"}, {"key2": "value2"}]
    },
    {
      "type": "accounts",
      "target_value": [ "acc1_ID","acc2_ID"]
    }
  ]
}
```

 El ejemplo de esquema de eventos muestra que puede elegir cuentas para incluirlas o excluirlas del proceso de reinvocación. Puede filtrar por OU, etiquetas de cuenta e ID de cuenta. Si no aplica ningún filtro e incluye la declaración `"type":"all"`, se reinvoca la personalización de todas las cuentas aprovisionadas por AFT. 

**nota**  
 Si su versión de AWS Control Tower Account Factory for Terraform (AFT) es la 1.6.5 o posterior, puede segmentar anidada OUs con la sintaxis). `OU Name (ou-id-1234` Para obtener más información, consulte el siguiente tema sobre. [GitHub](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/issues/280) 

 Tras rellenar los parámetros del evento, Step Functions se ejecuta e invoca las personalizaciones correspondientes. AFT puede invocar un máximo de 5 personalizaciones a la vez. Step Functions permanece a la espera y realiza un bucle hasta que se completen todas las cuentas que coinciden con los criterios del evento. 

**Paso 3: Supervise el resultado de AWS Step Function y observe cómo CodePipeline funciona AWS**
+ El resultado de Step Function contiene una cuenta IDs que coincide con la fuente del evento de entrada de Step Function.
+ Diríjase a AWS CodePipeline en **Herramientas para desarrolladores** y consulte las canalizaciones de personalización correspondientes al ID de la cuenta.

## Solución de problemas con el seguimiento de solicitudes de personalización de cuentas de AFT
<a name="aft-customization-request"></a>

 Flujos de trabajo de personalización de cuentas basados en registros de AWS Lambda emisiones que contienen la cuenta de destino y la solicitud IDs de personalización. AFT le permite rastrear las solicitudes de personalización y solucionar problemas con Amazon CloudWatch Logs al proporcionarle consultas de CloudWatch Logs Insights que puede usar para filtrar CloudWatch los registros relacionados con su solicitud de personalización por su cuenta de destino o ID de solicitud de personalización. Para obtener más información, consulte [Análisis de datos de registro con Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) en la *Guía del usuario de Amazon CloudWatch Logs*. 

**Para utilizar CloudWatch Logs Insights para AFT**

1. Abra la CloudWatch consola en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1.  En el panel de navegación, elija **Registros** y, a continuación, **Logs Insights**. 

1.  Seleccione **Consultas.** 

1.  En **Consultas de muestra**, seleccione **Generador de cuentas para Terraform** y, a continuación, seleccione una de las siguientes consultas: 
   +  **Registros de personalización por ID de cuenta** 
**nota**  
 Asegúrese de *"YOUR-ACCOUNT-ID"* reemplazarlo por el ID de su cuenta de destino. 

     ```
     fields @timestamp, log_message.account_id as target_account_id, log_message.customization_request_id as customization_request_id, log_message.detail as detail, @logStream
     | sort @timestamp desc
     | filter log_message.account_id == "YOUR-ACCOUNT-ID" and @message like /customization_request_id/
     ```
   +  **Registros de personalización por ID de solicitud de personalización** 
**nota**  
 Asegúrate de *"YOUR-CUSTOMIZATION-REQUEST-ID"* reemplazarlo por el ID de tu solicitud de personalización. Puede encontrar el ID de su solicitud de personalización en la salida de la máquina de AWS Step Functions estados del marco de aprovisionamiento de cuentas AFT. Para obtener más información sobre el marco de aprovisionamiento de cuentas de AFT, consulte [AFT account provisioning pipeline](https://docs.aws.amazon.com/controltower/latest/userguide/aft-provisioning-framework.html) 

     ```
     fields @timestamp, log_message.account_id as target_account_id, log_message.customization_request_id as customization_request_id, log_message.detail as detail, @logStream
     | sort @timestamp desc
     | filter log_message.customization_request_id == "YOUR-CUSTOMIZATION-REQUEST-ID"
     ```

1.  Después de seleccionar una consulta, asegúrese de seleccionar un intervalo de tiempo y, a continuación, elija **Ejecutar consulta**. 

# Alternativas para el control de versiones del código fuente en AFT
<a name="aft-alternative-vcs"></a>

AFT utiliza AWS CodeCommit un sistema de control de versiones de código fuente (VCS) y permite utilizar otros [CodeConnections](https://docs.aws.amazon.com//dtconsole/latest/userguide/supported-versions-connections.html)que cumplan con los requisitos de su negocio o con la arquitectura existente.

Si va a implementar AFT por primera vez y no tiene un CodeCommit repositorio existente, debe especificar un proveedor de VCS externo, como parte de los requisitos previos de implementación de AFT.

**AFT admite las siguientes alternativas para el control del código fuente:**
+ GitHub
+ GitHub Servidor empresarial
+ BitBucket
+ GitLab
+ GitLab Autogestionado

**nota**  
Si lo especifica AWS CodeCommit como su VCS, no es necesario realizar ningún paso adicional. AFT crea los repositorios de `git` necesarios en el entorno, con los nombres predeterminados. Sin embargo, puede anular los nombres de los repositorios predeterminados CodeCommit, según sea necesario, para cumplir con los estándares de su organización.

## Configuración de un sistema de control de versiones de código fuente alternativo (VCS personalizado) con AFT
<a name="aft-alternate-vcs-steps"></a>

Para configurar un sistema de control de versiones de código fuente alternativo para la implementación de AFT, siga estos pasos.

**Paso 1: crear repositorios de `git` en un sistema de control de versiones (VCS) externo compatible.**

Si no los utiliza AWS CodeCommit, debe crear `git` repositorios en su entorno de proveedores de VCS de terceros compatibles con AFT para los siguientes elementos.
+ **Solicitudes de cuentas de AFT.** [Código de ejemplo disponible](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-request). Para obtener más información acerca de solicitudes de cuentas de AFT, consulte [Aprovisionamiento de una nueva cuenta con AFT](aft-provision-account.md).
+ **Personalizaciones de aprovisionamiento de cuentas de AFT.** [Código de ejemplo disponible](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-provisioning-customizations). Para obtener más información sobre las personalizaciones del aprovisionamiento de cuentas de AFT, consulte [Creación de la máquina de estado de personalizaciones de aprovisionamiento de cuentas de AFT](aft-provisioning-framework.md#aft-create-customizations).
+ **Personalizaciones globales de AFT.** [Código de ejemplo disponible](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-global-customizations). Para obtener más información sobre las personalizaciones globales de AFT, consulte [Personalizaciones de cuentas](aft-account-customization-options.md).
+ **Personalizaciones de cuentas de AFT.** [Código de ejemplo disponible](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-customizations). Para obtener más información sobre las personalizaciones de cuentas de AFT, consulte [Personalizaciones de cuentas](aft-account-customization-options.md).

**Paso 2: especificar los parámetros de configuración de VCS necesarios para la implementación de AFT**

Los siguientes parámetros de entrada son necesarios para configurar el proveedor de VCS como parte de la implementación de AFT.
+ **vcs\$1provider**: Si no lo está utilizando AWS CodeCommit, especifique el proveedor de VCS como,, o `"bitbucket"` `"github"``"githubenterprise"`, según su caso de uso. `"gitlab"`
+ **github\$1enterprise\$1url: solo para clientes empresariales**, especifique la URL. GitHub GitHub 
+ **account\$1request\$1repo\$1name: para** los usuarios, este valor se establece en. AWS CodeCommit `aft-account-request` En un entorno de proveedor externo de VCS compatible con AFT, actualice este valor de entrada con el nombre real del repositorio. BitBucketEn el caso de Github, GitHub Enterprise y GitLab Self-managed GitLab, el nombre del repositorio debe tener ese formato. `[Org]/[Repo]`
+ **account\$1customizations\$1repo\$1name**: para los usuarios, este valor se establece en. AWS CodeCommit `aft-account-customizations` En un entorno de proveedor externo de VCS compatible con AFT, actualice este valor de entrada con el nombre del repositorio. BitBucketEn el caso de Github, GitHub Enterprise y GitLab Self-managed GitLab, el nombre del repositorio debe tener ese formato. `[Org]/[Repo]`
+ **account\$1provisioning\$1customizations\$1repo\$1name:** este valor se establece en `aft-account-provisioning-customizations` para los usuarios de AWS CodeCommit . En un entorno de proveedor externo de VCS compatible con AFT, actualice este valor de entrada con el nombre del repositorio. BitBucketEn el caso de Github GitLab, GitHub Enterprise y GitLab Self-Managed, el nombre del repositorio debe tener ese formato. `[Org]/[Repo]`
+ **global\$1customizations\$1repo\$1name**: para los usuarios, este valor se establece en. AWS CodeCommit `aft-global-customizations` En un entorno de proveedor externo de VCS compatible con AFT, actualice este valor de entrada con el nombre del repositorio. BitBucketEn el caso de Github, GitHub Enterprise y GitLab Self-managed GitLab, el nombre del repositorio debe tener ese formato. `[Org]/[Repo]`
+ **account\$1request\$1repo\$1branch:** la ramificación es `main` de forma predeterminada, pero el valor se puede anular. 

De forma predeterminada, AFT se extrae de la rama/ramificación `main` de cada repositorio de `git`. Puede anular el valor del nombre de la ramificación con un parámetro de entrada adicional. Para obtener más información sobre los parámetros de entrada, consulte el archivo README en el [módulo de AFT Terraform](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/blob/main/README.md#inputs).

**Para clientes actuales AWS CodeCommit**  
 Si crea un CodeCommit repositorio con un nombre nuevo para AFT, puede actualizar el nombre del repositorio actualizando los valores de estos parámetros de entrada.

**Paso 3: Complete la AWS CodeCommit conexión para los proveedores de VCS de terceros**

Cuando se ejecuta su implementación, AFT crea los AWS CodeCommit repositorios necesarios o crea una AWS CodeCommit conexión para el proveedor de VCS externo que elija. En este último caso, debe iniciar sesión manualmente en la consola de la cuenta de administración de AFT para completar la conexión pendiente CodeCommit . Consulte [la AWS CodeCommit documentación](https://docs.aws.amazon.com//dtconsole/latest/userguide/connections-update.html) para obtener más instrucciones sobre cómo completar la CodeCommit conexión. 

# Mover AFT de AWS CodeCommit a otro proveedor de VCS
<a name="move-a-vcs"></a>

En esta sección se ofrece información general sobre cómo puede transferir AWS Control Tower Account Factory for Terraform (AFT) de AWS CodeCommit un sistema de control de versiones (VCS) a otro proveedor de VCS.

**Paso 1.** Configure nuevos repositorios en el VCS que prefiera.

**Paso 2.** Añada estos repositorios como nuevos controles remotos en `git`.

**Paso 3.** Ejecute `git push` en el nuevo proveedor de VCS.

**nota**  
La estructura de repositorios que cree debe ser la misma que en.AWS CodeCommit Cambiar la estructura impide que AFT pueda ejecutar el código deseado.  
aft-account-request
 aft-account-customizations
 aft-global-customizations
aft-account-provisioning-customizations

**Paso 4.** En su cuenta de administración de AWS Control Tower, actualice el módulo Terraform (bootstrap) para que apunte a su proveedor de VCS, como se muestra en el siguiente ejemplo:

**Ejemplo: GitLab ** [con Terraform OSS](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/blob/main/examples/gitlab%2Btf_oss/main.tf)

— Ejecute `terraform plan` para obtener una vista previa de los cambios, luego `terraform apply`.

**Paso 5.** Complete los pasos para terminar de configurar el CodeConnection (anteriormente conocido como CodeStar): 

1. Inicie sesión en la cuenta de administración de AFT.

1. Localice y complete los datos pendientes AWS CodeConnections del nuevo proveedor de VCS, tal y como se describe en [Actualizar una conexión pendiente](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-update.html), o en la AWS consola, [`https://us-east-1.console.aws.amazon.com/codesuite/settings/connections`].

1. Referencia: [Pasos posteriores a la implementación](https://docs.aws.amazon.com//controltower/latest/userguide/aft-post-deployment.html)

**nota**  
Las canalizaciones de cuentas conservan el origen anterior hasta que se invoque `aft-invoke-customizations` *Step Functions*. Esta invocación se puede realizar como parte de la actualización o como parte de las siguientes invocaciones de personalizaciones.

Para obtener más información, consulta este blog: [Cómo migrar tu AWS CodeCommit repositorio a otro proveedor de Git](https://aws.amazon.com/blogs/devops/how-to-migrate-your-aws-codecommit-repository-to-another-git-provider).

# Protección de datos
<a name="aft-data-protection"></a>

El [modelo de responsabilidad compartida de AWS](https://aws.amazon.com//compliance/shared-responsibility-model/) se aplica a la protección de datos en AFT. Para fines de protección de datos, recomendamos que siga las siguientes prácticas recomendadas en materia de seguridad.
+ Siga las directrices de protección de datos de AWS Control Tower. Para obtener más información, consulte [Protección de datos en AWS Control Tower](controltower-console-encryption.md).
+ Conserve la configuración de estado de Terraform generada en el momento de la implementación de AFT. Para obtener más información, consulte [Implementación del generador de cuentas para Terraform (AFT) de AWS Control Tower](aft-getting-started.md).
+ Rote periódicamente las credenciales confidenciales según lo indique la política de seguridad de su organización. Algunos ejemplos de secretos son los tokens de Terraform, tokens de `git`, etc.

 **Cifrado en reposo** 

AFT crea depósitos de Amazon S3, temas de Amazon SNS, colas de Amazon SQS y bases de datos de Amazon DynamoDB que se cifran en reposo con claves del Servicio de administración de claves.AWS Las claves de KMS creadas por AFT tienen habilitada la rotación anual de forma predeterminada. Si elige las distribuciones Terraform Cloud o Terraform Enterprise de Terraform, AFT incluye un SecureString parámetro de AWS Systems Manager para almacenar los valores de los tokens de Terraform que son confidenciales.

AFT utiliza AWS los servicios descritos en [Servicios de componentes](aft-components.md) que, de forma predeterminada, están cifrados en reposo. Para obtener más información, consulte la AWS documentación de cada AWS servicio componente de AFT y conozca las prácticas de protección de datos que sigue cada servicio.

 **Cifrado en tránsito** 

AFT se basa en AWS los servicios descritos en los [Servicios de componentes](aft-components.md) que se emplea el cifrado en tránsito, de forma predeterminada. Para obtener más información, consulte la AWS documentación de cada AWS servicio componente de AFT y conozca las prácticas de protección de datos que sigue cada servicio.

 En el caso de las distribuciones de Terraform Cloud o Terraform Enterprise, AFT llama a una API de punto de conexión HTTPS para acceder a su organización de Terraform. Si elige un proveedor de VCS externo compatible con AWS CodeStar conexiones, AFT llama a una API de punto final HTTPS para acceder a su organización proveedora de VCS.

# Eliminación de una cuenta de AFT
<a name="aft-remove-account"></a>

 En este tema se describe cómo eliminar una cuenta de AFT para que la canalización de AFT deje de implementar y actualizar la cuenta. 

**importante**  
 La eliminación de una cuenta de la canalización de AFT es un proceso irreversible y puede provocar la pérdida de estado. 

 Puede eliminar una cuenta de AFT cuando desee cerrar una cuenta para una aplicación retirada, aislar una cuenta comprometida o mover una cuenta de una organización a otra. 

**nota**  
 La eliminación de una cuenta de AFT es diferente a eliminar una cuenta de AWS Control Tower o una Cuenta de AWS. Al eliminar una cuenta de AFT, AWS Control Tower sigue administrándola. Para eliminar una cuenta de AWS Control Tower o Cuenta de AWS, consulte lo siguiente:   
 [Anular la administración de una cuenta](https://docs.aws.amazon.com/controltower/latest/userguide/unmanage-account.html) en la *Guía del usuario de AWS Control Tower*. 
 [Cerrar una cuenta](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/close-account.html) en la *Guía del usuario de AWS Billing *. 

**Eliminación de una cuenta de las canalizaciones de AFT**

 El siguiente procedimiento describe cómo eliminar una cuenta de AFT. 

1.  **Elimine la cuenta del repositorio `git` que almacena las solicitudes de cuenta ** 

    En el repositorio `git` donde almacena las solicitudes de cuenta, elimine la solicitud de cuenta de la cuenta que desee eliminar de AFT. 

    Al eliminar una solicitud de cuenta del repositorio de solicitudes de cuenta, AFT elimina la canalización de personalización y los metadatos de la cuenta. Para obtener más información, consulte las [notas de la versión 1.8.0](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/releases/tag/1.8.0) de AFT on GitHub. 

1.  **Elimine el espacio de trabajo de Terraform (solo para clientes de Terraform Cloud y Terraform Enterprise)** 

    Elimine las personalizaciones globales y los espacios de trabajo de la cuenta que desea eliminar de AFT. 

1.  **Elimine el estado de Terraform del backend de Amazon S3** 

    En la cuenta de administración de AFT, elimine todas las carpetas pertinentes dentro de los buckets de Amazon S3 de la cuenta que desee eliminar de AFT. 
**sugerencia**  
 En los siguientes ejemplos, sustituya `012345678901` por el número de ID de la cuenta de administración de AFT. 

**Ejemplo: Terraform OSS**  
 Al elegir Terraform OSS, encontrará 3 carpetas para cada cuenta en los buckets `aft-backend-012345678901-primary-region` y `aft-backend-012345678901-secondary-region` de Amazon S3. Estas carpetas están relacionadas con el *estado de personalizaciones de cuentas*, el *estado de canalización de personalizaciones* y el *estado de personalizaciones globales* 

**Ejemplo: Terraform Cloud o Terraform Enterprise**  
 Al elegir Terraform Cloud o Terraform Enterprise, encontrará una carpeta para cada cuenta en los buckets `aft-backend-012345678901-primary-region` y `aft-backend-012345678901-secondary-region` de Amazon S3. Estas carpetas están relacionadas con el *estado de canalización de personalizaciones*. 

# Métricas operativas
<a name="aft-operational-metrics"></a>

De forma predeterminada, el *generador de cuentas para Terraform (AFT)* envía métricas operativas anónimas a AWS. Empleamos estos datos para comprender cómo los clientes utilizan AFT y así poder mejorar la calidad y las características de la solución. Puede dejar de formar parte del proceso de recopilación de datos cambiando un parámetro durante la implementación de AFT. Cuando la recopilación está habilitada, se envían los siguientes datos a AWS:
+ **Solución:** el identificador específico de AFT
+ **Versión:** la versión de AFT
+ **Identificador único universal (UUID):** el identificador único generado aleatoriamente para cada implementación de AFT
+ **Timestamp:** timestamp de recopilación de datos
+ **Datos:** configuración de AFT y acciones llevadas a cabo por el cliente

AWS es propietario de los datos recopilados. La recopilación de datos está sujeta a la [Política de privacidad de AWS](https://aws.amazon.com/privacy/).

**nota**  
Las versiones de AFT anteriores a la 1.6.0 no informan de las métricas de uso a AWS.

Para desactivar las métricas:
+ Establezca el valor de entrada de `aft_metrics_reporting` en `false` en el archivo de configuración de entrada de Terraform, como se muestra en el siguiente ejemplo, y vuelva a implementar AFT. Este valor se establece en `true` de manera predeterminada, en caso de que no lo establezca de forma explícita.

Si copia el ejemplo, no olvide sustituir los valores reales de ID y región por los elementos que aparecen en las cadenas con `x`.

```
    module "control_tower_account_factory" {
    source = "aws-ia/control_tower_account_factory/aws"
    
    # Required Vars
    ct_management_account_id    = "xxxxxxxxxxx"
    log_archive_account_id      = "xxxxxxxxxxx"
    audit_account_id            = "xxxxxxxxxxx"
    aft_management_account_id   = "xxxxxxxxxxx"
    ct_home_region              = "xx-xxxx-x"
    tf_backend_secondary_region = "xx-xxxx-x"
    
    # Optional Vars
    aft_metrics_reporting = false    # to opt out, set this value to false 
    }
```

# Guía de solución de problemas del generador de cuentas para Terraform (AFT)
<a name="account-troubleshooting-guide"></a>

 Esta sección puede ayudarle a solucionar problemas comunes que puede encontrar al utilizar el generador de cuentas para Terraform (AFT). 

**Topics**
+ [Problemas generales](#w2aac44c33c45b7)
+ [Problemas relacionados con el aprovisionamiento o el registro de cuentas](#w2aac44c33c45b9)
+ [Problemas relacionados con la invocación de personalizaciones](#w2aac44c33c45c11)
+ [Problemas relacionados con el flujo de trabajo de personalización de cuentas](#w2aac44c33c45c13)

## Problemas generales
<a name="w2aac44c33c45b7"></a>
+  **Se superaron las cuotas AWS de recursos** 

   Si sus grupos de registros indican que ha superado las cuotas de AWS recursos, póngase en contacto con [AWS Support](https://aws.amazon.com/premiumsupport/). Account Factory utiliza Servicios de AWS cuotas de recursos que incluyen AWS CodeBuild AWS Organizations, y AWS Systems Manager. Para obtener más información, consulte los siguientes temas: 
  +  ¿[Qué es AWS CodeBuild?](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) en la * Guía del usuario de CodeBuild * 
  +  [¿Qué es AWS Organizations?](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html) en la *Guía del usuario de Organizations*. 
  +  [¿Qué es AWS Systems Manager?](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) en la *Guía del usuario de Systems Manager*. 
+  **Versión desactualizada del generador de cuentas** 

   Si se encuentra con un problema y cree que se trata de un error, asegúrese de que dispone de la última versión del generador de cuentas. Para obtener más información, consulte [Updating the Account Factory version](https://docs.aws.amazon.com/controltower/latest/userguide/update-aft-version.html). 
+  **Cambios locales en el código fuente del generador de cuentas** 

   El generador de cuentas es un proyecto de código abierto. AWS Control Tower admite el código principal del generador de cuentas. Si realiza un cambio local en el código principal del generador de cuentas, AWS Control Tower solo admite la implementación del generador de cuentas en el mejor de los casos. 
+ ** Permisos de rol insuficientes del generador de cuentas** 

   El generador de cuentas crea roles y políticas de IAM para administrar las implementaciones y personalizaciones de cuentas vendidas. Si cambia estos roles o políticas, es posible que la canalización del generador de cuentas no pueda realizar determinadas acciones. Para obtener mas información, consulte [Required roles](https://docs.aws.amazon.com/controltower/latest/userguide/aft-required-roles.html). 
+  **Repositorios de cuentas no rellenados correctamente ** 

   Asegúrese de seguir los [post-deployment steps](https://docs.aws.amazon.com/controltower/latest/userguide/aft-post-deployment.html) antes de aprovisionar las cuentas. 
+  **Falta de detección de la desviación tras cambiar manualmente la OU** 
**nota**  
 AWS Control Tower detecta la desviación automáticamente. Para obtener información sobre la resolución de desviaciones, consulte [Detect and resolve drift in AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/drift.html#resolving-drift). 

   La desviación no se detecta cuando la OU se cambia manualmente. Esto se debe a la naturaleza basada en eventos del generador de cuentas. Cuando se envía una solicitud de cuenta, el recurso que Terraform administra es un elemento de Amazon DynamoDB y no una cuenta directa. Cuando se cambia un elemento, la solicitud se pone en cola, desde donde AWS Control Tower las procesa a través de Service Catalog (el servicio que administra los detalles de la cuenta). Si cambia la OU manualmente, no se detecta la desviación ningún cambio porque la solicitud de cuenta no ha cambiado. 

## Problemas relacionados con el aprovisionamiento o el registro de cuentas
<a name="w2aac44c33c45b9"></a>
+  **La solicitud de cuenta (dirección de correo electrónico/nombre) ya existe** 

   El problema suele provocar un error en el producto de Service Catalog durante el aprovisionamiento o una `ConditionalCheckFailedException`. 

   Para obtener más sobre el problema, realice una de las siguientes acciones: 
  +  Revise sus grupos de registros de Terraform o CloudWatch Logs. 
  +  Revise los errores que se emiten en el tema de Amazon SNS `aft-failure-notifications`. 
+  ** Solicitud de cuenta con formato incorrecto** 

   Asegúrese de que la solicitud de su cuenta siga el esquema esperado. Para ver ejemplos, consulta [terraform-aws-control\$1tower\$1account\$1factory en](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/tree/main/sources/aft-customizations-repos/aft-account-request/examples). GitHub 
+  **Se superaron AWS las cuotas de recursos de Organizations** 

   Asegúrese de que la solicitud de su cuenta no supere las cuotas AWS Organizations de recursos. Para obtener más información, consulte [Quotas for AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html). 

## Problemas relacionados con la invocación de personalizaciones
<a name="w2aac44c33c45c11"></a>
+  ** Cuenta de destino no incorporada en el generador de cuentas** 

   Asegúrese de que todas las cuentas incluidas en una solicitud de personalización se han incorporado al generador de cuentas. Para obtener más información, consulte [Update an existing account](https://docs.aws.amazon.com/controltower/latest/userguide/aft-update-account.html). 
+  **Cuenta a la que se dirige la solicitud de personalización existente en la tabla `aft-request-metadata` de DynamoDB, pero no en el repositorio de solicitudes de cuenta** 

   Formatee la solicitud de invocación de personalización para excluir la cuenta infractora realizando una de las siguientes acciones: 
  +  En la tabla `aft-request-metadata` de DynamoDB, elimine la entrada que hace referencia a la cuenta y que ya no está en el repositorio de solicitudes de cuentas. 
  +  No utilice “todos” como objetivo. 
  +  No se dirija a la OU a la que pertenece la cuenta. 
  +  No se dirija directamente a la cuenta. 
+  **Uso de un token incorrecto para Terraform Cloud** 

   Asegúrese de configurar el token correcto. Terraform Cloud solo admite tokens basados en equipos, no en organizaciones. 
+  **Error al crear la cuenta antes de que se cree la canalización de personalizaciones de cuentas; no se puede personalizar la cuenta** 

   Realice un cambio en la especificación de la cuenta en el repositorio de solicitudes de cuentas. Al realizar un cambio, como cambiar un valor de etiqueta de una cuenta, el generador de cuentas sigue la ruta que trata de crear la canalización, incluso si la canalización no existe. 

## Problemas relacionados con el flujo de trabajo de personalización de cuentas
<a name="w2aac44c33c45c13"></a>

 Si tiene problemas relacionados con el flujo de trabajo de personalización de cuentas, asegúrese de que la versión de AFT sea la 1.8.0 o superior y de eliminar todas las instancias de metadatos relacionados con cuentas de la tabla de solicitudes de DynamoDB. 

 Para obtener información sobre la versión 1.8.0 de AFT, consulte la [versión 1.8.0](https://github.com/aws-ia/terraform-aws-control_tower_account_factory/releases/tag/1.8.0) en adelante. GitHub 

 Para obtener información sobre cómo comprobar y actualizar la versión de AFT, consulte lo siguiente: 
+  [Comprobación de la versión de AFT](https://docs.aws.amazon.com/controltower/latest/userguide/check-aft-version.html) 
+  [Actualización de la versión de AFT](https://docs.aws.amazon.com/controltower/latest/userguide/update-aft-version.html) 

 También puede rastrear las solicitudes de personalización y solucionar sus problemas mediante las consultas de Amazon CloudWatch Logs Insights para filtrar los registros que contienen su cuenta de destino y su solicitud IDs de personalización. Para obtener más información, consulte [Troubleshooting with AFT account customization request tracing](https://docs.aws.amazon.com/controltower/latest/userguide/aft-account-customization-options.html). 