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
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
Accès au compte de gestion dans AWS Organizations
AWS Cloud Development Kit (AWS CDK) version 2.118.0 ou ultérieure, installée et configurée
Python version 3.9 ou ultérieure, installée
AWS Command Line Interface (AWS CLI) version 2.13.19 ou ultérieure, installée
Landing Zone Accelerator sur AWS solution, déployé dans le compte de gestion
(Facultatif) Microsoft Entra ID et IAM Identity Center, intégrés
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.

Le schéma suivant illustre le flux de travail suivant :
L'utilisateur demande un compte en exécutant un script Python ou en utilisant Amazon API Gateway.
Le flux de travail Account Creation Orchestrator démarre dans. AWS Step Functions
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.(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.
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 :
Création d'un alias de compte dans AWS Identity and Access Management (IAM)
Attacher des tags au compte dans AWS Organizations
Création de paramètres dans AWS Systems Manager Parameter Store en fonction des balises attribuées au compte
(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.
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.
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ée
LZA2
.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ée create_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 à
Failed
Timed-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-workflow
Le répertoire lambda_layer
account_creation_helper
— Cette couche inclut les modules permettant d'assumer des rôles et de suivre la progression. AWS Service Catalog boto3
— Cette couche inclut le AWS SDK pour Python (Boto3) module pour s'assurer qu'il AWS Lambda dispose de la dernière version. identity_center_helper
— Cette couche prend en charge les appels à IAM Identity Center.
Le répertoire lambda_src contient
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âche | Description | Compétences requises |
---|---|---|
Préparez l'accélérateur de zone d'atterrissage à AWS des fins de personnalisation. |
| AWS DevOps |
Préparez-vous à déployer le | À présent, vous pouvez personnaliser la solution pour déployer le rôle
| AWS DevOps |
Préparez-vous à déployer le | À présent, vous pouvez personnaliser la solution pour déployer le rôle
| AWS DevOps |
Préparez-vous à déployer le | À présent, vous pouvez personnaliser la solution pour déployer le rôle
| AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Créez l'application qui permet à une fonction Lambda de communiquer avec l'identifiant Microsoft Entra. |
| Identifiant Microsoft Entra |
Récupérez les valeurs de l' | À présent, vous pouvez récupérer les valeurs dont vous avez besoin pour l'
| 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' | Identifiant Microsoft Entra |
Récupérez les valeurs de l' | À présent, vous pouvez récupérer les valeurs dont vous avez besoin pour l'
| Identifiant Microsoft Entra |
Créez un secret. |
| AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Clonez le code source. |
| DevOps ingénieur |
Mettez à jour le |
| AWS DevOps |
Déployez la solution dans votre AWS environnement. |
NoteCette solution utilise un compartiment Amazon S3 pour stocker le code source de cette solution. Vous pouvez utiliser le script upload_to_source_bucket.py | AWS DevOps |
Tâche | Description | Compé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. |
| DevOps ingénieur, Python |
Tâche | Description | Compétences requises |
---|---|---|
Configurez les variables pour awscurl. |
| 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 DevOps |
Exécutez le flux de travail de création de compte. |
| AWS DevOps |
Tâche | Description | Compétences requises |
---|---|---|
Supprimez des objets des compartiments Amazon S3. | Supprimez tous les objets des compartiments Amazon S3 suivants :
| AWS DevOps |
Supprimez la CloudFormation pile. | Entrez la commande suivante pour supprimer la CloudFormation pile :
| AWS DevOps |
Supprimez le pipeline. | Entrez la commande suivante pour supprimer le
| AWS DevOps |
Ressources connexes
Accélérateur de zone d'atterrissage activé AWS
(bibliothèque de AWS solutions) Résolution des AWS CDK problèmes courants (AWS CDK documentation)
Informations supplémentaires
Schéma de flux de travail Step Functions
L'image suivante montre les états du 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
etrootEmailDomain
à partir duconfigs/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 estus-east-1
.force-update (-f)
(chaîne booléenne) — Entreztrue
pour forcer la mise AWS Service Catalog à jour du produit approvisionné.bypass-creation (-b)
(chaîne booléenne) — Entreztrue
pour éviter d'ajouter le compte auaccounts-config.yaml
fichier et d'exécuter leAWSAccelerator-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 leLanding 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-name
support-dl
, etpurpose
. Voici un exemple d'utilisation de cet argument :--tags TEST1=VALUE1 TEST2=VALUE2