

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 le provisionnement des comptes dans AWS Control Tower par Service Catalog APIs
<a name="automated-provisioning-walkthrough"></a>

AWS Control Tower est intégré à plusieurs autres AWS services, tels que AWS Service Catalog. Vous pouvez l'utiliser APIs pour créer et approvisionner vos comptes membres dans AWS Control Tower, ou pour inscrire des comptes membres existants.

**Note**  
Si vous avez choisi de ne pas utiliser IAM Identity Center dans les paramètres de votre zone de landing zone, les valeurs que vous fournissez lors de la mise en service du compte avec la console AWS Service Catalog APIs OR ne sont pas utilisées.

La vidéo vous montre comment approvisionner des comptes de manière automatisée et par lots, en appelant le AWS Service Catalog APIs. Pour le provisionnement, vous appellerez l'[https://docs.aws.amazon.com//servicecatalog/latest/dg/API_ProvisionProduct.html](https://docs.aws.amazon.com//servicecatalog/latest/dg/API_ProvisionProduct.html)API 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](https://docs.aws.amazon.com//cloud9/latest/user-guide/welcome.html) 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'[https://docs.aws.amazon.com//servicecatalog/latest/dg/API_UpdateProvisionedProduct.html](https://docs.aws.amazon.com//servicecatalog/latest/dg/API_UpdateProvisionedProduct.html)API 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](taf-account-provisioning.md) (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 devez appeler le AWS Service Catalog APIs 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
<a name="sample-sc-api-input"></a>

Voici un exemple des informations que vous pouvez apporter à l'`ProvisionProduct`API Service Catalog si vous utilisez l'API pour créer de nouveaux comptes AWS Control Tower ou pour inscrire des comptes de membres existants :

**Note**  
Pour inscrire un compte membre existant à l'aide de l'`ProvisionProduct`API, le rôle `AWSControlTowerExecution` IAM doit exister sur le compte cible avant que vous n'appeliez l'API. Vous pouvez utiliser les mêmes paramètres d'entrée présentés dans l'exemple suivant pour la mise en service d'un nouveau compte et pour l'inscription d'un compte existant.

```
{
  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](https://docs.aws.amazon.com//servicecatalog/latest/dg/API_ProvisionProduct.html).

**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
<a name="automated-provisioning-video"></a>

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.

[![AWS Videos](http://img.youtube.com/vi/LxxQTPdSFgw/0.jpg)](http://www.youtube.com/watch?v=LxxQTPdSFgw)
