Personnalisez les comptes avec Account Factory Customization (AFC) - 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.

Personnalisez les comptes avec Account Factory Customization (AFC)

AWS Control Tower vous permet de personnaliser les ressources nouvelles et existantes Comptes AWS lorsque vous provisionnez leurs ressources à partir de la console AWS Control Tower. Une fois que vous avez configuré la personnalisation du compte en usine, 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.

Vos comptes personnalisés sont approvisionnés dans Account Factory, via des AWS 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 Started.

Note

AWS Control Tower contient des contrôles proactifs qui surveillent AWS 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.

Les plans de votre compte sont stockés dans un compte qui Compte AWS, à nos fins, est appelé compte hub. Les plans 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 dans le Guide de l'AWS Service Catalog administrateur.

Appliquer des plans aux 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 plus de détails, consultez Mettre à jour le compte dans la console.

Avant de commencer

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.

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.

Préparation à la personnalisation
  • Vous pouvez créer un nouveau compte pour servir 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.

  • 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.

  • Si vous envisagez 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 partenaires en tant que plans de personnalisation de l'usine du compte.

Note

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

Considérations relatives aux personnalisations d'Account Factory (AFC)

  • 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

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'CreateRoleopé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

Lorsque vous activez un plan par le biais de Account Factory, AWS Control Tower vous demande AWS CloudFormation d'en créer un StackSet en votre nom. AWS CloudFormation nécessite l'accès à votre compte géré pour créer des AWS CloudFormation piles dans le StackSet. Bien qu'il dispose AWS 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 AWS CloudFormation.

Dans le cadre de l'activation d'un plan, AWS Control Tower crée un rôle dans le compte du membre, qui AWS 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 AWS CloudFormation le compte cible. Vous pouvez fournir une politique personnalisée, qu'AWS Control Tower applique au rôle qu'elle crée AWS CloudFormation pour être utilisé. Par exemple, si votre plan crée un paramètre SSM appelé something-important, vous pouvez fournir la politique suivante :

{ "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'AllowCloudFormationActionsOnStacksinstruction est obligatoire pour toutes les politiques personnalisées de l'AFC ; AWS CloudFormation utilise ce rôle pour créer des instances de pile, elle nécessite donc une autorisation pour effectuer des AWS 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 AWS 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

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.

{ "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 dans le Guide de l'administrateur du Service Catalog.