View a markdown version of this page

Personalizaciones de cuentas - AWS Control Tower

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.

Personalizaciones de cuentas

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

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 Re-invoke personalizaciones.

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

Antes de empezar a personalizar cuentas, asegúrese de que se cumplen estos requisitos previos.

Aplicación de personalizaciones globales

Para aplicar las personalizaciones globales, debe insertar una estructura de carpetas específica en el repositorio que elija.

  • Si sus configuraciones personalizadas tienen la forma de programas o scripts de Python, colóquelos en la api_helpers/pythoncarpeta de su repositorio.

  • Si las configuraciones personalizadas tienen un formato de scripts de Bash, colóquelas en la carpeta api_helpers 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

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.

  2. 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 están en forma de programas o scripts de Python, colócalas en la api_helpers/python carpeta [account_customizations_name]/que se encuentra en tu repositorio.

    • Si tus configuraciones personalizadas están en forma de scripts de Bash, colócalas en la carpeta [account_customizations_name]/api_helpers que se encuentra en tu repositorio.

    • Si tus configuraciones personalizadas tienen el formato de Terraform, colócalas en la carpeta [account_customizations_name]/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.

  3. 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.

Re-invoke personalizaciones

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. Una reinvocación basada en el origen de eventos le permite aplicar personalizaciones a cuentas individuales, a todas las cuentas, a cuentas según su OU o a cuentas seleccionadas en función de las etiquetas.

Sigue estos tres pasos para volver a invocar las personalizaciones de las cuentas. AFT-provisioned

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 objetivo de esta función es volver a invocar el proceso de personalización de las cuentas. AFT-provisioned

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 aplicas ningún filtro e incluyes la declaración"type":"all", se volverá a invocar la personalización de todas AFT-provisioned las cuentas.

Puede incluir un bypass_steps parámetro en la entrada de Step Functions para omitir fases de aprovisionamiento específicas durante la reinvocación.

Valor de bypass_steps Comportamiento
["provisioning_bootstrap"] Omite las fases de aprovisionamiento de cuentas y arranque; solo ejecuta los procesos de personalización de cuentas y globales.
[](vacío) Ejecuta todo el flujo, incluido el aprovisionamiento (predeterminado).

El siguiente ejemplo muestra una entrada de Step Functions que vuelve a invocar las personalizaciones de una cuenta específica y, al mismo tiempo, omite los pasos de aprovisionamiento y arranque.

{ "include": [ { "type": "accounts", "target_value": ["123456789012"] } ], "bypass_steps": ["provisioning_bootstrap"] }
nota

Si la versión del generador de cuentas para Terraform (AFT) de AWS Control Tower es la 1.6.5 o posterior, puede segmentar las OU anidadas con la sintaxis OU Name (ou-id-1234). Para obtener más información, consulte el siguiente tema sobre. GitHub

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

  • La salida de Step Functions resultante contiene ID de cuenta que coinciden con el origen de eventos de entrada de Step Functions.

  • 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

Los flujos de trabajo de personalización de cuentas basados en AWS Lambda emiten registros que contienen ID de cuentas de destino y de solicitudes 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 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/.

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

  3. Seleccione Consultas.

  4. 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

      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"
  5. Después de seleccionar una consulta, asegúrese de seleccionar un intervalo de tiempo y, a continuación, elija Ejecutar consulta.