View a markdown version of this page

Automatice la creación de cuentas mediante el acelerador de zonas de aterrizaje en AWS - Recomendaciones de AWS

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.

Automatice la creación de cuentas mediante el acelerador de zonas de aterrizaje en AWS

Justin Kuskowski, Joe Behrens y Nathan Scott, Amazon Web Services

Resumen

Este patrón explica cómo utilizar el acelerador de zonas de aterrizaje en una AWS solución para implementar automáticamente una nueva Cuenta de AWS cuando un usuario autorizado envía una solicitud. Se utiliza AWS Step Functions para organizar una serie de funciones. AWS Lambda Las funciones de Lambda añaden la información de la cuenta a un repositorio de Git, inician una AWS CodePipeline canalización y validan que se aprovisionen AWS los recursos necesarios. Cuando se completa el proceso, el usuario recibe una notificación de que se ha creado la cuenta.

Si lo desea, puede integrar grupos de ID de Microsoft Entra y asignar conjuntos de AWS IAM Identity Center permisos durante el proceso de creación de la cuenta. Si su organización utiliza Microsoft Entra ID como fuente de identidad, esta característica opcional lo ayudará a administrar y configurar automáticamente el acceso a la nueva cuenta.

Requisitos previos y limitaciones

Requisitos previos 

Limitaciones

El flujo de trabajo de creación de cuentas admite ejecuciones secuenciales para implementar una sola Cuenta de AWS. Esta limitación garantiza que el flujo de trabajo de creación de cuentas se haya completado correctamente sin tener que competir por los recursos durante una ejecución paralela.

Arquitectura

Arquitectura de destino

La siguiente imagen muestra la arquitectura de alto nivel que automatiza la creación de una nueva Cuenta de AWS mediante el Landing Zone Accelerator activado. AWS AWS Step Functions organiza la automatización. Cada tarea del flujo de trabajo de Step Functions la realizan una o más AWS Lambda funciones.

Flujo de trabajo para la automatización de la creación de una nueva cuenta mediante el acelerador de zonas de aterrizaje en AWS.

En el diagrama, se muestra el siguiente flujo de trabajo:

  1. El usuario solicita una cuenta mediante la ejecución de un script de Python o mediante Amazon API Gateway.

  2. El flujo de trabajo del Orquestador de creación de cuentas comienza en AWS Step Functions.

  3. El flujo de trabajo actualiza el archivo account-config.yaml en el repositorio de código fuente. También inicia el acelerador de zonas de aterrizaje en la AWS tubería y comprueba el estado de la tubería. Esta canalización crea y configura la nueva cuenta. Para más información sobre cómo funciona, consulte Descripción general de la arquitectura del Acelerador de zonas de aterrizaje en AWS.

  4. (Opcional) Cuando se completa la canalización, el flujo de trabajo comprueba si el grupo existe en Microsoft Entra ID. Si el grupo no existe en Microsoft Entra ID, el flujo de trabajo lo agrega a Microsoft Entra ID.

  5. El flujo de trabajo lleva a cabo pasos adicionales que la AWS solución Landing Zone Accelerator on no puede realizar. Los pasos predeterminados incluyen:

  6. (Opcional) El flujo de trabajo asigna uno o más conjuntos de permisos al grupo de Microsoft Entra ID que especificó anteriormente. Los conjuntos de permisos permiten a los usuarios del grupo acceder a la nueva cuenta y realizar las acciones que usted configure.

  7. Una AWS Lambda función ejecuta pruebas de control de calidad y de validación. Valida la creación de recursos, comprueba que se hayan creado las etiquetas y confirma que se hayan implementado los recursos de seguridad.

  8. El flujo de trabajo presenta la cuenta y utiliza Amazon Simple Email Service (Amazon SES) para notificar al usuario que el proceso se ha completado correctamente.

Para más información sobre el flujo de trabajo de Step Functions, consulte el diagrama de flujo de trabajo de Step Functions en la sección Información adicional de este patrón.

Aplicaciones de Microsoft Entra ID

Si decide realizar la integración con Microsoft Entra ID, tendrá que crear las dos aplicaciones siguientes al implementar este patrón:

  • Una aplicación que esté vinculada a IAM Identity Center y que garantiza que los grupos de Microsoft Entra ID estén disponibles en IAM Identity Center. En este ejemplo, esta aplicación de Microsoft Entra ID se denomina LZA2.

  • Aplicación que permite que una función Lambda se comunique con el Microsoft Entra ID y llame a Microsoft Graph. APIs En este patrón, esta aplicación se denomina create_aws_account.

Estas aplicaciones recopilan datos que se utilizan para sincronizar el grupo de Microsoft Entra ID y asignar conjuntos de permisos.

Tools (Herramientas)

Servicios de AWS

  • Amazon API Gateway le ayuda a crear, publicar, mantener, supervisar y proteger REST, HTTP y WebSocket APIs a cualquier escala. En este patrón, se utiliza API Gateway para comprobar la disponibilidad de Cuenta de AWS los nombres, iniciar el AWS Step Functions flujo de trabajo y comprobar el estado de la ejecución de Step Functions.

  • AWS Cloud Development Kit (AWS CDK)es un marco de desarrollo de software que le ayuda a definir y aprovisionar Nube de AWS la infraestructura en código.

  • AWS Control Towerle ayuda a configurar y administrar un entorno de AWS múltiples cuentas, siguiendo las mejores prácticas prescriptivas.

  • Amazon EventBridge es un servicio de bus de eventos sin servidor que le ayuda a conectar sus aplicaciones con datos en tiempo real de diversas fuentes. Por ejemplo, AWS Lambda funciones, puntos finales de invocación HTTP que utilizan destinos de API o buses de eventos en otros. Cuentas de AWS Esta solución utiliza una EventBridge regla que inicia una función Lambda si el estado del flujo de trabajo de Step Functions cambia a FailedTimed-out, o. Aborted

  • AWS Identity and Access Management (IAM) le ayuda a administrar de forma segura el acceso a sus AWS recursos al controlar quién está autenticado y autorizado a usarlos.

  • AWS IAM Identity Centerle ayuda a gestionar de forma centralizada el acceso mediante el inicio de sesión único (SSO) a todas sus aplicaciones y a las de la nube. Cuentas de AWS

  • AWS Key Management Service (AWS KMS) le ayuda a crear y controlar claves criptográficas para proteger sus datos. En este patrón, AWS KMS las claves se utilizan para cifrar datos, como los datos almacenados en Amazon Simple Storage Service (Amazon S3), las variables de entorno de Lambda y los datos en Step Functions.

  • AWS Lambda es un servicio de computación que ayuda a ejecutar código sin necesidad de aprovisionar ni administrar servidores. Ejecuta el código solo cuando es necesario y amplía la capacidad de manera automática, por lo que solo pagará por el tiempo de procesamiento que utilice.

  • AWS Organizationses un servicio de administración de cuentas que le ayuda a consolidar múltiples cuentas Cuentas de AWS en una organización que usted crea y administra de forma centralizada.

  • Amazon Simple Email Service (Amazon SES) facilita poder enviar y recibir correos electrónicos a través de los dominios y direcciones de correo electrónico propios. Cuando haya creado correctamente una cuenta nueva, recibirá una notificación a través de Amazon SES.

  • Amazon Simple Notification Service (Amazon SNS) le permite coordinar y administrar el intercambio de mensajes entre publicadores y clientes, incluidos los servidores web y las direcciones de correo electrónico. Si se produce un error durante el proceso de creación de la cuenta, Amazon SNS envía una notificación a las direcciones de email que configure.

  • AWS Step Functionses un servicio de organización sin servidor que le ayuda a combinar AWS Lambda funciones y otras Servicios de AWS para crear aplicaciones esenciales para la empresa.

  • AWS Systems Manager Parameter Store proporciona un almacenamiento jerárquico y seguro para la gestión de los datos de configuración y la gestión de secretos.

Otras herramientas

  • awscurl automatiza el proceso de firma de las solicitudes de AWS API y le ayuda a realizar solicitudes como un comando curl estándar.

  • Microsoft Entra ID, anteriormente conocido como Azure Active Directory, es un servicio de administración de identidades y acceso basado en la nube.

  • Microsoft Graph lo APIs ayuda a acceder a los datos y la inteligencia en los servicios en la nube de Microsoft, como Microsoft Entra y Microsoft 365.

Repositorio de código

El código de este patrón está disponible en el GitHub lza-account-creation-workflowrepositorio.

El directorio lambda_layer contiene las siguientes capas, a las que se hace referencia en más de una función de Lambda:

El directorio lambda_src contiene las siguientes funciones de Lambda:

  • AccountTagToSsmParameter— Esta función utiliza las etiquetas adjuntas a la cuenta para crear parámetros AWS Organizations en el almacén de parámetros. Cada parámetro comienza con el prefijo /account/tags/..

  • AttachPermissionSet— Esta función añade un conjunto de permisos a un grupo del IAM Identity Center.

  • Azure ADGroup Sync: esta función sincroniza el grupo de ID de Microsoft Entra de destino con el Centro de identidades de IAM.

  • CheckForRunningProcesses— Esta función comprueba si la AWSAccelerator-Pipeline canalización se está ejecutando actualmente. Si la canalización está en ejecución, la función retrasa el AWS Step Functions flujo de trabajo.

  • CreateAccount— Esta función utiliza AWS Service Catalog y AWS Control Tower para crear lo nuevo Cuenta de AWS.

  • CreateAdditionalResources— Esta función crea los AWS recursos que Landing Zone Accelerator no administra AWS CloudFormation, como el alias y las AWS Service Catalog etiquetas de la cuenta.

  • GetAccountStatus— Esta función busca el producto aprovisionado AWS Service Catalog para determinar si el proceso de creación de la cuenta se ha completado.

  • GetExecutionStatus— Esta función recupera el estado de una ejecución en ejecución o completada AWS Step Functions .

  • NameAvailability— Esta función comprueba si ya existe un Cuenta de AWS nombre en AWS Organizations.

  • ReturnResponse— Si la creación de la cuenta se realizó correctamente, esta función devuelve el ID de la nueva cuenta. Si la creación de la cuenta no se realizó correctamente, devuelve un mensaje de error.

  • RunStepFunction— Esta función ejecuta el AWS Step Functions flujo de trabajo que crea la cuenta.

  • SendEmailWithSES: esta función envía correos electrónicos a los usuarios que esperan que finalice la creación de la cuenta.

  • Validar el ADGroup SyncTo inicio de sesión único: esta función comprueba si los grupos de ID de Microsoft Entra especificados están sincronizados con IAM Identity Center.

  • ValidateResources— Esta función valida que todas las AWS Control Tower personalizaciones se hayan ejecutado correctamente.

Prácticas recomendadas

Se recomiendan las siguientes convenciones de nomenclatura para AWS CDK: 

  • Inicie todos los parámetros con un prefijo p.

  • Inicie todas las condiciones con un prefijo c.

  • Inicie todos los recursos con un prefijo r.

  • Inicie todos los resultados con un prefijo o.

Epics

TareaDescripciónHabilidades requeridas

Prepara el acelerador de la zona de aterrizaje para personalizarlo. AWS

  1. En el repositorio de AWS códigos del Landing Zone Accelerator, cree un archivo llamado. customizations-config.yaml Utilice este archivo para definir las personalizaciones de la solución principal. Para más información, consulte Personalización de la solución.

  2. En el archivo customizations-config.yaml, cree una sección llamada cloudFormationStacks.

AWS DevOps

Prepárese para implementar el rol lza-account-creation-validation.

Ahora puede personalizar la solución para implementar el rol de IAM lza-account-creation-validation en todas las cuentas, excepto en la cuenta de administración. Este rol proporciona a la función de Lambda ValidateResources acceso de solo lectura a las nuevas cuentas.

  1. Descargue el account-creation-validation-rolearchivo.yaml de. GitHub

  2. Guarde el archivo en la ubicación que se indica en la sección de plantillas del archivo customizations-config.yaml.

  3. Abra el archivo customizations-config.yaml.

  4. Añada el siguiente código a la sección cloudFormationStacks: Actualiza el objetivo Región de AWS según sea necesario para tu landing zone:

    - deploymentTargets: organizationalUnits: - Root excludedAccounts: - Management description: IAM Role to allow Account Validation name: lza-account-creation-validation regions: - us-east-1 template: cloudformation/account-creation-validation-role.yaml runOrder: 1 terminationProtection: true parameters: - name: pManagementAccountId value: "{{ account Management }}"
  5. Guarde y cierre el archivo customizations-config.yaml.

AWS DevOps

Prepárese para implementar el rol account-tagging-to-ssm-parameter-role.

Ahora puede personalizar la solución para implementar el rol de IAM account-tagging-to-ssm-parameter-role en todas las cuentas, excepto en la cuenta de administración. Esta función se utiliza para crear los parámetros en AWS Systems Manager Parameter Store.

  1. Descargue el archivo account-tagging-to-ssm-parameter-role.yaml de. GitHub

  2. Guarde el archivo en la ubicación que se indica en la sección de plantillas del archivo customizations-config.yaml.

  3. Abra el archivo customizations-config.yaml.

  4. Añada el siguiente código a la sección cloudFormationStacks: Actualiza el objetivo Región de AWS según sea necesario para tu landing zone:

    - deploymentTargets: organizationalUnits: - Root excludedAccounts: - Management description: IAM Role to create SSM Parameters based on Account Tagging name: lza-account-tagging-to-ssm-parameter regions: - us-east-1 template: cloudformation/account-tagging-to-ssm-parameter-role.yaml runOrder: 1 terminationProtection: true parameters: - name: pManagementAccountId value: "{{ account Management }}"
  5. Guarde y cierre el archivo customizations-config.yaml.

AWS DevOps

Prepárese para implementar el rol config-log-validation-role.

Ahora puede personalizar la solución para implementar el rol de IAM config-log-validation-role en la cuenta de archivo de registros. Esta función permite a la función ValidateResources Lambda acceder al bucket de Amazon S3 para acceder a las reglas de registro y acceso AWS Config .

  1. Descargue el config-log-validation-rolearchivo.yaml desde. GitHub

  2. Guarde el archivo en la ubicación que se indica en la sección de plantillas del archivo customizations-config.yaml.

  3. Abra el archivo customizations-config.yaml.

  4. Añada el siguiente código a la sección cloudFormationStacks: Actualiza el objetivo Región de AWS según sea necesario para tu landing zone:

    - deploymentTargets: accounts: - LogArchive description: IAM Role to validate Config and Logs name: lza-config-log-validation-role regions: - us-east-1 template: cloudformation/config-log-validation-role.yaml runOrder: 1 terminationProtection: true parameters: - name: pManagementAccountId value: "{{ account Management }}"
  5. Guarde, cierre y confirme los cambios del archivo customizations-config.yaml.

AWS DevOps
TareaDescripciónHabilidades requeridas

Cree una aplicación que permita que una función de Lambda se comunique con Microsoft Entra ID.

  1. En el centro de administración de Microsoft Entra ID, registre la aplicación create_aws_account. Para obtener instrucciones, consulte Registro de una aplicación en la documentación de Microsoft.

  2. Siga las instrucciones en Actualización de los permisos solicitados de una aplicación en la documentación de Microsoft para configurar los siguientes permisos de Microsoft Graph para la aplicación create_aws_account:

ID de Microsoft Entra

Recupere los valores de la aplicación create_aws_account.

A continuación, recupere los valores que necesita para la aplicación create_aws_account.

  1. En el centro de administración de Microsoft Entra ID, vaya a Registros de aplicaciones y, a continuación, elija create_aws_account.

  2. En el panel izquierdo, elija Descripción general.

  3. En la página de descripción general, anote los siguientes valores:

    • ID de aplicación (cliente)

    • ID de directorio (inquilino)

  4. En el panel izquierdo, en Administrar, seleccione Certificados y secretos.

  5. En la página Certificados y secretos, seleccione la pestaña Secretos del cliente y anote los siguientes valores:

    • Valor del secreto de cliente

    • ID del secreto de cliente

ID de Microsoft Entra

Cree la aplicación que integra Microsoft Entra ID con IAM Identity Center.

En el centro de administración de Microsoft Entra ID, registre la aplicación LZA2. Para obtener instrucciones, consulte Registro de una aplicación en la documentación de Microsoft.

ID de Microsoft Entra

Recupere los valores de la aplicación LZA2.

A continuación, recupere los valores que necesita para la aplicación LZA2.

  1. En el centro de administración de Microsoft Entra ID, vaya a Aplicaciones de empresa y, a continuación, elija LZA2.

  2. En el panel izquierdo, elija Descripción general.

  3. En la página de descripción general, anote los siguientes valores:

    • Name

    • ID de objeto

  4. En el panel izquierdo, en Administrar, elija Manifiesto.

  5. En el archivo JSON, en la sección appRoles, busque el rol de aplicación denominado User.

  6. Anote el valor id de este rol de aplicación.

ID de Microsoft Entra

Cree un secreto.

  1. En AWS CLI, introduzca el siguiente comando para crear las variables. Utilice los valores que ha recuperado de las aplicaciones create_aws_account y LZA2:

    # Variables for create_aws_account app TENANT_ID='<Directory ID>' CLIENT_ID='<Application ID>' SECRET_ID='<Client secret ID>' SECRET_VALUE='<Client secret value>' # Variables for LZA2 app OBJECT_ID='<Object ID>' APP_ROLE_ID='<App role ID>' ENTERPRISE_APP_NAME='<Name>'
  2. Introduzca el siguiente comando para crear un secreto con el nombre GraphApiSecret AWS Secrets Manager siguiente:

    aws secretsmanager create-secret \ --name GraphApiSecret \ --secret-string "{\"client_id\": \"${CLIENT_ID}\", \"tenant_id\": \"${TENANT_ID}\", \"object_id\": \"${OBJECT_ID}\", \"app_role_id\": \"${APP_ROLE_ID}\", \"secret_value\": \"${SECRET_VALUE}\", \"secret_id\": \"${SECRET_ID}\"}"

    Si necesita actualizar el secreto en el futuro, puede actualizar las variables y ejecutar el siguiente comando:

    aws secretsmanager update-secret \ --secret-id GraphApiSecret \ --secret-string "{\"client_id\": \"${CLIENT_ID}\", \"tenant_id\": \"${TENANT_ID}\", \"object_id\": \"${OBJECT_ID}\", \"app_role_id\": \"${APP_ROLE_ID}\", \"secret_value\": \"${SECRET_VALUE}\", \"secret_id\": \"${SECRET_ID}\"}"
AWS DevOps
TareaDescripciónHabilidades requeridas

Clone el código fuente.

  1. Introduzca el siguiente comando para clonar el lza-account-creation-workflowrepositorio:

    git clone https://github.com/aws-samples/lza-account-creation-workflow
  2. Introduzca el siguiente comando para ir al directorio config del repositorio clonado.

    cd lza-account-creation-workflow/config
DevOps ingeniero

Actualice el archivo deploy-config.yaml.

  1. Abra el archivo deploy-config.yaml.

  2. Revise la plantilla y actualice los valores según sea necesario para la implementación en su AWS entorno. Por ejemplo, actualice los valores de los siguientes elementos:

    • accountCreationFailure

    • accountCompletionFromEmail

    • ssoLoginUrl

    • rootEmailPrefix

    • rootEmailDomain

  3. Si va a realizar la integración con Microsoft Entra ID, haga lo siguiente:

    • Establece enableAzureADIntegration en true.

    • Para el valor graphApiSecretName, introduzca el secreto que creó anteriormente (GraphApiSecret).

  4. Guarde y cierre el archivo deploy-config.yaml.

AWS DevOps

Implemente la solución en su AWS entorno.

  1. Introduzca el siguiente comando:

    cdk bootstrap <account-number>/<Region>

    Para obtener más información, consulte Bootstrapping en la documentación. AWS CDK

  2. Introduzca el siguiente comando para sintetizar la plantilla: CloudFormation

    cdk synth

    Para obtener más información, consulte Configurar y realizar la síntesis de AWS CDK pilas en la AWS CDK documentación.

  3. Introduzca el siguiente comando para implementar la solución.

    cdk deploy

    Para obtener más información, consulte Implementar AWS CDK aplicaciones en la AWS CDK documentación.

nota

Esta solución utiliza un bucket de Amazon S3 para almacenar el código fuente de esta solución. Puede usar el script upload_to_source_bucket.py para crear un archivo del código fuente y cargar una versión actualizada.

AWS DevOps
TareaDescripciónHabilidades requeridas

Identifique qué argumentos usar.

Elija los argumentos que desee utilizar al ejecutar el script de Python que inicia el flujo de trabajo de Step Functions. Para obtener una lista completa de argumentos, consulte la sección Información adicional de este patrón.

AWS DevOps, Python

Inicie el script de Python.

  1. Introduzca el siguiente comando para ir al repositorio clonado:

    cd lza-account-creation-workflow
  2. Ejecute el script de Python que inicia el flujo de trabajo de Step Functions. A continuación, tiene un comando de ejemplo que incluye muestas de argumentos y valores:

    python ./run-stepfunction.py \ --account-name "lza-test-01" \ --support-dl "johnsmith@example.com" \ --managed-org-unit "Workloads/Workload-1" \ --purpose "Testing new micro service" \ --force-update true \ --ad-integration "{\"CustomerAccountAdmin\": \"platform-admin\", \"CustomerAccountDev\": \"workload1-app1\"}" \ --bypass-creation true \ --tags APPLICATION=TestingMicroService
  3. Espere hasta que reciba una notificación que indique que la cuenta se ha creado correctamente.

    nota

    Si el proceso de creación de la cuenta no funciona, Amazon SNS envía una notificación a las direcciones de email que defina en accountCreationFailure en el archivo deploy-config.yaml. No se notifica al solicitante de la cuenta.

DevOps ingeniero, Python
TareaDescripciónHabilidades requeridas

Configure las variables para awscurl.

  1. Introduzca el siguiente comando para ir al directorio del código fuente:

    cd lza-account-creation-workflow
  2. Introduzca el siguiente comando para configurar las variables de la clave de AWS acceso. Puede copiar las variables del portal de acceso AWS y, a continuación, pegarlas en un intérprete de comandos. A continuación, se muestra un ejemplo:

    export AWS_ACCESS_KEY_ID="<id>" export AWS_SECRET_ACCESS_KEY="<key>" export AWS_SESSION_TOKEN="<token>"
  3. Ingresa el siguiente comando para configurar las Región de AWS llamadas a la API:

    export AWS_REGION=$(aws configure get region)
  4. Introduzca el siguiente comando para recuperar el punto final de API Gateway de la lza-account-creation-workflow-application CloudFormation salida:

    export API_GATEWAY_ENDPOINT=$(aws cloudformation describe-stacks --stack-name "lza-account-creation-workflow-application" --query 'Stacks[*].Outputs[?OutputKey==`oApiGatewayCreateAccountEndpoint`].OutputValue' --output text)
AWS DevOps

Compruebe la disponibilidad de del nombre.

Introduzca el siguiente comando para comprobar que el nombre esté disponible para la Cuenta de AWS. Sustituya <AWS_ACCOUNT_NAME> por el nombre de la cuenta de destino:

awscurl --service execute-api \ --region ${AWS_REGION} \ --access_key ${AWS_ACCESS_KEY_ID} \ --secret_key ${AWS_SECRET_ACCESS_KEY} \ --security_token ${AWS_SESSION_TOKEN} \ -X POST ${API_GATEWAY_ENDPOINT}check_name?account_name=<AWS_ACCOUNT_NAME>
AWS DevOps

Ejecute el flujo de trabajo de creación de cuentas.

  1. En la carpeta raíz del repositorio clonado, abra el archivo api_example.json.

  2. Actualice los parámetros con los valores de la configuración.

    { "account_name": "lza-test-01", "account_email": "johnsmith+lzatest01@example.com", "support_dl": "johnsmith@example.com", "managed_org_unit": "Workloads/Workload-1", "ad_integration": [ { "PermissionSetName": "CustomerAccountAdmin", "ActiveDirectoryGroupName": "platform-admin" }, { "PermissionSetName": "CustomerAccountDev", "ActiveDirectoryGroupName": "workload1-app1" } ], "force_update": "true", "bypass_creation": "false", "account_tags": [ { "Key": "Environment", "Value": "Dev" }, { "Key": "DeploymentMethod", "Value": "ApiGateway" } ] }
  3. Guarde y cierre el archivo api_example.json.

  4. Introduzca el siguiente comando para iniciar el flujo de trabajo de Step Functions:

    awscurl --service execute-api \ --data @api-example.json \ --region ${AWS_REGION} \ --access_key ${AWS_ACCESS_KEY_ID} \ --secret_key ${AWS_SECRET_ACCESS_KEY} \ --security_token ${AWS_SESSION_TOKEN} \ -X POST ${API_GATEWAY_ENDPOINT}execute
  5. En el resultado del comando anterior, anote la ejecución de Step Functions de Nombre de recurso de Amazon (ARN).

  6. Si desea comprobar el estado del flujo de trabajo de Step Functions, introduzca el siguiente comando. Sustituya <STEP_FUNCTION_EXECUTION_NAME> por el nombre o el ARN de ejecución de Step Functions:

    awscurl --service execute-api \ --region ${AWS_REGION} \ --access_key ${AWS_ACCESS_KEY_ID} \ --secret_key ${AWS_SECRET_ACCESS_KEY} \ --security_token ${AWS_SESSION_TOKEN} \ -X GET ${API_GATEWAY_ENDPOINT}get_execution_status?execution=<STEP_FUNCTION_EXECUTION_NAME>
  7. Espere hasta que reciba una notificación que indique que la cuenta se ha creado correctamente.

    nota

    Si el proceso de creación de la cuenta no funciona, Amazon SNS envía una notificación a las direcciones de email que defina en accountCreationFailure en el archivo deploy-config.yaml. No se notifica al solicitante de la cuenta.

AWS DevOps
TareaDescripciónHabilidades requeridas

Elimine objetos de los buckets de Amazon S3.

Elimine cualquier objeto de los siguientes buckets de Amazon S3:

  • lza-account-creation-work-<CDK_UNIQUE_ID>

  • lza-account-creation-workflow-src-<AWS_REGION>-<AWS_ACCOUNT>

  • lza-account-creation-workflow-<AWS_REGION>-<AWS_ACCOUNT>

AWS DevOps

Elimine la CloudFormation pila.

Ingresa el siguiente comando para eliminar la CloudFormation pila:

aws cloudformation delete-stack \ --stack-name lza-account-creation-workflow-application aws cloudformation wait stack-delete-complete \ --stack-name lza-account-creation-workflow-application
AWS DevOps

Elimine la canalización.

Escriba el comando siguiente para eliminar la canalización lza-account-creation-workflow-pipeline:

cdk destroy lza-account-creation-workflow-pipeline --force
AWS DevOps

Recursos relacionados

Información adicional

Diagrama del flujo de trabajo de Step Functions

En la siguiente imagen se muestran los estados del flujo de trabajo de Step Functions.

Estados en el flujo de trabajo de Step Functions.

Argumentos

Puede usar los siguientes argumentos al ejecutar el script de Python que inicia el flujo de trabajo de Step Functions.

Se requieren los siguientes argumentos:

  • account-name (-a)(cadena): el nombre del nuevo Cuenta de AWS.

  • support-dl (-s) (cadena): dirección de correo electrónico que recibe la notificación cuando se completa el proceso de creación de la cuenta.

  • managed-org-unit (-m) (cadena): unidad organizativa (UO) administrada que contendrá la nueva cuenta.

Los siguientes argumentos son opcionales:

  • ad-integration (-ad) (diccionario de cadenas): grupo de Microsoft Entra ID y conjunto de permisos asignado. A continuación, se muestra un ejemplo de cómo utilizar este argumento:

    --ad-integration "{\"<PermissionSetName>\": \"<EntraIdGroupName>\"}"
  • account-email (-e)(cadena): la dirección de correo electrónico del usuario raíz del nuevo Cuenta de AWS.

    nota

    Si no se utiliza este argumento, se generará una dirección de correo electrónico mediante los valores rootEmailPrefix y rootEmailDomain a partir del archivo configs/deploy-config.yaml. Si no se proporciona una dirección de correo electrónico, se generará una dirección de correo electrónico con el siguiente formato: rootEmailPrefix+accountName@rootEmailDomain.

  • region (-r)(string): el Región de AWS lugar donde se implementó el flujo de trabajo de Step Functions. El valor predeterminado es us-east-1.

  • force-update (-f)(cadena booleana): introdúzcala true AWS Service Catalog para forzar la actualización del producto aprovisionado.

  • bypass-creation (-b) (cadena booleana): introduzca true para evitar añadir la cuenta al archivo accounts-config.yaml y evitar que se ejecute la canalización AWSAccelerator-Pipeline. Este argumento se suele utilizar para probar el proceso del flujo de trabajo de creación de cuentas o para ejecutar el resto de los pasos de Step Functions si se produce un error en la canalización Landing Zone Accelerator.

  • tags (-t)(cadena): etiquetas adicionales que desee añadir a. Cuenta de AWS De forma predeterminada, se añaden las siguientes etiquetas: account-name, support-dl y purpose. A continuación, se muestra un ejemplo de cómo utilizar este argumento:

    --tags TEST1=VALUE1 TEST2=VALUE2