Procédure pas à pas : Automatisez le provisionnement des comptes dans AWS Control Tower par les API Service Catalog - AWS Control Tower

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.

Procédure pas à pas : Automatisez le provisionnement des comptes dans AWS Control Tower par les API Service Catalog

AWS Control Tower est intégré à plusieurs autres AWS services, tels que AWS Service Catalog. Vous pouvez utiliser les API pour créer et approvisionner vos comptes membres dans AWS Control Tower.

La vidéo vous montre comment approvisionner des comptes de manière automatisée et par lots, en appelant les AWS Service Catalog API. Pour le provisionnement, vous appellerez l'ProvisionProductAPI depuis l'interface de ligne de AWS commande (CLI) et vous spécifierez un fichier JSON contenant les paramètres de chaque compte que vous souhaitez configurer. La vidéo illustre l'installation et l'utilisation de l'environnement de développement AWS Cloud9 pour effectuer ce travail. Les commandes CLI seront les mêmes si vous utilisez AWS Cloudshell au lieu de AWS Cloud9.

Note

Vous pouvez également adapter cette approche pour automatiser les mises à jour des comptes, en appelant l'UpdateProvisionedProductAPI de AWS Service Catalog pour chaque compte. Vous pouvez écrire un script pour mettre à jour les comptes, un par un.

En tant que méthode d'automatisation complètement différente, si vous connaissez Terraform, vous pouvez provisionner des comptes avec AWS Control Tower Account Factory for Terraform (AFT).

Exemple de rôle d'administration de l'automatisation

Voici un exemple de modèle que vous pouvez utiliser pour configurer votre rôle d'administration d'automatisation dans le compte de gestion. Vous devez configurer ce rôle dans votre compte de gestion afin qu'il puisse effectuer l'automatisation avec un accès administrateur sur les comptes cibles.

AWSTemplateFormatVersion: 2010-09-09 Description: Configure the SampleAutoAdminRole Resources: AdministrationRole: Type: AWS::IAM::Role Properties: RoleName: SampleAutoAdminRole AssumeRolePolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: Service: cloudformation.amazonaws.com Action: - sts:AssumeRole Path: / Policies: - PolicyName: AssumeSampleAutoAdminRole PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Action: - sts:AssumeRole Resource: - "arn:aws:iam::*:role/SampleAutomationExecutionRole"

Exemple de rôle d'exécution de l'automatisation

Voici un exemple de modèle que vous pouvez utiliser pour configurer votre rôle d'exécution d'automatisation. Vous devez configurer ce rôle dans les comptes cibles.

AWSTemplateFormatVersion: "2010-09-09" Description: "Create automation execution role for creating Sample Additional Role." Parameters: AdminAccountId: Type: "String" Description: "Account ID for the administrator account (typically management, security or shared services)." AdminRoleName: Type: "String" Description: "Role name for automation administrator access." Default: "SampleAutomationAdministrationRole" ExecutionRoleName: Type: "String" Description: "Role name for automation execution." Default: "SampleAutomationExecutionRole" SessionDurationInSecs: Type: "Number" Description: "Maximum session duration in seconds." Default: 14400 Resources: # This needs to run after AdminRoleName exists. ExecutionRole: Type: "AWS::IAM::Role" Properties: RoleName: !Ref ExecutionRoleName MaxSessionDuration: !Ref SessionDurationInSecs AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: "Allow" Principal: AWS: - !Sub "arn:aws:iam::${AdminAccountId}:role/${AdminRoleName}" Action: - "sts:AssumeRole" Path: "/" ManagedPolicyArns: - "arn:aws:iam::aws:policy/AdministratorAccess"

Après avoir configuré ces rôles, vous appelez les AWS Service Catalog API pour effectuer les tâches automatisées. Les commandes CLI sont données dans la vidéo.

Exemple d'entrée de provisionnement pour l'API Service Catalog

Voici un exemple des informations que vous pouvez fournir à l'ProvisionProductAPI Service Catalog si vous utilisez l'API pour approvisionner des comptes AWS Control Tower :

{ pathId: "lpv2-7n2o3nudljh4e", productId: "prod-y422ydgjge2rs", provisionedProductName: "Example product 1", provisioningArtifactId: "pa-2mmz36cfpj2p4", provisioningParameters: [ { key: "AccountEmail", value: "abc@amazon.com" }, { key: "AccountName", value: "ABC" }, { key: "ManagedOrganizationalUnit", value: "Custom (ou-xfe5-a8hb8ml8)" }, { key: "SSOUserEmail", value: "abc@amazon.com" }, { key: "SSOUserFirstName", value: "John" }, { key: "SSOUserLastName", value: "Smith" } ], provisionToken: "c3c795a1-9824-4fb2-a4c2-4b1841be4068" }

Pour plus d'informations, consultez la référence d'API pour Service Catalog.

Note

Notez que le format de la chaîne d'entrée pour la valeur de ManagedOrganizationalUnit est passé de OU_NAME àOU_NAME (OU_ID). La vidéo qui suit ne mentionne pas ce changement.

Vidéo de procédure

Cette vidéo (6:58) explique comment automatiser les déploiements de comptes dans AWS Control Tower. Pour un visionnage de meilleure qualité, sélectionnez l'icône dans le coin inférieur droit de la vidéo pour l'afficher en plein écran. Le sous-titrage est disponible.