

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.

# Personnalisez les comptes avec Account Factory Customization (AFC)
<a name="af-customization-page"></a>

**Note**  
La mise à disposition, la mise à jour et la personnalisation d'un compte unique doivent cibler une unité organisationnelle (UO) AWSControl TowerBaseline activée. Si l'unité organisationnelle n'est pas AWSControl TowerBaseline activée, vous pouvez activer l'inscription automatique du compte ou utiliser ResetEnabledBaseline et encore ResetEnabledControl APIs EnabledControls sur cette EnabledBaselines unité d'organisation pour inscrire des comptes. Pour plus de détails sur AWSControlTowerBaseline, voir :[Types de référence qui s'appliquent au niveau de l'UO](types-of-baselines.md#ou-baseline-types). 

AWS Control Tower vous permet de personnaliser les ressources nouvelles et existantes Comptes AWS lorsque vous provisionnez leurs ressources depuis la console AWS Control Tower. Une fois que vous avez configuré la personnalisation d'Account Factory, AWS Control Tower automatise ce processus pour le provisionnement futur, de sorte que vous n'avez pas à gérer de pipelines. Les comptes personnalisés peuvent être utilisés immédiatement après le provisionnement des ressources.

**Fournir des plans à de nouveaux comptes**

Vos comptes personnalisés sont provisionnés dans l'AWS Control Tower Account Factory, via des CloudFormation modèles ou avec Terraform. Vous allez définir un modèle qui servira de *plan* de compte personnalisé. Votre plan décrit les ressources et les configurations spécifiques dont vous avez besoin lorsqu'un compte est provisionné. Des plans prédéfinis, élaborés et gérés par des AWS partenaires, sont également disponibles. Pour plus d'informations sur les plans gérés par des partenaires, consultez la bibliothèque [AWS Service Catalog Getting](https://docs.aws.amazon.com//servicecatalog/latest/adminguide/getting-started-library.html) Started.

**Appliquer des plans à des comptes existants**

Vous pouvez également appliquer des plans personnalisés à des comptes existants en suivant les étapes de **mise à jour du compte** dans la console AWS Control Tower. Pour en savoir plus, consultez [Mettre à jour le compte dans la console](updating-account-factory-accounts.md#update-account-in-console).

**Définition : votre compte hub**

Les plans de votre compte sont stockés dans un compte qui Compte AWS, à nos fins, est appelé *compte hub*. Les Blueprints sont stockés sous la forme d'un produit Service Catalog. Nous appelons ce produit un modèle, afin de le distinguer de tous les autres produits Service Catalog. Pour en savoir plus sur la création de produits Service Catalog, consultez la section [Création de produits](https://docs.aws.amazon.com//servicecatalog/latest/adminguide/productmgmt-cloudresource.html) dans le *Guide de l'AWS Service Catalog administrateur*.

**Note**  
AWS Control Tower contient des *contrôles proactifs* qui surveillent CloudFormation les ressources dans AWS Control Tower. Vous pouvez éventuellement activer ces commandes dans votre zone de landing zone. Lorsque vous appliquez des contrôles proactifs, ils vérifient que les ressources que vous êtes sur le point de déployer sur vos comptes sont conformes aux politiques et procédures de votre organisation. Pour plus d'informations sur les contrôles proactifs, voir [Contrôles proactifs](https://docs.aws.amazon.com//controltower/latest/userguide/proactive-controls.html).

Pour plus d'informations sur l'utilisation d'AFC, consultez [Automatiser la personnalisation des comptes à l'aide de Account Factory Customization dans AWS Control Tower](https://aws.amazon.com//blogs/mt/automate-account-customization-using-account-factory-customization-in-aws-control-tower/).

**Conditions préalables**  
Avant de commencer à créer des comptes personnalisés avec AWS Control Tower Account Factory, vous devez avoir déployé un environnement de zone d'atterrissage AWS Control Tower, et vous devez disposer d'une unité organisationnelle (UO) enregistrée auprès d'AWS Control Tower, dans laquelle seront placés vos nouveaux comptes.

**Préparation à la personnalisation**
+ *Désigner un compte hub :* vous pouvez créer un nouveau compte qui servira de compte hub, ou vous pouvez utiliser un compte existant Compte AWS. Nous vous recommandons vivement de ne pas utiliser le compte de gestion AWS Control Tower comme compte Blueprint Hub.
+ *Ajoutez le rôle nécessaire :* si vous envisagez de vous inscrire Comptes AWS à AWS Control Tower et de les personnaliser, vous devez d'abord ajouter le `AWSControlTowerExecution` rôle à ces comptes, comme vous le feriez pour tout autre compte que vous inscrivez dans AWS Control Tower.
+ *Configurer les plans des partenaires (facultatif) :* si vous prévoyez d'utiliser des plans de partenaires soumis à des exigences d'abonnement au marché, vous devez les configurer depuis votre compte de gestion AWS Control Tower avant de déployer les plans des partenaires en tant que plans de personnalisation des comptes en usine.

**Topics**
+ [

# Configuration pour la personnalisation
](afc-setup-steps.md)
+ [

# Créez un compte personnalisé à partir d'un plan
](create-afc-customized-account.md)
+ [

# Personnalisez les comptes avec AFC au fur et à mesure que vous les inscrivez
](enroll-and-customize.md)
+ [

# Ajouter un plan à un compte AWS Control Tower
](add-blueprint-to-account.md)
+ [

# Mettre à jour un plan
](update-a-blueprint.md)
+ [

# Supprimer un plan d'un compte
](remove-a-blueprint.md)
+ [

# Plans directeurs pour les partenaires
](partner-blueprints.md)
+ [

## Considérations relatives aux personnalisations d'Account Factory (AFC)
](#af-limitations)
+ [

## En cas d'erreur de plan
](#af-error)
+ [

## Personnalisation de votre document de politique pour les plans de l'AFC sur la base de CloudFormation
](#custom-policy-document)
+ [

## Autorisations supplémentaires requises pour créer un produit Service Catalog basé sur Terraform
](#custom-policy-document-tf)
+ [

## Transition vers le type de produit AWS Service Catalog externe
](#service-catalog-external-product-type)

# Configuration pour la personnalisation
<a name="afc-setup-steps"></a>

Les sections suivantes décrivent les étapes à suivre pour configurer Account Factory pour le processus de personnalisation. Nous vous recommandons de configurer l'[administration déléguée](https://docs.aws.amazon.com//accounts/latest/reference/using-orgs-delegated-admin.html) pour le compte hub avant de commencer ces étapes.

**Résumé**
+ **Étape 1. Créez le rôle requis.** Créez un rôle IAM qui autorise AWS Control Tower à accéder au compte (hub) où sont stockés les produits Service Catalog, également appelés blueprints.
+ **Étape 2. Créez le AWS Service Catalog produit.** Créez le AWS Service Catalog produit (également appelé « produit phare ») dont vous aurez besoin pour définir le compte personnalisé comme base de référence.
+ **Étape 3. Passez en revue votre plan personnalisé.** Inspectez le AWS Service Catalog produit (plan) que vous avez créé.
+ **Étape 4. Appelez votre plan pour créer un compte personnalisé.** Entrez les informations relatives au produit et les informations relatives au rôle dans les champs appropriés dans Account Factory, dans la console AWS Control Tower, lors de la création du compte.

# Étape 1. Créez le rôle requis
<a name="step-1-create-blueprint-access-role"></a>

Avant de commencer à personnaliser les comptes, vous devez configurer un rôle contenant une relation de confiance entre AWS Control Tower et votre compte hub. Lorsqu'il est assumé, le rôle accorde à AWS Control Tower l'accès pour administrer les ressources du compte du hub. Le rôle doit être nommé **AWSControlTowerBlueprintAccess**. 

AWS Control Tower assume ce rôle pour créer une ressource de portefeuille en votre nom AWS Service Catalog, puis pour ajouter votre plan en tant que produit Service Catalog à ce portefeuille, puis pour partager ce portefeuille, ainsi que votre plan, avec votre compte membre lors de la mise en service du compte.

Vous allez créer le `AWSControlTowerBlueprintAccess` rôle, comme expliqué dans les sections suivantes. Vous pouvez configurer le rôle dans un compte inscrit ou non inscrit.

**Accédez à la console IAM pour configurer le rôle requis.**  


**Pour configurer le AWSControl TowerBlueprintAccess rôle dans un compte AWS Control Tower inscrit**

1. Fédérez ou connectez-vous en tant que principal dans le compte de gestion AWS Control Tower.

1. Depuis le principal fédéré du compte de gestion, assumez ou changez de rôle pour accéder au `AWSControlTowerExecution` rôle du compte AWS Control Tower inscrit que vous avez sélectionné pour servir de compte Blueprint Hub. 

1. À partir du `AWSControlTowerExecution` rôle figurant dans le compte AWS Control Tower inscrit, créez le `AWSControlTowerBlueprintAccess` rôle avec les autorisations et les relations de confiance appropriées.

**Important**  
Pour respecter les directives relatives aux AWS meilleures pratiques, il est important que vous vous déconnectiez du `AWSControlTowerExecution` rôle immédiatement après l'`AWSControlTowerBlueprintAccess`avoir créé.  
Pour éviter toute modification involontaire des ressources, le `AWSControlTowerExecution` rôle est destiné à être utilisé uniquement par AWS Control Tower.

Si votre compte Blueprint Hub n'est pas inscrit à AWS Control Tower, le `AWSControlTowerExecution` rôle n'existera pas dans le compte et il n'est pas nécessaire de l'assumer avant de continuer à le `AWSControlTowerBlueprintAccess` configurer. 

**Pour configurer le AWSControl TowerBlueprintAccess rôle dans un compte de membre non inscrit**

1. Fédérez ou connectez-vous en tant que principal au compte que vous souhaitez désigner comme compte hub, selon la méthode de votre choix.

1. Lorsque vous êtes connecté en tant que principal du compte, créez le `AWSControlTowerBlueprintAccess` rôle avec les autorisations et les relations de confiance appropriées.

Le **AWSControlTowerBlueprintAccess**rôle doit être configuré de manière à accorder la confiance à deux principaux :
+ Le principal (utilisateur) qui exécute AWS Control Tower dans le compte de gestion AWS Control Tower. 
+ Le rôle indiqué `AWSControlTowerAdmin` dans le compte de gestion AWS Control Tower.

Voici un exemple de politique de confiance, similaire à celle que vous devrez inclure pour votre rôle. Cette politique illustre la meilleure pratique consistant à accorder un accès avec le moindre privilège. Lorsque vous établissez votre propre politique, remplacez le terme *YourManagementAccountId* par l'identifiant de compte réel de votre compte de gestion AWS Control Tower, et remplacez le terme *YourControlTowerUserRole* par l'identifiant du rôle IAM pour votre compte de gestion.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/service-role/AWSControlTowerAdmin",
                    "arn:aws:iam::111122223333:role/YourControlTowerUserRole"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

**Politique d'autorisations requises**

AWS Control Tower exige que la politique gérée nommée `AWSServiceCatalogAdminFullAccess` soit attachée au `AWSControlTowerBlueprintAccess` rôle. Cette politique fournit des autorisations qui AWS Service Catalog déterminent quand elle autorise AWS Control Tower à administrer votre portefeuille et les ressources de vos AWS Service Catalog produits. Vous pouvez associer cette politique lorsque vous créez le rôle dans la console IAM.

**Des autorisations supplémentaires peuvent être requises**  
Si vous stockez vos plans dans Amazon S3, AWS Control Tower a également besoin de la politique `AmazonS3ReadOnlyAccess` d'autorisation associée au `AWSControlTowerBlueprintAccess` rôle.
**Le type de produit AWS Service Catalog Terraform vous oblige à ajouter des autorisations supplémentaires à la politique IAM personnalisée de l'AFC, si vous n'utilisez pas la politique d'administration par défaut.** Il les nécessite en plus des autorisations requises pour créer les ressources que vous définissez dans votre modèle Terraform.

# Étape 2. Créez le AWS Service Catalog produit
<a name="step-2-create-blueprint-product"></a>

Pour créer un AWS Service Catalog produit, suivez les étapes décrites dans la section [Création de produits](https://docs.aws.amazon.com//servicecatalog/latest/adminguide/productmgmt-cloudresource.html) dans le *guide de l'AWS Service Catalog administrateur*. Vous ajouterez le plan de votre compte en tant que modèle lorsque vous créerez le AWS Service Catalog produit.

**Important**  
*À la suite HashiCorp de la mise à jour des licences Terraform, du AWS Service Catalog changement de support pour les produits *Terraform Open Source* et de l'approvisionnement des produits vers un nouveau type de produit, appelé External.* Pour en savoir plus sur l'impact de cette modification sur l'AFC, notamment sur la manière de mettre à jour les plans de votre compte existants pour le type de produit externe, consultez la section [Transition vers le type de produit externe](af-customization-page.md#service-catalog-external-product-type). 

**Résumé des étapes de création d'un plan**
+ Créez ou téléchargez un CloudFormation modèle ou un fichier de configuration Terraform tar.gz qui deviendra le plan de votre compte. Quelques exemples de modèles sont donnés plus loin dans cette section.
+ Connectez-vous à l' Compte AWS endroit où vous stockez vos plans Account Factory (parfois appelé compte hub).
+ Accédez à la AWS Service Catalog console. Choisissez **Liste de produits**, puis choisissez **Télécharger un nouveau produit**.
+ Dans le volet **Détails du produit**, entrez les détails de votre produit Blueprint, tels qu'un nom et une description.
+ Sélectionnez **Utiliser un fichier modèle**, puis sélectionnez **Choisir un fichier**. Sélectionnez ou collez le modèle ou le fichier de configuration que vous avez développé ou téléchargé pour l'utiliser comme plan directeur.
+ Choisissez **Créer un produit** en bas de la page de la console.

 Vous pouvez télécharger un CloudFormation modèle depuis le référentiel d'architecture de AWS Service Catalog référence. [Un exemple tiré de ce référentiel permet de configurer un plan de sauvegarde pour vos ressources](https://github.com/aws-samples/aws-service-catalog-reference-architectures/blob/master/backup/backup-tagoptions.yml). 

Voici un exemple de modèle, pour une entreprise fictive appelée **Best** Pets. Cela aide à établir une connexion à leur base de données pour animaux de compagnie.

```
Resources:
  ConnectionStringGeneratorLambdaRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: "2012-10-17"		 	 	 
        Statement:
          - Effect: Allow
            Principal:
              Service:
                - lambda.amazonaws.com
            Action:
              - "sts:AssumeRole"
  ConnectionStringGeneratorLambda:
    Type: AWS::Lambda::Function
    Properties:
      FunctionName: !Join ['-', ['ConnectionStringGenerator', !Select [4, !Split ['-', !Select [2, !Split ['/', !Ref AWS::StackId]]]]]]
      Description: Retrieves the connection string for this account to access the Pet Database
      Role: !GetAtt ConnectionStringGeneratorLambdaRole.Arn
      Runtime: nodejs22.x
      Handler: index.handler
      Timeout: 5
      Code:
        ZipFile: >
           export const handler = async (event, context) => {
             const awsAccountId = context.invokedFunctionArn.split(“:”)[4]
             const connectionString= “fake connection for account ” + awsAccountId;
             const response = {
               statusCode: 200,
               body: connectionString
             };
           return response;
          };

  ConnectionString:
    Type: Custom::ConnectionStringGenerator
    Properties:
      ServiceToken: !GetAtt ConnectionStringGeneratorLambda.Arn

  PetDatabaseConnectionString:
    DependsOn: ConnectionString
    # For example purposes we're using SSM parameter store.
    # In your template, use secure alternatives to store
    # sensitive values such as connection strings.
    Type: AWS::SSM::Parameter
    Properties: 
      Name: pet-database-connection-string
      Description: Connection information for the BestPets pet database
      Type: String
      Value: !GetAtt ConnectionString.Value
```

# Étape 3. Passez en revue votre plan personnalisé
<a name="step-3-review-blueprint"></a>

Vous pouvez consulter votre plan dans la AWS Service Catalog console. Pour plus d'informations, consultez [la section Gestion des produits](https://docs.aws.amazon.com//servicecatalog/latest/adminguide/catalogs_products.html#productmgmt-menu) dans le Guide *de l'administrateur du Service Catalog.*

# Étape 4 : Appelez votre plan pour créer un compte personnalisé
<a name="step-4-call-the-blueprint"></a>

Lorsque vous suivez le flux de travail de **création de compte** dans la console AWS Control Tower, vous verrez une section facultative dans laquelle vous pouvez saisir des informations sur le plan que vous souhaitez utiliser pour personnaliser les comptes.

**Conditions préalables**  
Vous devez configurer votre compte de hub de personnalisation et ajouter au moins un plan (produit Service Catalog) avant de pouvoir saisir ces informations dans la console AWS Control Tower et commencer à configurer des comptes personnalisés.

**Créez ou mettez à jour un compte personnalisé dans la console AWS Control Tower.**

1. Entrez l'identifiant du compte qui contient vos plans.

1. À partir de ce compte, sélectionnez un produit Service Catalog existant (plan existant).

1. Sélectionnez la version appropriée du plan (produit Service Catalog), si vous en avez plusieurs versions.

1. (Facultatif) Vous pouvez ajouter ou modifier une politique de provisionnement du plan à ce stade du processus. La politique de provisionnement du plan est écrite au format JSON et attachée à un rôle IAM, afin de pouvoir provisionner les ressources spécifiées dans le modèle de plan. AWS Control Tower crée ce rôle dans le compte membre afin que Service Catalog puisse déployer des ressources à l'aide de CloudFormation stack sets. Le rôle est nommé `AWSControlTower-BlueprintExecution-bp-xxxx`. La `AdministratorAccess` politique est appliquée ici par défaut. 

1. Choisissez la Région AWS ou les régions dans lesquelles vous souhaitez déployer des comptes en fonction de ce plan.

1. Si votre plan contient des paramètres, vous pouvez saisir les valeurs des paramètres dans des champs supplémentaires du flux de travail AWS Control Tower. Les valeurs supplémentaires peuvent inclure : un nom de GitHub référentiel, une GitHub branche, un nom de cluster Amazon ECS et l' GitHub identité du propriétaire du référentiel.

1. Vous pouvez personnaliser les comptes ultérieurement en suivant le processus de **mise à jour du compte**, si votre compte hub ou vos plans ne sont pas encore prêts.

Pour en savoir plus, consultez [Créez un compte personnalisé à partir d'un plan](create-afc-customized-account.md).

# Créez un compte personnalisé à partir d'un plan
<a name="create-afc-customized-account"></a>

Après avoir créé des plans personnalisés, vous pouvez commencer à créer des comptes personnalisés dans AWS Control Tower Account Factory. 

**Suivez ces étapes pour déployer un plan personnalisé lorsque vous créez un nouveau AWS compte :**

1. Accédez à AWS Control Tower dans le AWS Management Console. 

1. Sélectionnez **Account Factory** et **Créez un compte**.

1. Entrez les détails du compte tels que le nom du compte et l'adresse e-mail.

1. Configurez les détails du centre d'identité IAM avec l'adresse e-mail et le nom d'utilisateur. 

1. Sélectionnez une unité d'organisation enregistrée à laquelle votre compte sera ajouté.

1. Développez la section de **personnalisation du compte en usine**.

1. Entrez l'ID de compte du compte Blueprint Hub qui contient vos produits Service Catalog et choisissez **Valider**. Pour plus d'informations sur un compte Blueprint Hub, consultez[Personnalisez les comptes avec Account Factory Customization (AFC)](af-customization-page.md).

1. Sélectionnez le menu déroulant qui contient tous les plans de votre liste de produits Service Catalog (tous les plans personnalisés et ceux des partenaires). Choisissez un plan et la version correspondante à déployer. 

1. Si votre plan contient des paramètres, ces champs sont affichés pour que vous puissiez les renseigner. Les valeurs par défaut sont préremplies. 

1. Enfin, sélectionnez l'endroit où vous allez déployer votre plan, soit dans la **région d'origine**, soit dans **toutes les régions gouvernées**. Les ressources mondiales, telles que Route 53 ou IAM, peuvent avoir besoin d'être déployées dans une seule région. Les ressources régionales, telles que les instances Amazon EC2 ou les compartiments Amazon S3, peuvent être déployées dans toutes les régions gouvernées

1. Une fois tous les champs remplis, sélectionnez **Créer un compte**.

**Note**  
Les plans créés avec Terraform ne peuvent être déployés que dans une seule région, et non dans plusieurs régions.

Vous pouvez suivre la progression de l'approvisionnement de votre compte sur la page **Organisation**. Lorsque le provisionnement de votre compte est terminé, les ressources spécifiées dans votre plan sont déjà déployées dans celui-ci. Pour consulter les détails du compte et du plan, rendez-vous sur la page des **détails du compte**.

# Personnalisez les comptes avec AFC au fur et à mesure que vous les inscrivez
<a name="enroll-and-customize"></a>

Pour inscrire et personnaliser des comptes dans la console AWS Control Tower. 

1. Accédez à la console AWS Control Tower et sélectionnez **Organization** dans le menu de navigation de gauche.

1. Vous verrez la liste de vos comptes disponibles. Identifiez le compte que vous souhaitez enregistrer à l'aide d'un plan personnalisé. La colonne **État** de ce compte doit indiquer que le statut du compte **est Non inscrit**.

1. Sélectionnez le bouton radio situé à gauche du compte et choisissez le menu déroulant **Actions**, en haut à droite de l'écran. Ici, vous allez sélectionner l'option **S'inscrire**.

1. Complétez la section **Configuration de l'accès** avec les informations du centre d'identité IAM du compte.

1. Sélectionnez l'unité d'organisation enregistrée à laquelle votre compte deviendra membre.

1. Complétez la section **Personnalisation du compte en usine** en suivant les mêmes étapes que les étapes 7 à 12 de la procédure de **création de compte**. Pour plus d'informations, consultez la section [Comptes Provision Account Factory avec AWS Service Catalog](https://docs.aws.amazon.com/controltower/latest/userguide/provision-as-end-user.html). 

Vous pouvez consulter l'état d'avancement de votre compte sur la page **Organisation**. Lorsque l'inscription de votre compte est terminée, les ressources spécifiées dans le plan sont déjà déployées dans celui-ci.

# Ajouter un plan à un compte AWS Control Tower
<a name="add-blueprint-to-account"></a>

 Pour ajouter un plan à un compte membre AWS Control Tower existant, suivez le flux de travail de **mise à jour du compte** dans la console AWS Control Tower et choisissez un nouveau plan à ajouter au compte. Pour plus d'informations, consultez [Mettre à jour et déplacer des comptes Account Factory avec AWS Control Tower ou avec AWS Service Catalog](https://docs.aws.amazon.com/controltower/latest/userguide/updating-account-factory-accounts.html#update-account-in-console). 

**Note**  
 Si vous ajoutez un nouveau plan à un compte, le plan existant est remplacé. 

**Note**  
Un plan peut être déployé par compte AWS Control Tower.

# Mettre à jour un plan
<a name="update-a-blueprint"></a>

Les procédures suivantes décrivent comment mettre à jour des plans personnalisés et comment les déployer.

**Pour mettre à jour vos plans personnalisés**

1. Mettez à jour votre CloudFormation modèle ou votre fichier Terraform tar.gz (plan) avec vos nouvelles configurations.

1. Enregistrez le plan mis à jour en tant que nouvelle version dans AWS Service Catalog.

**Pour déployer votre plan mis à jour**

1. Accédez à la page **Organisation** dans la console AWS Control Tower.

1. Filtrez la page **Organisation** par nom et version du plan.

1. Suivez le processus de **mise à jour du compte** et déployez la dernière version du plan sur votre compte.

**En cas d'échec de la mise à jour du plan**

AWS Control Tower autorise les mises à jour du plan lorsque le produit fourni est dans son état. `AVAILABLE` Si le produit que vous avez approvisionné est en bon `TAINTED` état, la mise à jour échouera. Nous recommandons la solution de contournement suivante :

1. Dans la AWS Service Catalog console, mettez à jour manuellement le produit `TAINTED` provisionné pour changer l'état en`AVAILABLE`. Pour plus d'informations, consultez la section [Mise à jour des produits provisionnés](https://docs.aws.amazon.com//servicecatalog/latest/userguide/enduser-update.html).

1. Suivez ensuite le processus de mise à jour du compte proposé par AWS Control Tower pour corriger l'erreur de déploiement du plan.

*Nous recommandons cette étape manuelle car :* lorsque vous supprimez un plan, des ressources du compte membre peuvent être supprimées. La suppression de ressources peut affecter vos charges de travail existantes. C'est pourquoi nous recommandons cette méthode plutôt que l'autre méthode de mise à jour d'un plan, qui consiste à supprimer et à remplacer le plan d'origine, en particulier si vous exécutez des charges de travail de production.

# Supprimer un plan d'un compte
<a name="remove-a-blueprint"></a>

Pour supprimer un plan d'un compte, suivez le processus de **mise à jour du compte** pour supprimer le plan et rétablir les configurations par défaut du compte dans l'AWS Control Tower. 

Lorsque vous entrez dans le flux de travail de **mise à jour du compte** dans la console, vous verrez que tous les détails du compte sont renseignés et que les détails de personnalisation ne le sont pas. Si vous laissez ces informations AFC vides, AWS Control Tower supprime le plan du compte. Un message d'avertissement s'affichera avant le début de l'action.

**Note**  
AWS Control Tower ajoute un plan à un compte uniquement si vous sélectionnez un plan lors du processus de **création** ou de **mise à jour du compte**.

# Plans directeurs pour les partenaires
<a name="partner-blueprints"></a>

AWS Control Tower Account Factory Customization (AFC) donne accès à des plans de personnalisation prédéfinis conçus et gérés par des partenaires. AWS Ces plans de partenariat vous aident à personnaliser vos comptes pour des cas d'utilisation spécifiques. Les plans de chaque partenaire vous aident à créer des comptes personnalisés, qui sont préconfigurés pour fonctionner avec les offres de produits de ce partenaire en particulier.

 Pour consulter la liste complète des plans des partenaires d'AWS Control Tower, accédez à la **bibliothèque Service Catalog Getting Started** dans votre console. Recherchez le type de source **AWS Control Tower Blueprints**. 

## Considérations relatives aux personnalisations d'Account Factory (AFC)
<a name="af-limitations"></a>
+ L'AFC prend en charge la personnalisation à l'aide d'un seul produit de AWS Service Catalog plan.
+ Les produits AWS Service Catalog Blueprint doivent être créés dans le compte hub et dans la même région que la région d'origine de la zone d'atterrissage d'AWS Control Tower.
+ Le rôle `AWSControlTowerBlueprintAccess` IAM doit être créé avec le nom, les autorisations et la politique de confiance appropriés.
+ AWS Control Tower propose deux options de déploiement pour les plans : le déploiement dans la région d'origine uniquement ou le déploiement dans toutes les régions régies par AWS Control Tower. La sélection des régions n'est pas disponible. 
+ Lorsque vous mettez à jour un plan dans un compte membre, l'identifiant du compte Blueprint Hub et le produit AWS Service Catalog Blueprint ne peuvent pas être modifiés.
+ AWS Control Tower ne prend pas en charge la suppression d'un plan existant et l'ajout d'un nouveau plan en une seule opération de mise à jour du plan. Vous pouvez supprimer un plan puis en ajouter un nouveau dans le cadre d'opérations distinctes.
+ AWS Control Tower modifie le comportement selon que vous créez ou inscrivez des comptes personnalisés ou des comptes non personnalisés. Si vous ne créez ou n'inscrivez pas de comptes personnalisés à l'aide de plans, AWS Control Tower crée un produit approvisionné par Account Factory (via Service Catalog) dans le compte de gestion AWS Control Tower. Si vous spécifiez la personnalisation lors de la création ou de l'inscription de comptes à l'aide de plans, AWS Control Tower ne crée pas de produit approvisionné par Account Factory dans le compte de gestion AWS Control Tower.

## En cas d'erreur de plan
<a name="af-error"></a>

**Erreur lors de l'application d'un plan**

Si une erreur se produit lors du processus d'application d'un plan à un compte, qu'il s'agisse d'un nouveau compte ou d'un compte existant que vous inscrivez dans AWS Control Tower, la procédure de restauration est la même. Le compte existera, mais il n'est pas personnalisé et il n'est pas inscrit dans AWS Control Tower. Pour continuer, suivez les étapes pour inscrire le compte dans AWS Control Tower et ajoutez le plan au moment de l'inscription.

**Erreur lors de la création du `AWSControlTowerBlueprintAccess` rôle et solutions**

Lorsque vous créez le `AWSControlTowerBlueprintAccess` rôle à partir d'un compte AWS Control Tower, vous devez être connecté en tant que principal en utilisant le `AWSControlTowerExecution` rôle. Si vous êtes connecté comme un autre utilisateur, l'`CreateRole`opération est empêchée par un SCP, comme le montre l'artefact suivant :

```
{
            "Condition": {
                "ArnNotLike": {
                    "aws:PrincipalArn": [
                        "arn:aws:iam::*:role/AWSControlTowerExecution",
                        "arn:aws:iam::*:role/stacksets-exec-*"
                    ]
                }
            },
            "Action": [
                "iam:AttachRolePolicy",
                "iam:CreateRole",
                "iam:DeleteRole",
                "iam:DeleteRolePermissionsBoundary",
                "iam:DeleteRolePolicy",
                "iam:DetachRolePolicy",
                "iam:PutRolePermissionsBoundary",
                "iam:PutRolePolicy",
                "iam:UpdateAssumeRolePolicy",
                "iam:UpdateRole",
                "iam:UpdateRoleDescription"
            ],
            "Resource": [
                "arn:aws:iam::*:role/aws-controltower-*",
                "arn:aws:iam::*:role/*AWSControlTower*",
                "arn:aws:iam::*:role/stacksets-exec-*"
            ],
            "Effect": "Deny",
            "Sid": "GRIAMROLEPOLICY"
        }
```

Les solutions de contournement suivantes sont disponibles :
+ (Très recommandé) Assumez le `AWSControlTowerExecution` rôle et `AWSControlTowerBlueprintAccess` créez-le. Si vous choisissez cette solution, veillez à vous déconnecter du `AWSControlTowerExecution` rôle immédiatement après, afin d'éviter toute modification involontaire des ressources.
+ Connectez-vous à un compte qui n'est pas inscrit dans AWS Control Tower et qui n'est donc pas soumis à ce SCP.
+ Modifiez temporairement ce SCP pour autoriser l'opération.
+ (Fortement déconseillé) Utilisez votre compte de gestion AWS Control Tower comme compte hub, afin qu'il ne soit pas soumis au SCP.

## Personnalisation de votre document de politique pour les plans de l'AFC sur la base de CloudFormation
<a name="custom-policy-document"></a>

Lorsque vous activez un plan par le biais de Account Factory, AWS Control Tower vous demande CloudFormation d'en créer un StackSet en votre nom. CloudFormation nécessite l'accès à votre compte géré pour créer des CloudFormation piles dans le StackSet. Bien qu'il dispose CloudFormation déjà de privilèges d'administrateur sur le compte géré via le `AWSControlTowerExecution` rôle, ce rôle n'est pas assumable par CloudFormation.

Dans le cadre de l'activation d'un plan, AWS Control Tower crée un rôle dans le compte du membre, qui CloudFormation peut être chargé d'effectuer les tâches StackSet de gestion. Le moyen le plus simple d'activer votre plan personnalisé via Account Factory consiste à utiliser une politique d'autorisation *complète*, car ces politiques sont compatibles avec n'importe quel modèle de plan.

Cependant, les meilleures pratiques suggèrent que vous devez restreindre les autorisations pour CloudFormation le compte cible. Vous pouvez fournir une politique personnalisée, qu'AWS Control Tower applique au rôle qu'elle crée CloudFormation pour être utilisé. Par exemple, si votre plan crée un paramètre SSM appelé *something-important*, vous pouvez fournir la politique suivante :

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCloudFormationActionsOnStacks",
            "Effect": "Allow",
            "Action": "cloudformation:*",
            "Resource": "arn:aws:cloudformation:*:*:stack/*"
        },
        {
            "Sid": "AllowSsmParameterActions",
            "Effect": "Allow",
            "Action": [
                "ssm:PutParameter",
                 "ssm:DeleteParameter",
                 "ssm:GetParameter",
                 "ssm:GetParameters"
            ],
            "Resource": "arn:*:ssm:*:*:parameter/something-important"
        }
    ]
}
```

------

L'`AllowCloudFormationActionsOnStacks`instruction est obligatoire pour toutes les politiques personnalisées de l'AFC ; CloudFormation utilise ce rôle pour créer des instances de pile, elle nécessite donc une autorisation pour effectuer des CloudFormation actions sur les piles. La `AllowSsmParameterActions` section est spécifique au modèle en cours d'activation.

**Résoudre les problèmes d'autorisation**

Lorsque vous activez un plan avec une politique restreinte, il se peut que les autorisations soient insuffisantes pour activer le plan. Pour résoudre ces problèmes, révisez votre document de politique et mettez à jour les préférences relatives au plan du compte membre afin d'utiliser la politique corrigée. Pour vérifier que la politique est suffisante pour activer le plan, assurez-vous que les CloudFormation autorisations sont accordées et que vous pouvez créer une pile directement à l'aide de ce rôle.

## Autorisations supplémentaires requises pour créer un produit Service Catalog basé sur Terraform
<a name="custom-policy-document-tf"></a>

Lorsque vous créez un produit AWS Service Catalog externe avec un fichier de configuration Terraform pour AFC, AWS Service Catalog certaines autorisations doivent être ajoutées à votre politique IAM personnalisée AFC, en plus des autorisations requises pour créer les ressources définies dans votre modèle. Si vous choisissez la politique **d'administration** complète par défaut, vous n'avez pas besoin d'ajouter ces autorisations supplémentaires.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "resource-groups:CreateGroup",
                "resource-groups:ListGroupResources",
                "resource-groups:DeleteGroup",
                "resource-groups:Tag"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "tag:GetResources",
                "tag:GetTagKeys",
                "tag:GetTagValues",
                "tag:TagResources",
                "tag:UntagResources"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": "s3:GetObject",
            "Effect": "Allow",
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "s3:ExistingObjectTag/servicecatalog:provisioning": "true"
                }
            }
        }
    ]
}
```

------

Pour plus d'informations sur la création de produits Terraform à l'aide du type de produit externe dans AWS Service Catalog, voir [Étape 5 : Création de rôles de lancement](https://docs.aws.amazon.com//servicecatalog/latest/adminguide/getstarted-launchrole-Terraform.html) dans le Guide de l'administrateur du Service Catalog.

## Transition vers le type de produit AWS Service Catalog externe
<a name="service-catalog-external-product-type"></a>

AWS Service Catalog *a modifié le support pour les produits *Open Source Terraform* et a approvisionné les produits vers un nouveau type de produit, appelé External.* *Pour en savoir plus sur cette transition, consultez la section [Mise à jour des produits Open Source Terraform existants et des produits provisionnés vers le type de produit externe dans le](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/update_terraform_open_source_to_external.html) guide de l'AWS Service Catalog administrateur.* 

Cette modification affecte les comptes existants que vous avez créés ou inscrits dans le cadre de la personnalisation en usine des comptes AWS Control Tower. Pour transférer ces comptes vers le type de produit *externe*, vous devez apporter des modifications à la fois dans AWS Control Tower AWS Service Catalog et dans AWS Control Tower. 

**Pour passer au type de produit externe**

1. Mettez à niveau votre moteur de référence Terraform existant AWS Service Catalog pour inclure la prise en charge des types de produits *externes* et *open source Terraform*. [Pour obtenir des instructions sur la mise à jour de votre moteur de référence Terraform, consultez le AWS Service Catalog GitHub référentiel.](https://github.com/aws-samples/service-catalog-engine-for-terraform-os)

1. *Dans AWS Service Catalog, dupliquez tous les produits *Open Source Terraform* existants (plans), les doublons utilisant le nouveau type de produit externe.* **Ne mettez pas fin aux plans Open Source Terraform existants**. 

1. *Dans AWS Control Tower, mettez à jour chaque compte à l'aide d'un plan *Open Source Terraform* pour utiliser le nouveau plan externe.* 

   1. Pour mettre à jour un plan, vous devez d'abord supprimer complètement le plan *Open Source Terraform*. Pour plus de détails, consultez [Supprimer un plan d'un compte](https://docs.aws.amazon.com/controltower/latest/userguide/remove-a-blueprint.html). 

   1. Ajoutez le nouveau plan *externe* au même compte. Pour plus de détails, consultez l'[article Ajouter un plan à un compte AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/add-blueprint-to-account.html). 

1. Une fois que tous les comptes utilisant les plans *Open Source de Terraform* ont été mis à jour vers les plans *externes*, retournez AWS Service Catalog et résiliez tous les produits qui utilisent *Terraform Open* Source comme type de produit.

1. À l'avenir, tous les comptes créés ou inscrits à l'aide de la personnalisation des comptes AWS Control Tower en usine devront faire référence à des plans utilisant le type de produit *CloudFormation*ou le type de produit *externe*. 

   Pour les plans créés à l'aide du type de produit *externe*, AWS Control Tower prend uniquement en charge les personnalisations de compte qui utilisent des modèles Terraform et le moteur de référence Terraform. Pour en savoir plus, consultez la [section Configurer pour la personnalisation](https://docs.aws.amazon.com/controltower/latest/userguide/afc-setup-steps.html). 

**Note**  
AWS Control Tower ne prend pas en charge *Terraform Open Source* en tant que type de produit lors de la création de nouveaux comptes. *Pour en savoir plus sur ces modifications, consultez la section [Mise à jour des produits Open Source Terraform existants et des produits provisionnés vers le type de produit *externe* dans le](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/update_terraform_open_source_to_external.html) guide de l'AWS Service Catalog administrateur.* AWS Service Catalog aidera les clients tout au long de cette transition de type de produit, selon les besoins. Contactez le représentant de votre compte pour demander de l'aide.