Automatisez la création de comptes à l'aide de l'accélérateur Landing Zone sur AWS - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Automatisez la création de comptes à l'aide de l'accélérateur Landing Zone sur AWS

Créée par Justin Kuskowski (AWS), Joe Behrens (AWS) et Nathan Scott (AWS)

Récapitulatif

Ce modèle explique comment utiliser la AWS solution Landing Zone Accelerator pour déployer automatiquement une nouvelle solution Compte AWS lorsqu'un utilisateur autorisé soumet une demande. Il permet AWS Step Functions d'orchestrer un certain nombre de AWS Lambda fonctions. Les fonctions Lambda ajoutent les informations du compte à un référentiel Git, initient un AWS CodePipeline pipeline et valident le provisionnement AWS des ressources nécessaires. Lorsque le processus est terminé, l'utilisateur reçoit une notification indiquant que le compte a été créé.

Vous pouvez éventuellement intégrer des groupes d'identifiants Microsoft Entra et attribuer des ensembles AWS IAM Identity Center d'autorisations lors du processus de création de compte. Si votre organisation utilise l'identifiant Microsoft Entra comme source d'identité, cette fonctionnalité facultative vous permet de gérer et de configurer automatiquement l'accès au nouveau compte.

Conditions préalables et limitations

Prérequis

Limites

Le flux de travail de création de compte prend en charge les exécutions séquentielles pour déployer un compte unique Compte AWS. Cette limitation garantit que le processus de création de compte s'est terminé avec succès sans avoir à se disputer les ressources lors d'une exécution parallèle.

Architecture

Architecture cible

L'image suivante montre l'architecture de haut niveau permettant d'automatiser la création d'une nouvelle zone à l'aide Compte AWS de l'accélérateur de zone d'atterrissage activé AWS. AWS Step Functions orchestre l'automatisation. Chaque tâche du flux de travail Step Functions est exécutée par une ou plusieurs AWS Lambda fonctions.

Flux de travail permettant d'automatiser la création d'un nouveau compte à l'aide de l'accélérateur Landing Zone sur AWS.

Le schéma suivant illustre le flux de travail suivant :

  1. L'utilisateur demande un compte en exécutant un script Python ou en utilisant Amazon API Gateway.

  2. Le flux de travail Account Creation Orchestrator démarre dans. AWS Step Functions

  3. Le flux de travail met à jour le account-config.yaml fichier dans le référentiel de code source. Il lance également l'accélérateur de zone d'atterrissage sur le AWS pipeline et vérifie l'état du pipeline. Ce pipeline crée et configure le nouveau compte. Pour plus d'informations sur son fonctionnement, consultez la présentation de l'architecture de l'accélérateur de zone d'atterrissage activé AWS.

  4. (Facultatif) Lorsque le pipeline est terminé, le flux de travail vérifie si le groupe existe dans Microsoft Entra ID. Si le groupe n'existe pas dans l'identifiant Microsoft Entra, le flux de travail l'ajoute à l'identifiant Microsoft Entra.

  5. Le flux de travail exécute des étapes supplémentaires que la AWS solution Landing Zone Accelerator ne peut pas effectuer. Les étapes par défaut sont les suivantes :

  6. (Facultatif) Le flux de travail attribue un ou plusieurs ensembles d'autorisations au groupe Microsoft Entra ID que vous avez précédemment spécifié. Les ensembles d'autorisations permettent aux utilisateurs du groupe d'accéder au nouveau compte et d'effectuer les actions que vous configurez.

  7. Une AWS Lambda fonction exécute des tests d'assurance qualité et de validation. Il valide la création des ressources, vérifie que les balises ont été créées et que les ressources de sécurité ont été déployées.

  8. Le flux de travail libère le compte et utilise Amazon Simple Email Service (Amazon SES) pour informer l'utilisateur que le processus s'est terminé avec succès.

Pour plus d'informations sur le flux de travail Step Functions, voir le diagramme de flux de travail Step Functions dans la section Informations supplémentaires de ce modèle.

Applications Microsoft Entra ID

Si vous choisissez d'intégrer Microsoft Entra ID, vous créez les deux applications suivantes lorsque vous déployez ce modèle :

  • Application liée à IAM Identity Center et garantissant que les groupes d'identifiants Microsoft Entra sont disponibles dans IAM Identity Center. Dans cet exemple, cette application Microsoft Entra ID est nomméeLZA2.

  • Application qui permet à une fonction Lambda de communiquer avec l'identifiant Microsoft Entra et d'appeler le Microsoft Graph. APIs Dans ce modèle, cette application est nomméecreate_aws_account.

Ces applications collectent des données qui sont utilisées pour synchroniser le groupe d'identifiants Microsoft Entra et attribuer des ensembles d'autorisations.

Outils

Services AWS

  • Amazon API Gateway vous aide à créer, publier, gérer, surveiller et sécuriser REST, HTTP, et ce, WebSocket APIs à n'importe quelle échelle. Dans ce modèle, vous utilisez API Gateway pour vérifier la disponibilité des Compte AWS noms, lancer le AWS Step Functions flux de travail et vérifier le statut de l'exécution de Step Functions.

  • AWS Cloud Development Kit (AWS CDK)est un framework de développement logiciel qui vous aide à définir et à provisionner AWS Cloud l'infrastructure dans le code.

  • AWS Control Towervous aide à configurer et à gérer un environnement AWS multi-comptes, conformément aux meilleures pratiques prescriptives.

  • Amazon EventBridge est un service de bus d'événements sans serveur qui vous permet de connecter vos applications à des données en temps réel provenant de diverses sources. Par exemple, des AWS Lambda fonctions, des points de terminaison d'invocation HTTP utilisant des destinations d'API ou des bus d'événements dans d'autres. Comptes AWS Cette solution utilise une EventBridge règle qui lance une fonction Lambda si l'état du flux de travail Step Functions passe à FailedTimed-out, ou. Aborted

  • AWS Identity and Access Management (IAM) vous aide à gérer en toute sécurité l'accès à vos AWS ressources en contrôlant qui est authentifié et autorisé à les utiliser.

  • AWS IAM Identity Centervous permet de gérer de manière centralisée l'accès par authentification unique (SSO) à toutes vos applications Comptes AWS et à celles du cloud.

  • AWS Key Management Service (AWS KMS) vous aide à créer et à contrôler des clés cryptographiques afin de protéger vos données. Dans ce modèle, AWS KMS les clés sont utilisées pour chiffrer les données, telles que les données stockées dans Amazon Simple Storage Service (Amazon S3), les variables d'environnement Lambda et les données dans Step Functions.

  • AWS Lambda est un service de calcul qui vous aide à exécuter du code sans avoir à allouer ni à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez.

  • AWS Organizationsest un service de gestion de comptes qui vous aide à Comptes AWS en regrouper plusieurs au sein d'une organisation que vous créez et gérez de manière centralisée.

  • Amazon Simple Email Service (Amazon SES) vous permet d'envoyer et de recevoir des e-mails en utilisant vos propres adresses e-mail et domaines. Une fois qu'un nouveau compte a été créé avec succès, vous recevez une notification via Amazon SES.

  • Amazon Simple Notification Service (Amazon SNS) vous aide à coordonner et à gérer l'échange de messages entre les éditeurs et les clients, y compris les serveurs Web et les adresses e-mail. Si une erreur se produit lors du processus de création du compte, Amazon SNS envoie une notification aux adresses e-mail que vous configurez.

  • AWS Step Functionsest un service d'orchestration sans serveur qui vous aide à combiner des AWS Lambda fonctions et d'autres fonctions Services AWS pour créer des applications critiques pour l'entreprise.

  • AWS Systems Manager Parameter Store fournit un stockage hiérarchique sécurisé pour la gestion des données de configuration et la gestion des secrets.

Autres outils

  • awscurl automatise le processus de signature des demandes d' AWS API et vous aide à effectuer des demandes sous la forme d'une commande curl standard.

  • Microsoft Entra ID, anciennement connu sous le nom d'Azure Active Directory, est un service de gestion des identités et des accès basé sur le cloud.

  • Microsoft Graph APIs vous permet d'accéder aux données et aux informations dans les services cloud de Microsoft, tels que Microsoft Entra et Microsoft 365.

Référentiel de code

Le code de ce modèle est disponible dans le GitHub lza-account-creation-workflowréférentiel.

Le répertoire lambda_layer contient les couches suivantes, qui sont référencées dans plusieurs fonctions Lambda :

Le répertoire lambda_src contient les fonctions Lambda suivantes :

  • AccountTagToSsmParameter— Cette fonction utilise les balises associées au compte afin AWS Organizations de créer des paramètres dans Parameter Store. Chaque paramètre commence par un /account/tags/ préfixe.

  • AttachPermissionSet— Cette fonction ajoute un ensemble d'autorisations à un groupe IAM Identity Center.

  • Azure ADGroup Sync — Cette fonction synchronise le groupe d'identifiants Microsoft Entra cible avec IAM Identity Center.

  • CheckForRunningProcesses— Cette fonction vérifie si le AWSAccelerator-Pipeline pipeline est en cours d'exécution. Si le pipeline est en cours d'exécution, la fonction retarde le AWS Step Functions flux de travail.

  • CreateAccount— Cette fonction utilise AWS Service Catalog et AWS Control Tower pour créer le nouveau Compte AWS.

  • CreateAdditionalResources— Cette fonction crée les AWS ressources qui ne sont pas gérées par Landing Zone Accelerator AWS CloudFormation, telles que l'alias et les AWS Service Catalog tags du compte.

  • GetAccountStatus— Cette fonction recherche le produit approvisionné afin de AWS Service Catalog déterminer si le processus de création de compte est terminé.

  • GetExecutionStatus— Cette fonction récupère le statut d'une AWS Step Functions exécution en cours ou terminée.

  • NameAvailability— Cette fonction vérifie si un Compte AWS nom existe déjà dans AWS Organizations.

  • ReturnResponse— Si la création du compte est réussie, cette fonction renvoie l'identifiant du nouveau compte. Si la création du compte n'a pas abouti, un message d'erreur est renvoyé.

  • RunStepFunction— Cette fonction exécute le AWS Step Functions flux de travail qui crée le compte.

  • SendEmailWithSES — Cette fonction envoie des e-mails aux utilisateurs qui attendent la fin de la création du compte.

  • ADGroupSyncToValider l'authentification unique : cette fonction vérifie si les groupes d'identifiants Microsoft Entra spécifiés sont synchronisés avec IAM Identity Center.

  • ValidateResources— Cette fonction vérifie que toutes les AWS Control Tower personnalisations ont été exécutées avec succès.

Bonnes pratiques

Nous recommandons les conventions de dénomination suivantes pour AWS CDK : 

  • Commencez tous les paramètres par un p préfixe.

  • Commencez toutes les conditions par un c préfixe.

  • Commencez toutes les ressources par un r préfixe.

  • Démarrez toutes les sorties par un o préfixe.

Épopées

TâcheDescriptionCompétences requises

Préparez l'accélérateur de zone d'atterrissage à AWS des fins de personnalisation.

  1. Dans le référentiel de AWS code Landing Zone Accelerator on, créez un fichier nommécustomizations-config.yaml. Vous utilisez ce fichier pour définir les personnalisations de la solution principale. Pour plus d'informations, consultez la section Personnalisation de la solution.

  2. Dans le customizations-config.yaml fichier, créez une section intituléecloudFormationStacks.

AWS DevOps

Préparez-vous à déployer le lza-account-creation-validation rôle.

À présent, vous pouvez personnaliser la solution pour déployer le rôle lza-account-creation-validation IAM dans tous les comptes autres que le compte de gestion. Ce rôle fournit à la fonction ValidateResources Lambda un accès en lecture seule aux nouveaux comptes.

  1. Téléchargez le fichier account-creation-validation-role.yaml depuis. GitHub

  2. Enregistrez le fichier à l'emplacement indiqué dans la section des modèles du customizations-config.yaml fichier.

  3. Ouvrez le fichier customizations-config.yaml.

  4. Dans la cloudFormationStacks section, ajoutez le code suivant. Mettez à jour la cible Région AWS selon les besoins pour votre zone d'atterrissage :

    - 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. Enregistrez et fermez le fichier customizations-config.yaml.

AWS DevOps

Préparez-vous à déployer le account-tagging-to-ssm-parameter-role rôle.

À présent, vous pouvez personnaliser la solution pour déployer le rôle account-tagging-to-ssm-parameter-role IAM dans tous les comptes autres que le compte de gestion. Ce rôle est utilisé pour créer les paramètres dans AWS Systems Manager Parameter Store.

  1. Téléchargez le fichier account-tagging-to-ssm-parameter-role.yaml depuis. GitHub

  2. Enregistrez le fichier à l'emplacement indiqué dans la section des modèles du customizations-config.yaml fichier.

  3. Ouvrez le fichier customizations-config.yaml.

  4. Dans la cloudFormationStacks section, ajoutez le code suivant. Mettez à jour la cible Région AWS selon les besoins pour votre zone d'atterrissage :

    - 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. Enregistrez et fermez le fichier customizations-config.yaml.

AWS DevOps

Préparez-vous à déployer le config-log-validation-role rôle.

À présent, vous pouvez personnaliser la solution pour déployer le rôle config-log-validation-role IAM dans le compte d'archivage des journaux. Ce rôle permet à la fonction ValidateResources Lambda d'accéder au compartiment Amazon S3 pour les règles de journalisation et d'accès AWS Config .

  1. Téléchargez le fichier config-log-validation-role.yaml depuis. GitHub

  2. Enregistrez le fichier à l'emplacement indiqué dans la section des modèles du customizations-config.yaml fichier.

  3. Ouvrez le fichier customizations-config.yaml.

  4. Dans la cloudFormationStacks section, ajoutez le code suivant. Mettez à jour la cible Région AWS selon les besoins pour votre zone d'atterrissage :

    - 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. Enregistrez, fermez et validez les modifications apportées au customizations-config.yaml fichier.

AWS DevOps
TâcheDescriptionCompétences requises

Créez l'application qui permet à une fonction Lambda de communiquer avec l'identifiant Microsoft Entra.

  1. Dans le centre d'administration Microsoft Entra ID, enregistrez l'create_aws_accountapplication. Pour obtenir des instructions, voir Enregistrer une application dans la documentation Microsoft.

  2. Suivez les instructions de la section Mettre à jour les autorisations demandées par une application dans la documentation Microsoft pour configurer les autorisations Microsoft Graph suivantes pour l'create_aws_accountapplication :

Identifiant Microsoft Entra

Récupérez les valeurs de l'create_aws_accountapplication.

À présent, vous pouvez récupérer les valeurs dont vous avez besoin pour l'create_aws_accountapplication.

  1. Dans le centre d'administration Microsoft Entra ID, accédez à Inscriptions d'applications, puis choisissezcreate_aws_account.

  2. Dans le volet de gauche, sélectionnez Vue d'ensemble.

  3. Sur la page Vue d'ensemble, notez les valeurs suivantes :

    • ID de l'application (client)

    • ID du répertoire (locataire)

  4. Dans le volet de gauche, sous Gérer, sélectionnez Certificats et secrets.

  5. Sur la page Certificats et secrets, choisissez l'onglet Secrets clients, puis notez les valeurs suivantes :

    • Valeur secrète du client

    • ID secret du client

Identifiant Microsoft Entra

Créez l'application qui intègre Microsoft Entra ID à IAM Identity Center.

Dans le centre d'administration Microsoft Entra ID, enregistrez l'LZA2application. Pour obtenir des instructions, voir Enregistrer une application dans la documentation Microsoft.

Identifiant Microsoft Entra

Récupérez les valeurs de l'LZA2application.

À présent, vous pouvez récupérer les valeurs dont vous avez besoin pour l'LZA2application.

  1. Dans le centre d'administration Microsoft Entra ID, accédez aux applications d'entreprise, puis choisissezLZA2.

  2. Dans le volet de gauche, sélectionnez Vue d'ensemble.

  3. Sur la page Vue d'ensemble, notez les valeurs suivantes :

    • Nom

    • ID de l'objet

  4. Dans le volet de gauche, sous Gérer, sélectionnez Manifest.

  5. Dans le fichier JSON, dans la appRoles section, recherchez le rôle d'application nomméUser.

  6. Notez la id valeur de ce rôle d'application.

Identifiant Microsoft Entra

Créez un secret.

  1. Dans le AWS CLI, entrez la commande suivante pour créer les variables. Utilisez les valeurs que vous avez récupérées pour les LZA2 applications create_aws_account et :

    # 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. Entrez la commande suivante pour créer un secret nommé GraphApiSecret dans AWS Secrets Manager :

    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 vous devez mettre à jour le secret à l'avenir, vous pouvez mettre à jour les variables et exécuter la commande suivante :

    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
TâcheDescriptionCompétences requises

Clonez le code source.

  1. Entrez la commande suivante pour cloner le lza-account-creation-workflowréférentiel :

    git clone https://github.com/aws-samples/lza-account-creation-workflow
  2. Entrez la commande suivante pour accéder au config répertoire du dépôt cloné :

    cd lza-account-creation-workflow/config
DevOps ingénieur

Mettez à jour le deploy-config.yaml fichier.

  1. Ouvrez le fichier deploy-config.yaml.

  2. Passez en revue le modèle et mettez à jour les valeurs selon les besoins pour le déploiement dans votre AWS environnement. Par exemple, mettez à jour les valeurs pour les éléments suivants :

    • accountCreationFailure

    • accountCompletionFromEmail

    • ssoLoginUrl

    • rootEmailPrefix

    • rootEmailDomain

  3. Si vous effectuez l'intégration à l'aide de Microsoft Entra ID, procédez comme suit :

    • Définissez enableAzureADIntegration sur true.

    • Pour graphApiSecretName valeur, entrez le secret que vous avez créé précédemment (GraphApiSecret).

  4. Enregistrez et fermez le fichier deploy-config.yaml.

AWS DevOps

Déployez la solution dans votre AWS environnement.

  1. Entrez la commande suivante :

    cdk bootstrap <account-number>/<Region>

    Pour plus d'informations, consultez Bootstrapping dans la AWS CDK documentation.

  2. Entrez la commande suivante pour synthétiser le CloudFormation modèle :

    cdk synth

    Pour plus d'informations, voir Configurer et effectuer une synthèse de AWS CDK pile dans la AWS CDK documentation.

  3. Entrez la commande suivante pour déployer la solution.

    cdk deploy

    Pour plus d'informations, consultez la section Déployer AWS CDK des applications dans la AWS CDK documentation.

Note

Cette solution utilise un compartiment Amazon S3 pour stocker le code source de cette solution. Vous pouvez utiliser le script upload_to_source_bucket.py pour créer une archive du code source et télécharger une version mise à jour.

AWS DevOps
TâcheDescriptionCompétences requises

Identifiez les arguments à utiliser.

Choisissez les arguments à utiliser lorsque vous exécutez le script Python qui lance le flux de travail Step Functions. Pour une liste complète des arguments, consultez la section Informations supplémentaires de ce modèle.

AWS DevOps, Python

Lancez le script Python.

  1. Entrez la commande suivante pour accéder au référentiel cloné :

    cd lza-account-creation-workflow
  2. Exécutez le script Python qui lance le flux de travail Step Functions. Voici un exemple de commande qui inclut des exemples d'arguments et de valeurs :

    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. Attendez de recevoir une notification indiquant que le compte a été créé avec succès.

    Note

    Si le processus de création de compte échoue, Amazon SNS envoie une notification aux adresses e-mail que vous avez définies accountCreationFailure dans le deploy-config.yaml fichier. Le demandeur du compte n'est pas averti.

DevOps ingénieur, Python
TâcheDescriptionCompétences requises

Configurez les variables pour awscurl.

  1. Entrez la commande suivante pour accéder au répertoire du code source :

    cd lza-account-creation-workflow
  2. Entrez la commande suivante pour définir les variables de clé AWS d'accès. Vous pouvez copier les variables depuis le portail AWS d'accès, puis les coller dans un shell. Voici un exemple :

    export AWS_ACCESS_KEY_ID="<id>" export AWS_SECRET_ACCESS_KEY="<key>" export AWS_SESSION_TOKEN="<token>"
  3. Entrez la commande suivante pour définir les Région AWS appels d'API :

    export AWS_REGION=$(aws configure get region)
  4. Entrez la commande suivante pour récupérer le point de terminaison API Gateway à partir de la lza-account-creation-workflow-application CloudFormation sortie :

    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

Vérifiez la disponibilité des noms.

Entrez la commande suivante pour vérifier que le nom est disponible pour Compte AWS. Remplacez <AWS_ACCOUNT_NAME> par le nom du compte cible :

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

Exécutez le flux de travail de création de compte.

  1. Dans le dossier racine du dépôt cloné, ouvrez le api_example.json fichier.

  2. Mettez à jour les paramètres avec vos valeurs de configuration :

    { "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. Enregistrez et fermez le fichier api_example.json.

  4. Entrez la commande suivante pour lancer le flux de travail 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. Dans le résultat de la commande précédente, notez l'exécution de Step Functions Amazon Resource Name (ARN).

  6. Si vous souhaitez vérifier l'état du flux de travail Step Functions, entrez la commande suivante. Remplacez <STEP_FUNCTION_EXECUTION_NAME> par l'ARN ou le nom d'exécution 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. Attendez de recevoir une notification indiquant que le compte a été créé avec succès.

    Note

    Si le processus de création de compte échoue, Amazon SNS envoie une notification aux adresses e-mail que vous avez définies accountCreationFailure dans le deploy-config.yaml fichier. Le demandeur du compte n'est pas averti.

AWS DevOps
TâcheDescriptionCompétences requises

Supprimez des objets des compartiments Amazon S3.

Supprimez tous les objets des compartiments Amazon S3 suivants :

  • 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

Supprimez la CloudFormation pile.

Entrez la commande suivante pour supprimer la CloudFormation pile :

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

Supprimez le pipeline.

Entrez la commande suivante pour supprimer le lza-account-creation-workflow-pipeline pipeline :

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

Ressources connexes

Informations supplémentaires

Schéma de flux de travail Step Functions

L'image suivante montre les états du flux de travail Step Functions.

États dans le flux de travail Step Functions.

Arguments

Voici les arguments que vous pouvez utiliser lorsque vous exécutez le script Python qui lance le flux de travail Step Functions.

Les arguments suivants sont obligatoires :

  • account-name (-a)(string) — Le nom du nouveau Compte AWS.

  • support-dl (-s)(chaîne) — Adresse e-mail qui reçoit la notification lorsque le processus de création du compte est terminé.

  • managed-org-unit (-m)(string) — Unité organisationnelle (UO) gérée qui contiendra le nouveau compte.

Les arguments suivants sont facultatifs :

  • ad-integration (-ad)(dictionnaire de chaînes) — Le groupe d'identifiants Microsoft Entra et l'ensemble d'autorisations attribuées. Voici un exemple d'utilisation de cet argument :

    --ad-integration "{\"<PermissionSetName>\": \"<EntraIdGroupName>\"}"
  • account-email (-e)(string) — Adresse e-mail de l'utilisateur root du nouveau Compte AWS.

    Note

    Si cet argument n'est pas utilisé, une adresse e-mail sera générée en utilisant les valeurs rootEmailPrefix et rootEmailDomain à partir du configs/deploy-config.yaml fichier. Si aucune adresse e-mail n'est fournie, une adresse e-mail est générée en utilisant le format suivant :rootEmailPrefix+accountName@rootEmailDomain.

  • region (-r)(string) — L' Région AWS endroit où le flux de travail Step Functions a été déployé. La valeur par défaut est us-east-1.

  • force-update (-f)(chaîne booléenne) — Entrez true pour forcer la mise AWS Service Catalog à jour du produit approvisionné.

  • bypass-creation (-b)(chaîne booléenne) — Entrez true pour éviter d'ajouter le compte au accounts-config.yaml fichier et d'exécuter le AWSAccelerator-Pipeline pipeline. Cet argument est généralement utilisé pour tester le processus de création de compte ou pour exécuter le reste des étapes de Step Functions en cas d'erreur dans le Landing Zone Accelerator pipeline.

  • tags (-t)(string) — Balises supplémentaires que vous souhaitez ajouter au Compte AWS. Par défaut, les balises suivantes sont ajoutées : account-namesupport-dl, etpurpose. Voici un exemple d'utilisation de cet argument :

    --tags TEST1=VALUE1 TEST2=VALUE2