

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.

# Configurer la distribution d'AMI entre comptes avec Image Builder
<a name="cross-account-dist"></a>

Cette section décrit comment configurer les paramètres de distribution pour fournir une AMI Image Builder aux autres comptes que vous spécifiez.

Le compte de destination peut ensuite lancer ou modifier l'AMI, selon les besoins.

**Note**  
AWS CLI les exemples de commandes présentés dans cette section supposent que vous avez déjà créé des fichiers JSON de recette d'image et de configuration d'infrastructure. Pour créer le fichier JSON pour une recette d'image, consultez[Créez une recette imagée à l'aide du AWS CLI](create-image-recipes.md#create-image-recipe-cli). Pour créer le fichier JSON pour une configuration d'infrastructure, consultez[Créer une configuration d'infrastructure](create-infra-config.md).

## Conditions préalables à la distribution d'AMI entre comptes
<a name="cross-account-dist-prereqs"></a>

Pour que les comptes cibles puissent lancer correctement des instances à partir de votre image Image Builder, vous devez configurer les autorisations appropriées pour tous les comptes de destination dans toutes les régions.

Si vous chiffrez votre AMI à l'aide de AWS Key Management Service (AWS KMS), vous devez configurer un AWS KMS key pour votre compte qui sera utilisé pour chiffrer la nouvelle image.

Lorsque Image Builder effectue une distribution entre comptes chiffrée AMIs, l'image du compte source est déchiffrée et envoyée vers la région cible, où elle est rechiffrée à l'aide de la clé désignée pour cette région. Image Builder agissant pour le compte cible et utilise un rôle IAM que vous créez dans la région de destination, ce compte doit avoir accès aux clés dans les régions source et de destination.

### Clés de chiffrement
<a name="cross-account-prereqs-encryption"></a>

Les conditions préalables suivantes sont requises si votre image est cryptée à l'aide AWS KMS de. Les prérequis IAM sont abordés dans la section suivante.

**Exigences relatives au compte source**
+ Créez une clé KMS dans votre compte dans toutes les régions où vous créez et distribuez votre AMI. Vous pouvez également utiliser une clé existante.
+ Mettez à jour la politique clé pour toutes ces clés afin de permettre aux comptes de destination d'utiliser votre clé.

**Exigences relatives au compte de destination**
+ Ajoutez une politique en ligne `EC2ImageBuilderDistributionCrossAccountRole` qui permet au rôle d'effectuer les actions requises pour distribuer une AMI chiffrée. Pour les étapes de configuration IAM, consultez la section sur les [politiques IAM](#cross-account-prereqs-iam) conditions préalables.

Pour plus d'informations sur l'utilisation de l'accès entre comptes AWS KMS, voir [Autoriser les utilisateurs d'autres comptes à utiliser une clé KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) dans le *Guide du AWS Key Management Service développeur*.

Spécifiez votre clé de chiffrement dans la recette de l'image, comme suit :
+ Si vous utilisez la console Image Builder, choisissez votre clé de chiffrement dans la liste déroulante **Encryption (alias KMS)** de la section **Stockage (volumes)** de votre recette.
+ Si vous utilisez l'action **CreateImageRecipe** API ou la **create-image-recipe** commande contenue dans le AWS CLI, configurez votre clé dans la `ebs` section `blockDeviceMappings` ci-dessous de votre entrée JSON.

  L'extrait de code JSON suivant indique les paramètres de chiffrement d'une recette d'image. En plus de fournir votre clé de chiffrement, vous devez également définir l'`encrypted`indicateur sur`true`.

  ```
  {
  	...
  	"blockDeviceMappings": [
  	{
  		"deviceName": "Example root volume",
  		"ebs": { 
  			"deleteOnTermination": true,
  			"encrypted": true,
  			"iops": 100,
  			"kmsKeyId": "image-owner-key-id",
  			...
  		},
  		...
  	}],
  	...
  }
  ```

### politiques IAM
<a name="cross-account-prereqs-iam"></a>

Pour configurer les autorisations de distribution entre comptes dans Gestion des identités et des accès AWS (IAM), procédez comme suit :

1. Pour utiliser Image Builder AMIs qui sont distribués sur plusieurs comptes, le propriétaire du compte de destination doit créer un nouveau rôle IAM dans son compte appelé`EC2ImageBuilderDistributionCrossAccountRole`.

1. Ils doivent associer le [Stratégie Ec2ImageBuilderCrossAccountDistributionAccess](security-iam-awsmanpol.md#sec-iam-manpol-Ec2ImageBuilderCrossAccountDistributionAccess) au rôle pour permettre la distribution entre comptes. Pour plus d'informations sur les politiques gérées, voir [Politiques gérées et politiques intégrées](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) dans le *guide de l'Gestion des identités et des accès AWS utilisateur*.

1. Vérifiez que l'ID du compte source est ajouté à la politique de confiance attachée au rôle IAM du compte de destination. L'exemple suivant montre une politique de confiance dans le compte de destination qui spécifie l'ID du compte source.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Effect": "Allow",
           "Principal": {
               "AWS": "arn:aws:iam::444455556666:root"
           },
           "Action": "sts:AssumeRole"
       }]
   }
   ```

------

   Pour plus d'informations sur les politiques de confiance, consultez la section Politiques [basées sur les ressources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based) dans le guide de l'*Gestion des identités et des accès AWS utilisateur*.

1. Si l'AMI que vous distribuez est cryptée, le propriétaire du compte de destination doit ajouter la politique `EC2ImageBuilderDistributionCrossAccountRole` en ligne suivante à son compte afin de pouvoir utiliser vos clés KMS. La `Principal` section contient leur numéro de compte. Image Builder peut ainsi agir en leur nom lorsqu'il AWS KMS crypte et déchiffre l'AMI avec les clés appropriées pour chaque région.

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

****  

   ```
   {
   	"Version":"2012-10-17",		 	 	 
   	"Statement": [
   		{
   			"Sid": "AllowRoleToPerformKMSOperationsOnBehalfOfTheDestinationAccount",
   			"Effect": "Allow",
   			"Action": [
   				"kms:Encrypt",
   				"kms:Decrypt",
   				"kms:ReEncrypt*",
   				"kms:GenerateDataKey*",
   				"kms:DescribeKey",
   				"kms:CreateGrant",
   				"kms:ListGrants",
   				"kms:RevokeGrant"
   			],
   			"Resource": "*"
   		}
   	]
   }
   ```

------

   Pour plus d'informations sur les politiques intégrées, consultez la section [Politiques intégrées dans](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies) le guide de l'*Gestion des identités et des accès AWS utilisateur*.

1. Si vous utilisez `launchTemplateConfigurations` pour spécifier un modèle de lancement Amazon EC2, vous devez également ajouter la politique suivante `EC2ImageBuilderDistributionCrossAccountRole` à votre compte de destination.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateLaunchTemplateVersion",
                   "ec2:ModifyLaunchTemplate"
               ],
               "Resource": "*",
               "Condition": {
                   "StringEquals": {
                       "aws:ResourceTag/CreatedBy": "EC2 Image Builder"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:DescribeLaunchTemplates"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:CreateTags"
               ],
               "Resource": "arn:aws:ec2:*:*:launch-template/*",
               "Condition": {
                   "StringEquals": {
                       "aws:RequestTag/CreatedBy": "EC2 Image Builder"
                   }
               }
           }
       ]
   }
   ```

------

1. Si vous utilisez un AWS Systems Manager paramètre Parameter Store pour stocker l'ID de l'AMI de sortie pour le compte de distribution et la région, vous devez ajouter la politique suivante à votre compte de destination `EC2ImageBuilderDistributionCrossAccountRole` dans chaque compte de destination.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ssm:PutParameter"
               ],
               "Resource": "arn:aws:ssm:*:111122223333:parameter/ImageBuilder-*"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:DescribeImages"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

## Limites de distribution entre comptes
<a name="cross-account-dist-limits"></a>

La distribution d'images Image Builder sur plusieurs comptes comporte certaines limites :
+ Le compte de destination est limité à 50 copies simultanées de l'AMI pour chaque région de destination.
+ Si vous souhaitez copier une AMI de virtualisation paravirtuelle (PV) vers une autre région, la région de destination doit prendre en charge la virtualisation PV. AMIs Pour plus d'informations, consultez [Types de virtualisations AMI Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html).
+ Vous ne pouvez pas créer de copie non chiffrée d'un instantané chiffré. Si vous ne spécifiez pas de clé gérée par le client AWS Key Management Service (AWS KMS) pour le `KmsKeyId` paramètre, Image Builder utilise la clé par défaut pour Amazon Elastic Block Store (Amazon EBS). Pour de plus amples informations, veuillez consulter [Chiffrement Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) dans le *Guide de l'utilisateur Amazon Elastic Compute Cloud*.

Pour plus d'informations, consultez le manuel [CreateDistributionConfiguration](https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateDistributionConfiguration.html)de référence de l'*API EC2 Image Builder*.

## Configurer la distribution entre comptes pour une AMI Image Builder depuis la console
<a name="cross-account-dist-console-create-ami"></a>

Cette section explique comment créer et configurer les paramètres de distribution pour la distribution entre comptes de votre Image Builder à l' AMIs aide du AWS Management Console. La configuration de la distribution entre comptes nécessite des autorisations IAM spécifiques. Vous devez remplir le formulaire [Conditions préalables à la distribution d'AMI entre comptes](#cross-account-dist-prereqs) correspondant à cette section avant de continuer.

Pour créer des paramètres de distribution dans la console Image Builder, procédez comme suit :

1. Ouvrez la console [https://console.aws.amazon.com/imagebuilder/](https://console.aws.amazon.com/imagebuilder/)EC2 Image Builder à l'adresse.

1. Choisissez **Paramètres de distribution** dans le volet de navigation. Cela affiche la liste des paramètres de distribution créés sous votre compte.

1. En haut de la page des **paramètres de distribution**, choisissez **Créer des paramètres de distribution**. Cela vous amène à la page **Créer des paramètres de distribution**.

1. Dans la section **Type d'image**, choisissez **Amazon Machine Image (AMI)** comme **type de sortie**. Il s’agit du paramètre par défaut.

1. Dans la section **Général**, entrez le **nom** de la ressource de paramètres de distribution que vous souhaitez créer (*obligatoire*).

1. Dans la section **Paramètres régionaux**, entrez un identifiant de compte à 12 chiffres auquel vous souhaitez distribuer votre AMI dans les **comptes Target** de la région sélectionnée, puis appuyez sur **Entrée**. Cela vérifie le bon formatage, puis affiche l'ID de compte que vous avez saisi sous la case. Répétez le processus pour ajouter d'autres comptes.

   Pour supprimer un compte que vous avez saisi, choisissez le **X** affiché à droite de l'identifiant du compte.

   Entrez le **nom de l'AMI de sortie** pour chaque région.

1. Continuez à spécifier les paramètres supplémentaires dont vous avez besoin, puis choisissez **Créer des paramètres** pour créer votre nouvelle ressource de paramètres de distribution.

## Configurez la distribution entre comptes pour une AMI Image Builder à partir du AWS CLI
<a name="cross-account-dist-cli-ami-create"></a>

Cette section décrit comment configurer un fichier de paramètres de distribution et utiliser la **create-image** commande contenue dans le AWS CLI pour créer et distribuer une AMI Image Builder sur plusieurs comptes.

La configuration de la distribution entre comptes nécessite des autorisations IAM spécifiques. Vous devez compléter cette section avant d'exécuter la **create-image** commande. [Conditions préalables à la distribution d'AMI entre comptes](#cross-account-dist-prereqs)

1. 

**Configuration d'un fichier de paramètres de distribution**

   Avant d'utiliser la **create-image** commande AWS CLI pour créer une AMI Image Builder distribuée à un autre compte, vous devez créer une structure `DistributionConfiguration` JSON qui spécifie le compte cible IDs dans les `AmiDistributionConfiguration` paramètres. Vous devez en spécifier au moins un `AmiDistributionConfiguration` dans la région source.

   Le fichier d'exemple suivant, nommé`create-distribution-configuration.json`, montre la configuration pour la distribution d'images entre comptes dans la région source.

   ```
   {
   	"name": "cross-account-distribution-example",
   	"description": "Cross Account Distribution Configuration Example",
   	"distributions": [
   		{
   			"amiDistributionConfiguration": {
   				"targetAccountIds": ["123456789012", "987654321098"],
   				"name": "Name {{ imagebuilder:buildDate }}", 
   				"description": "ImageCopy Ami Copy Configuration"
   			}, 
   			"region": "us-west-2"
   		}
   	]
   }
   ```

1. 

**Création des paramètres de distribution**

   Pour créer une ressource de paramètres de distribution Image Builder à l'aide de la [create-distribution-configuration](https://docs.aws.amazon.com/cli/latest/reference/imagebuilder/create-distribution-configuration.html)commande AWS CLI, entrez les paramètres suivants dans la commande :
   + Entrez le nom de la distribution dans le `--name` paramètre.
   + Joignez le fichier JSON de configuration de distribution que vous avez créé dans le `--cli-input-json` paramètre.

   ```
   aws imagebuilder create-distribution-configuration --name my distribution name --cli-input-json file://create-distribution-configuration.json
   ```
**Note**  
Vous devez inclure l'option `file://` au début du chemin du fichier JSON.
Le chemin d'accès du fichier JSON doit suivre la convention appropriée pour le système d'exploitation de base sur lequel vous exécutez la commande. Par exemple, Windows utilise la barre oblique inverse (\$1) pour faire référence au chemin du répertoire, tandis que Linux et macOS utilisent la barre oblique (/).

*Vous pouvez également fournir du JSON directement dans la commande, à l'aide du `--distributions` paramètre.*