Procédure détaillée : Automatisez le provisionnement des comptes dans AWS Control Tower enAWS Service CatalogAPI - 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 détaillée : Automatisez le provisionnement des comptes dans AWS Control Tower enAWS Service CatalogAPI

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

La vidéo montre comment provisionner les comptes de manière automatisée, par lots, en appelantAWS Service CatalogAPI. Pour le provisionnement, vous allez appelerProvisionProductAPI duAWSinterface de ligne de commande (CLI) et vous spécifiez un fichier JSON qui contient les paramètres de chaque compte que vous souhaitez configurer. La vidéo illustre l'installation et l'utilisation deAWSCloud9environnement de développement pour effectuer ce travail. Les commandes de l'interface de ligne de commande seraient les mêmes si vous utilisiezAWSCloudshell au lieu deAWSCloud9.

Note

Vous pouvez également adopter cette approche pour automatiser les mises à jour de compte en appelantUpdateProvisionedProductAPI deAWS Service Catalogpour 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 êtes familier avec Terraform, vous pouvezapprovisionner des comptes avec AWS Control Tower Account Factory for Terraform (AFT).

Exemple de rôle d'administration d'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 dans 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 d'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 leAWS Service CatalogAPI pour effectuer les tâches automatisées. Les commandes CLI sont présentées dans la vidéo.

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

Voici un exemple des données que vous pouvez donner au Service CatalogProvisionProductAPI si vous utilisez l'API pour provisionner 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 le .Référence de l'API pour Service Catalog.

Note

Notez que le format du fichier d'entrée pour la valeur deManagedOrganizationalUnita changé depuisOU_NAMEpourOU_NAME (OU_ID). La vidéo qui suit ne mentionne pas ce changement.

Vidéo de procédure

Cette vidéo (6:58) décrit 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.