

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.

# Comprendre l’utilisation des AMI partagées dans Amazon EC2
<a name="sharing-amis"></a>

*A shared AMI* (une AMI partagée) est une AMI créée et mise à disposition par un développeur afin que d’autres développeurs puissent l’utiliser. L’une des façons les plus simples de se lancer avec Amazon EC2 est d’utiliser une AMI partagée qui possède les composants dont vous avez besoin, puis d’y ajouter du contenu personnalisé. Vous pouvez également créer les vôtres AMIs et les partager avec d'autres. 

Vous utilisez une AMI partagée à vos propres risques. Amazon ne peut se porter garant de l’intégrité ou de la sécurité des AMI partagées par d’autres utilisateurs Amazon EC2. Par conséquent, vous devez traiter le code partagé AMIs comme tout code étranger que vous pourriez envisager de déployer dans votre propre centre de données, et faire preuve de diligence raisonnable. Nous vous recommandons d’obtenir une AMI auprès d’une source de confiance, telle qu’un fournisseur vérifié.

## Fournisseur vérifié
<a name="verified-ami-provider"></a>

Dans la console Amazon EC2, les sites publics AMIs appartenant à Amazon ou à un partenaire Amazon vérifié sont marqués comme fournisseur **vérifié**.

Vous pouvez également utiliser la AWS CLI commande [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) pour identifier le public provenant AMIs d'un fournisseur vérifié. Les images publiques appartenant à Amazon ou à un partenaire vérifié ont un propriétaire disposant d’un pseudonyme, qui est soit `amazon`, `aws-backup-vault` soit `aws-marketplace`. Dans la sortie CLI, ces valeurs apparaissent pour `ImageOwnerAlias`. Les autres utilisateurs ne peuvent pas créer d'alias AMIs. Cela vous permet de trouver facilement des informations AMIs auprès d'Amazon ou de partenaires vérifiés.

Pour devenir un fournisseur vérifié, vous devez vous inscrire en tant que vendeur sur le AWS Marketplace. Une fois enregistré, vous pouvez répertorier votre AMI sur la page AWS Marketplace. Pour plus d’informations, voir [Démarrer en tant que vendeur](https://docs.aws.amazon.com/marketplace/latest/userguide/user-guide-for-sellers.html) et [Produits AMI](https://docs.aws.amazon.com/marketplace/latest/userguide/ami-products.html) dans le *Guide du vendeur AWS Marketplace *.

**Topics**
+ [Fournisseur vérifié](#verified-ami-provider)
+ [Rechercher des AMI partagées qui seront utilisées pour les instances Amazon EC2](usingsharedamis-finding.md)
+ [Préparez-vous à utiliser le partage AMIs pour Linux](usingsharedamis-confirm.md)
+ [Contrôlez la découverte et l'utilisation des AMI dans Amazon EC2 avec Allowed AMIs](ec2-allowed-amis.md)
+ [Mettez votre AMI à la disposition du public pour qu’il puisse l’utiliser dans Amazon EC2](sharingamis-intro.md)
+ [Comprendre bloquer l'accès public pour AMIs](block-public-access-to-amis.md)
+ [Partager une AMI avec des organisations et des unités organisationnelles](share-amis-with-organizations-and-OUs.md)
+ [Partager une AMI avec des AWS comptes spécifiques](sharingamis-explicit.md)
+ [Annuler le partage d'une AMI avec votre Compte AWS](cancel-sharing-an-AMI.md)
+ [Recommandations pour créer un système Linux partagé AMIs](building-shared-amis.md)

**Si vous recherchez des informations sur d’autres sujets**
+ Pour plus d’informations sur la création d’une AMI, consultez [Création d’une AMI basée sur Amazon S3](creating-an-ami-instance-store.md) ou [Créer une AMI basée sur Amazon EBS](creating-an-ami-ebs.md).
+ Pour plus d’informations sur la création, la livraison et la maintenance de vos applications sur le AWS Marketplace, consultez la [AWS Marketplace Documentation](https://docs.aws.amazon.com/marketplace/) (Documentation de ).

# Rechercher des AMI partagées qui seront utilisées pour les instances Amazon EC2
<a name="usingsharedamis-finding"></a>

Vous pouvez utiliser la console Amazon EC2 ou la ligne de commande pour trouver des AMI partagées publiques ou privées qui seront utilisées avec vos instances Amazon EC2.

AMIs sont une ressource régionale. Lorsque vous recherchez une AMI partagée (publique ou privée), vous devez la rechercher dans la même région que celle à partir de laquelle elle est partagée. Pour rendre une AMI disponible dans une autre région, copiez-la dans la région souhaitée, puis partagez-la. Pour de plus amples informations, veuillez consulter [Copier une AMI Amazon EC2](CopyingAMIs.md).

------
#### [ Console ]

La console fournit un champ de filtre d’AMI. Vous pouvez également affiner vos recherches à l’aide des filtres fournis dans le champ **Recherche**.

**Pour rechercher une AMI partagée**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **AMIs**.

1. Dans le premier filtre, choisissez l’une des options suivantes :
   + **Images privées** : répertorie toutes AMIs les images partagées avec vous.
   + **Images publiques** — Répertorie toutes les images publiques AMIs.

1. (Facultatif) Pour n’afficher que les images publiques d’Amazon, sélectionnez le champ **Recherche**, puis, dans les options du menu, sélectionnez **Alias du propriétaire**, puis **=**, et enfin **amazon**.

1. (Facultatif) Ajoutez des filtres pour étendre votre recherche AMIs en fonction de vos besoins.

**Pour rechercher une AMI publique partagée par un [fournisseur vérifié](sharing-amis.md#verified-ami-provider)**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Catalogue AMI**.

1. Choisissez **Community AMIs**.

1. Dans le volet **Affiner les résultats**, sélectionnez **Fournisseur vérifié**. L'étiquette du **fournisseur vérifié** indique qu'il s' AMIs agit d'Amazon ou d'un partenaire vérifié.

------
#### [ AWS CLI ]

Utilisez la commande [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) pour créer une liste. AMIs Vous pouvez étendre la liste aux types AMIs qui vous intéressent, comme le montrent les exemples suivants.

**Pour répertorier tous les publics AMIs**  
La commande suivante répertorie tous les publics AMIs, y compris ceux AMIs que vous possédez.

```
aws ec2 describe-images --executable-users all
```

**Pour répertorier AMIs avec des autorisations de lancement explicites**  
La commande suivante répertorie celles AMIs pour lesquelles vous disposez d'autorisations de lancement explicites. Cette liste n'inclut aucun de ceux AMIs que vous possédez.

```
aws ec2 describe-images --executable-users self
```

**Pour une liste AMIs appartenant à des fournisseurs vérifiés**  
La commande suivante répertorie les fournisseurs AMIs détenus par des [fournisseurs vérifiés](sharing-amis.md#verified-ami-provider). Les fournisseurs publics AMIs détenus par des fournisseurs vérifiés (Amazon ou des partenaires vérifiés) ont un alias de propriétaire, qui apparaît sous `amazon` la forme ou `aws-marketplace` dans le champ du compte. `aws-backup-vault` Cela vous permet de trouver facilement AMIs des fournisseurs vérifiés. Les autres utilisateurs ne peuvent pas créer d'aliasAMIs.

```
aws ec2 describe-images \
    --owners amazon aws-marketplace \
    --query 'Images[*].[ImageId]' \
    --output text
```

**Pour répertorier les AMIs personnes détenues par un compte**  
La commande suivante répertorie les AMIs propriétés détenues par le spécifié Compte AWS.

```
aws ec2 describe-images --owners 123456789012
```

**Pour définir le périmètre à AMIs l'aide d'un filtre**  
Pour réduire le nombre d'affichages AMIs, utilisez un filtre pour ne répertorier que les types AMIs qui vous intéressent. Par exemple, utilisez le filtre suivant pour afficher uniquement les fichiers basés sur EBS AMIs.

```
--filters "Name=root-device-type,Values=ebs"
```

------
#### [ PowerShell ]

Utilisez l'[Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html)applet de commande (Outils pour Windows PowerShell) pour créer une liste. AMIs Vous pouvez étendre la liste aux types AMIs qui vous intéressent, comme le montrent les exemples suivants.

**Pour répertorier tous les publics AMIs**  
La commande suivante répertorie tous les publics AMIs, y compris ceux AMIs que vous possédez.

```
Get-EC2Image -ExecutableUser all
```

**Pour répertorier AMIs avec des autorisations de lancement explicites**  
La commande suivante répertorie celles AMIs pour lesquelles vous disposez d'autorisations de lancement explicites. Cette liste n'inclut aucun de ceux AMIs que vous possédez.

```
Get-EC2Image -ExecutableUser self
```

**Pour une liste AMIs appartenant à des fournisseurs vérifiés**  
La commande suivante répertorie les fournisseurs AMIs détenus par des [fournisseurs vérifiés](sharing-amis.md#verified-ami-provider). Les fournisseurs publics AMIs détenus par des fournisseurs vérifiés (Amazon ou des partenaires vérifiés) ont un alias de propriétaire, qui apparaît sous `amazon` la forme ou `aws-marketplace` dans le champ du compte. `aws-backup-vault` Cela vous permet de trouver facilement AMIs des fournisseurs vérifiés. Les autres utilisateurs ne peuvent pas créer d'aliasAMIs.

```
Get-EC2Image -Owner amazon aws-marketplace
```

**Pour répertorier les AMIs personnes détenues par un compte**  
La commande suivante répertorie les AMIs propriétés détenues par le spécifié Compte AWS.

```
Get-EC2Image -Owner 123456789012
```

**Pour définir le périmètre à AMIs l'aide d'un filtre**  
Pour réduire le nombre d'affichages AMIs, utilisez un filtre pour ne répertorier que les types AMIs qui vous intéressent. Par exemple, utilisez le filtre suivant pour afficher uniquement les fichiers basés sur EBS AMIs.

```
-Filter @{Name="root-device-type"; Values="ebs"}
```

------

# Préparez-vous à utiliser le partage AMIs pour Linux
<a name="usingsharedamis-confirm"></a>

Avant d’utiliser une AMI partagée pour Linux, suivez les étapes ci-après afin de vous assurer qu’il n’y a pas d’informations d’identification pré-installées qui permettraient un accès non désiré à votre instance par un tiers, ni de journalisation à distance préconfigurée susceptible de transmettre des données sensibles à un tiers. Consultez la documentation portant sur la distribution Linux utilisée par l’AMI pour en savoir plus sur la façon d’améliorer la sécurité du système.

Afin de vous assurer que vous ne perdiez pas accidentellement accès à votre instance, nous vous recommandons d’initier deux sessions SSH et de conserver la seconde session ouverte jusqu’à ce que vous retiriez les informations d’identification que vous ne reconnaissez pas, et que vous confirmiez que vous pouvez toujours vous connecter à votre instance à l’aide de SSH.

1. Identifiez et désactivez toute clé SSH publique non-autorisée. La seule clé dans le fichier devrait être la clé que vous avez utilisée pour lancer l’AMI. La commande suivante localise les fichiers `authorized_keys` :

   ```
   [ec2-user ~]$ sudo find / -name "authorized_keys" -print -exec cat {} \;
   ```

1. Désactivez l’authentification basée sur mot de passe pour l’utilisateur racine. Ouvrez le fichier `sshd_config` et éditez la ligne `PermitRootLogin` de la façon suivante :

   ```
   PermitRootLogin without-password
   ```

   L’alternative est de désactiver la possibilité de se connecter à l’instance en tant qu’utilisateur racine :

   ```
   PermitRootLogin No
   ```

   Redémarrez le service sshd.

1. Vérifiez si d’autres utilisateurs peuvent se connecter à votre instance. Les utilisateurs disposant de privilèges de superutilisateur sont particulièrement dangereux. Supprimez ou verrouillez le mot de passe de tout compte inconnu.

1. Vérifiez s’il y a des ports ouverts que vous n’utilisez pas et des services de réseau en cours d’exécution en attente de connexions entrantes.

1. Pour empêcher la journalisation à distance préconfigurée, vous devez supprimer le fichier de configuration existant et redémarrer le service `rsyslog`. Par exemple :

   ```
   [ec2-user ~]$ sudo rm /etc/rsyslog.conf
   [ec2-user ~]$ sudo service rsyslog restart
   ```

1. Vérifiez que toutes les tâches cron sont légitimes.

Si vous découvrez une AMI publique qui présente selon vous un risque de sécurité, contactez l’équipe de sécurité AWS . Pour plus d’informations, consultez le [Centre de sécuritéAWS](https://aws.amazon.com/security/).

# Contrôlez la découverte et l'utilisation des AMI dans Amazon EC2 avec Allowed AMIs
<a name="ec2-allowed-amis"></a>

Pour contrôler la découverte et l'utilisation d'Amazon Machine Images (AMIs) par les utilisateurs de votre site Compte AWS, vous pouvez utiliser la AMIs fonctionnalité *Autorisé*. Vous spécifiez les critères qui AMIs doivent être remplis pour être visibles et disponibles dans votre compte. Lorsque les critères sont activés, les utilisateurs qui lancent des instances ne verront et n'auront accès AMIs qu'aux instances conformes aux critères spécifiés. Par exemple, vous pouvez spécifier une liste de fournisseurs d'AMI fiables comme critère, et seuls AMIs ces fournisseurs seront visibles et utilisables.

Avant d'activer les AMIs paramètres autorisés, vous pouvez activer le *mode audit* pour prévisualiser ce qui AMIs sera visible ou non et disponible pour utilisation. Cela vous permet d'affiner les critères selon vos besoins afin de garantir que seuls les critères prévus AMIs sont visibles et disponibles pour les utilisateurs de votre compte. En outre, utilisez la [describe-instance-image-metadata](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-image-metadata.html)commande pour rechercher les instances lancées avec AMIs qui ne répondent pas aux critères spécifiés. Ces informations peuvent vous aider à décider de mettre à jour vos configurations de lancement afin de les rendre conformes AMIs (par exemple, en spécifiant une autre AMI dans un modèle de lancement) ou d'ajuster vos critères pour les autoriser AMIs.

Vous spécifiez les AMIs paramètres autorisés au niveau du compte, soit directement dans le compte, soit en utilisant une politique déclarative. Ces paramètres doivent être configurés dans chaque Région AWS où vous souhaitez contrôler l’utilisation de l’AMI. L’utilisation d’une politique déclarative vous permet d’appliquer les paramètres à plusieurs régions simultanément, ainsi qu’à plusieurs comptes simultanément. Lorsqu’une politique déclarative est utilisée, vous ne pouvez pas modifier les paramètres directement dans un compte. Cette rubrique décrit la procédure à suivre pour configurer les paramètres directement à l’intérieur d’un compte. Pour plus d’informations sur l’utilisation des politiques déclaratives, consultez la section [Politiques déclaratives](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) dans le *Guide de l’utilisateur AWS Organizations *.

**Note**  
La AMIs fonctionnalité Autorisée contrôle uniquement la découverte et l'utilisation des informations publiques AMIs ou AMIs partagées avec votre compte. Cela ne limite pas la AMIs propriété de votre compte. Quels que soient les critères que vous définissez, les AMIs données créées par votre compte sont toujours détectables et utilisables par les utilisateurs de votre compte.

**Principaux avantages d'Allowed AMIs**
+ **Conformité et sécurité** : les utilisateurs ne peuvent découvrir et utiliser AMIs que ceux qui répondent aux critères spécifiés, ce qui réduit le risque d'utilisation non conforme des AMI.
+ **Gestion efficace** : en réduisant le nombre d'autorisations AMIs, la gestion des autres devient plus facile et plus efficace.
+ **Implémentation centralisée au niveau du compte** : configurez les AMIs paramètres autorisés au niveau du compte, soit directement dans le compte, soit par le biais d'une politique déclarative. Il s’agit d’un moyen centralisé et efficace de contrôler l’utilisation des AMI sur l’ensemble du compte.

**Topics**
+ [Comment AMIs fonctionne Allowed](#how-allowed-amis-works)
+ [Meilleures pratiques pour la mise en œuvre d'Allowed AMIs](#best-practice-for-implementing-allowed-amis)
+ [Autorisations IAM requises](#iam-permissions-for-allowed-amis)
+ [Gérer les paramètres pour Autorisé AMIs](manage-settings-allowed-amis.md)

## Comment AMIs fonctionne Allowed
<a name="how-allowed-amis-works"></a>

Pour contrôler ce qui AMIs peut être découvert et utilisé dans votre compte, vous définissez un ensemble de critères par rapport auxquels évaluer le AMIs. Les critères sont composés d’un ou de plusieurs `ImageCriterion`, comme le montre le diagramme suivant. Une explication suit le schéma.

![\[Hiérarchie des AMIs ImageCriteria configurations autorisées.\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/images/ami_allowed-amis-imagecriteria.png)


La configuration comporte trois niveaux :
+ **1** : valeurs des paramètres
  + Paramètres à valeurs multiples :
    + `ImageProviders`
    + `ImageNames`
    + `MarketplaceProductCodes`

      Un AMI peut correspondre à *n’importe quelle* valeur autorisée dans un paramètre.

      Exemple : `ImageProviders` = `amazon` **OU** compte `111122223333` **OU** compte `444455556666` (La logique d’évaluation des valeurs des paramètres n’est pas indiquée dans le diagramme.)
  + Paramètres à valeur unique :
    + `CreationDateCondition`
    + `DeprecationTimeCondition`
+ **2** : `ImageCriterion`
  + Regroupe plusieurs paramètres avec la logique **AND**.
  + Une AMI doit correspondre à *tous les* paramètres compris dans un `ImageCriterion` pour être autorisée.
  + Exemple : `ImageProviders` = `amazon` **ET** `CreationDateCondition` = 300 jours ou moins
+ **3** : `ImageCriteria`
  + Regroupe plusieurs `ImageCriterion` avec une logique **OU**.
  + Une AMI peut correspondre à *n’importe quel* `ImageCriterion` pour être autorisée.
  + Forme la configuration complète par rapport à laquelle AMIs sont évaluées. 

**Topics**
+ [AMIs Paramètres autorisés](#allowed-amis-criteria)
+ [AMIs Configuration autorisée](#allowed-amis-json-configuration)
+ [Comment les critères sont évalués](#how-allowed-amis-criteria-are-evaluated)
+ [Restrictions](#allowed-amis-json-configuration-limits)
+ [AMIs Opérations autorisées](#allowed-amis-operations)

### AMIs Paramètres autorisés
<a name="allowed-amis-criteria"></a>

Les paramètres suivants peuvent être configurés pour créer un `ImageCriterion` :

`ImageProviders`  
Les fournisseurs d'AMI AMIs autorisés.  
Les valeurs valides sont des alias définis par et AWS Compte AWS IDs, comme suit :  
+ `amazon`— Un alias identifiant AMIs créé par Amazon ou des fournisseurs vérifiés
+ `aws-marketplace`— Un alias qui identifie les fournisseurs vérifiés AMIs créés dans le AWS Marketplace
+ `aws-backup-vault`— Un alias qui identifie les sauvegardes AMIs résidant dans des comptes AWS Backup Vault logiquement séparés. Si vous utilisez la fonction AWS Backup logically airgap vault, assurez-vous que cet alias est inclus en tant que fournisseur d'AMI.
+ Compte AWS IDs — Un ou plusieurs chiffres à 12 chiffres Compte AWS IDs
+ `none`— Indique que seuls les comptes AMIs créés par votre compte peuvent être découverts et utilisés. Le public ou le partage ne AMIs peuvent pas être découverts et utilisés. Lorsqu’il est précisé, aucun autre critère ne peut être spécifié.

`ImageNames`  
Les noms des personnes autorisées AMIs, en utilisant des correspondances exactes ou des caractères génériques (`?`ou`*`).

`MarketplaceProductCodes`  
Les codes de AWS Marketplace produit sont autorisés AMIs.

`CreationDateCondition`  
L'âge maximum autorisé AMIs.

`DeprecationTimeCondition`  
Période maximale depuis la dépréciation de Allowed. AMIs

Pour connaître les valeurs et les contraintes valides pour chaque critère, consultez [ImageCriterionRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ImageCriterionRequest.html)le manuel *Amazon EC2 API* Reference.

### AMIs Configuration autorisée
<a name="allowed-amis-json-configuration"></a>

La configuration de base d'Allowed AMIs est la `ImageCriteria` configuration qui définit les critères d'autorisation AMIs. La structure JSON suivante montre les paramètres qui peuvent être spécifiés :

```
{
    "State": "enabled" | "disabled" | "audit-mode",  
    "ImageCriteria" : [
        {
            "ImageProviders": ["string",...],
            "MarketplaceProductCodes": ["string",...],           
            "ImageNames":["string",...],
            "CreationDateCondition" : {
                "MaximumDaysSinceCreated": integer
            },
            "DeprecationTimeCondition" : {
                "MaximumDaysSinceDeprecated": integer
            }
         },
         ...
}
```

#### ImageCriteria exemple
<a name="allowed-amis-json-configuration-example"></a>

L’exemple `ImageCriteria` suivant en configure quatre `ImageCriterion`. Une AMI est autorisée si elle correspond à l’un de ces `ImageCriterion`. Pour plus d’informations sur la manière dont les critères sont évalués, consultez la section [Comment les critères sont évalués](#how-allowed-amis-criteria-are-evaluated).

```
{
    "ImageCriteria": [
        // ImageCriterion 1: Allow AWS Marketplace AMIs with product code "abcdefg1234567890"
        {
            "MarketplaceProductCodes": [
                "abcdefg1234567890"
            ]
        },
        // ImageCriterion 2: Allow AMIs from providers whose accounts are
        // "123456789012" OR "123456789013" AND AMI age is less than 300 days
        {
            "ImageProviders": [
                "123456789012",
                "123456789013"
            ],
            "CreationDateCondition": {
                "MaximumDaysSinceCreated": 300
            }
        },
        // ImageCriterion 3: Allow AMIs from provider whose account is "123456789014" 
        // AND with names following the pattern "golden-ami-*"
        {
            "ImageProviders": [
                "123456789014"
            ],
            "ImageNames": [
                "golden-ami-*"
            ]
        },
        // ImageCriterion 4: Allow AMIs from Amazon or verified providers 
        // AND which aren't deprecated
        {
            "ImageProviders": [
                "amazon"
            ],
            "DeprecationTimeCondition": {
                "MaximumDaysSinceDeprecated": 0
            }
        }
    ]
}
```

### Comment les critères sont évalués
<a name="how-allowed-amis-criteria-are-evaluated"></a>

Le tableau suivant explique les règles d’évaluation qui déterminent si une AMI est autorisée, en montrant comment l’opérateur `AND` ou `OR` est appliqué à chaque niveau :


| Mode d’évaluation | Opérateur | Exigence à remplir pour que l’AMI soit autorisée | 
| --- | --- | --- | 
| Valeurs des paramètres pour ImageProviders, ImageNames et MarketplaceProductCodes | OR | L’AMI doit correspondre à au moins une valeur dans chaque liste de paramètres | 
| ImageCriterion | AND | L’AMI doit correspondre à tous les paramètres de chaque ImageCriterion | 
| ImageCriteria | OR | L’AMI doit correspondre à l’un des ImageCriterion | 

En utilisant les règles d’évaluation précédentes, voyons comment les appliquer à l’[ImageCriteria exemple](#allowed-amis-json-configuration-example) :
+ `ImageCriterion`1 : Permet d' AMIs avoir le code AWS Marketplace du produit `abcdefg1234567890`

  `OR`
+ `ImageCriterion`2 : AMIs Autorise répondant à ces deux critères :
  + Appartenant au compte `123456789012` `OR` `123456789013`
    + `AND`
  + Créée au cours des 300 derniers jours

  `OR`
+ `ImageCriterion`3 : AMIs Autorise répondant à ces deux critères :
  + Détenue par le compte `123456789014`
    + `AND`
  + Nommée d’après le modèle `golden-ami-*`

  `OR`
+ `ImageCriterion`4 : AMIs Autorise répondant à ces deux critères :
  + Publiée par Amazon ou des fournisseurs vérifiés (spécifiés par l’alias `amazon`)
    + `AND`
  + Non obsolète (nombre maximum de jours depuis la date d’obsolescence) `0`

### Restrictions
<a name="allowed-amis-json-configuration-limits"></a>

L’`ImageCriteria` peut inclure jusqu’à :
+ 10 `ImageCriterion`

Chaque `ImageCriterion` peut inclure jusqu’à :
+ 200 valeurs pour `ImageProviders`
+ 50 valeurs pour `ImageNames` 
+ 50 valeurs pour `MarketplaceProductCodes` 

**Exemple de limites**

En utilisant l’exemple de [ImageCriteria exemple](#allowed-amis-json-configuration-example) qui précède :
+ Il existe 4 `ImageCriterion`. Il est possible d’en ajouter jusqu’à 6 de plus pour atteindre la limite de 10.
+ Dans le premier `ImageCriterion`, il y a 1 valeur pour `MarketplaceProductCodes`. Il est possible d’en ajouter jusqu’à 49 de plus à ce `ImageCriterion` pour atteindre la limite de 50.
+ Dans le second `ImageCriterion`, il y a 2 valeurs pour `ImageProviders`. Il est possible d’en ajouter jusqu’à 198 de plus à ce `ImageCriterion` pour atteindre la limite de 200.
+ Dans le troisième `ImageCriterion`, il y a 1 valeur pour `ImageNames`. Il est possible d’en ajouter jusqu’à 49 de plus à ce `ImageCriterion` pour atteindre la limite de 50.

### AMIs Opérations autorisées
<a name="allowed-amis-operations"></a>

La AMIs fonctionnalité Autorisé possède trois états opérationnels pour gérer les critères d'image : **activé**, **désactivé** et **mode audit**. Ces modes vous permettent d’activer ou de désactiver les critères d’image, ou de les réviser si nécessaire.

**Activé**

Lorsque l'option AMIs Autorisé est activée : 
+ Les `ImageCriteria` sont appliqués.
+ Seules les AMI autorisées sont détectables dans la console EC2 et utilisent ainsi des images (par APIs exemple, qui décrivent, copient, stockent ou exécutent d'autres actions utilisant des images).
+ Les instances ne peuvent être lancées qu'à l'aide de la commande allowed AMIs.

**Désactivé**

Lorsque l'option AMIs Autorisé est désactivée : 
+ Les `ImageCriteria` ne sont pas appliqués.
+ Aucune restriction n’est imposée à la découverte ou à l’utilisation de l’AMI. 

**Mode d’audit**

 En mode d’audit :
+ Les `ImageCriteria` sont appliqués, mais aucune restriction n’est imposée à la découverte ou à l’utilisation de l’AMI.
+ Dans la console EC2, pour chaque AMI, le champ **Image autorisée** affiche **Oui** ou **Non** pour indiquer si l'AMI sera détectable et disponible pour les utilisateurs du compte lorsque Autorisé AMIs est activé.
+ Dans la ligne de commande, la réponse `"ImageAllowed": false` à l'`describe-image`opération inclut `"ImageAllowed": true` ou indique si l'AMI sera détectable et disponible pour les utilisateurs du compte lorsque Autorisé AMIs est activé.
+ Dans la console EC2, le catalogue AMI affiche **Non autorisé** à AMIs côté de la mention Non détectable ou inaccessible aux utilisateurs du compte lorsque Autorisé AMIs est activé.

## Meilleures pratiques pour la mise en œuvre d'Allowed AMIs
<a name="best-practice-for-implementing-allowed-amis"></a>

Lors de la mise en œuvre d'Allowed AMIs, tenez compte de ces meilleures pratiques pour garantir une transition en douceur et minimiser les perturbations potentielles de votre AWS environnement.

1. **Activer le mode Audit**

   Commencez par activer Autorisé AMIs en mode audit. Cet état vous permet de voir lesquels AMIs seraient affectés par vos critères sans réellement restreindre l'accès, offrant ainsi une période d'évaluation sans risque.

1. **Définir les AMIs critères autorisés**

   Déterminez avec soin les fournisseurs d’AMI qui respectent les politiques de sécurité, les exigences en matière de conformité et les besoins opérationnels de votre organisation.
**Note**  
Lorsque vous utilisez des services AWS gérés, tels qu'Amazon ECS, Amazon EKS ou AWS Lambda Managed Instances, nous vous recommandons de spécifier l'`amazon`alias à autoriser AMIs créé par. AWS Ces services dépendent des instances publiées par Amazon AMIs pour lancer des instances.   
Soyez prudent lorsque vous définissez des `CreationDateCondition` restrictions pour n'importe lequel AMIs. La définition de conditions de date trop restrictives (par exemple, si elles AMIs doivent dater de moins de 5 jours) peut entraîner l'échec du lancement des instances si celles-ci AMIs, qu'elles proviennent de fournisseurs AWS ou d'autres fournisseurs, ne sont pas mises à jour dans les délais que vous avez spécifiés.  
Nous vous recommandons d’associer `ImageNames` à `ImageProviders` pour un meilleur contrôle et une meilleure spécificité. L’utilisation des `ImageNames` seuls peut compromettre l’identification unique d’une AMI.

1. **Vérifier l’impact sur les processus opérationnels prévus**

   Vous pouvez utiliser la console ou la CLI pour identifier les instances lancées avec AMIs qui ne répondent pas aux critères spécifiés. Ces informations peuvent vous aider à décider de mettre à jour vos configurations de lancement afin de les rendre conformes AMIs (par exemple, en spécifiant une autre AMI dans un modèle de lancement) ou d'ajuster vos critères pour les autoriser AMIs.

   Console : utilisez la AWS Config règle [ec2- instance-launched-with-allowed -ami](https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-launched-with-allowed-ami.html) pour vérifier si des instances en cours d'exécution ou arrêtées ont été lancées avec des instances AMIs répondant à vos critères autorisés AMIs. **La règle est **NON\$1COMPLIANT si** une AMI ne répond pas aux AMIs critères autorisés, et COMPLIANT si c'est le cas.** La règle ne fonctionne que lorsque le AMIs paramètre Autorisé est défini sur **Activé** ou **en mode audit**.

   CLI : exécutez la [describe-instance-image-metadata](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-image-metadata.html)commande et filtrez la réponse pour identifier les instances lancées avec AMIs qui ne répondent pas aux critères spécifiés.

   Pour des instructions sur l’utilisation de la CLI, consultez la section [Rechercher les instances lancées depuis AMIs qui ne sont pas autorisées](manage-settings-allowed-amis.md#identify-instances-with-allowed-AMIs).

1. **Activer Autorisé AMIs**

   Une fois que vous avez confirmé que les critères n'affecteront pas les processus métier attendus, activez Autorisé AMIs.

1. **Surveiller les lancements d’instances**

   Continuez à surveiller les lancements d' AMIs instances depuis vos applications et les services AWS gérés que vous utilisez, tels qu'Amazon EMR, Amazon ECR, Amazon EKS et. AWS Elastic Beanstalk Vérifiez l'absence de problèmes inattendus et apportez les modifications nécessaires aux AMIs critères autorisés.

1. **Nouveau pilote AMIs**

   Pour tester des tiers AMIs qui ne respectent pas vos AMIs paramètres autorisés actuels, nous vous AWS recommandons les approches suivantes :
   + Utilisez un compte distinct Compte AWS : créez un compte sans accès aux ressources critiques de votre entreprise. Assurez-vous que le AMIs paramètre Autorisé n'est pas activé dans ce compte, ou que les personnes que AMIs vous souhaitez tester sont explicitement autorisées, afin de pouvoir les tester. 
   + Testez dans une autre région Région AWS : utilisez une région dans laquelle les tiers AMIs sont disponibles, mais dans laquelle vous n'avez pas encore activé les AMIs paramètres autorisés. 

   Ces approches permettent de garantir la sécurité des ressources critiques de votre entreprise pendant que vous en testez de nouvelles. AMIs

## Autorisations IAM requises
<a name="iam-permissions-for-allowed-amis"></a>

Pour utiliser la AMIs fonctionnalité Autorisé, vous devez disposer des autorisations IAM suivantes :
+ `GetAllowedImagesSettings`
+ `EnableAllowedImagesSettings`
+ `DisableAllowedImagesSettings`
+ `ReplaceImageCriteriaInAllowedImagesSettings`

# Gérer les paramètres pour Autorisé AMIs
<a name="manage-settings-allowed-amis"></a>

Vous pouvez gérer les paramètres d'Autorisé AMIs. Ces paramètres sont définis par région et par compte.

**Topics**
+ [Activer Autorisé AMIs](#enable-allowed-amis-criteria)
+ [Définissez les AMIs critères autorisés](#update-allowed-amis-criteria)
+ [Désactiver Autorisé AMIs](#disable-allowed-amis-criteria)
+ [Obtenez les AMIs critères autorisés](#identify-allowed-amis-state-and-criteria)
+ [Trouvez AMIs ceux qui sont autorisés](#identify-amis-that-meet-allowed-amis-criteria)
+ [Rechercher les instances lancées depuis AMIs qui ne sont pas autorisées](#identify-instances-with-allowed-AMIs)

## Activer Autorisé AMIs
<a name="enable-allowed-amis-criteria"></a>

Vous pouvez activer Autorisé AMIs et spécifier AMIs les critères autorisés. Nous vous recommandons de commencer en mode audit, qui vous AMIs indiquera les personnes susceptibles d'être affectées par les critères sans pour autant restreindre l'accès.

------
#### [ Console ]

**Pour activer Autorisé AMIs**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Dashboard** (Tableau de bord).

1. Sur la fiche **Attributs du compte**, sous **Paramètres**, sélectionnez **Autorisé AMIs**.

1. Dans l' AMIsonglet **Autorisé**, choisissez **Gérer**.

1. Pour les ** AMIs paramètres autorisés**, choisissez **Mode audit** ou **Activé**. Nous vous recommandons de commencer en mode audit, de tester les critères, puis de revenir à cette étape pour activer Autorisé AMIs.

1. (Facultatif) Pour **Critères AMI**, saisissez les critères au format JSON.

1. Choisissez **Mettre à jour**.

------
#### [ AWS CLI ]

**Pour activer Autorisé AMIs**  
Utilisez la commande [enable-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-allowed-images-settings.html).

```
aws ec2 enable-allowed-images-settings --allowed-images-settings-state enabled
```

Pour activer le mode d’audit à la place, spécifiez `audit-mode` au lieu de `enabled`.

```
aws ec2 enable-allowed-images-settings --allowed-images-settings-state audit-mode
```

------
#### [ PowerShell ]

**Pour activer Autorisé AMIs**  
Utilisez l’applet de commande [Enable-EC2AllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2AllowedImagesSetting.html).

```
Enable-EC2AllowedImagesSetting -AllowedImagesSettingsState enabled
```

Pour activer le mode d’audit à la place, spécifiez `audit-mode` au lieu de `enabled`.

```
Enable-EC2AllowedImagesSetting -AllowedImagesSettingsState audit-mode
```

------

## Définissez les AMIs critères autorisés
<a name="update-allowed-amis-criteria"></a>

Après avoir activé AMIs Autorisé, vous pouvez définir ou remplacer les AMIs critères autorisés.

Pour obtenir la configuration correcte et les valeurs valides, consultez les sections [AMIs Configuration autorisée](ec2-allowed-amis.md#allowed-amis-json-configuration) et [AMIs Paramètres autorisés](ec2-allowed-amis.md#allowed-amis-criteria).

------
#### [ Console ]

**Pour définir les AMIs critères autorisés**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Dashboard** (Tableau de bord).

1. Sur la fiche **Attributs du compte**, sous **Paramètres**, sélectionnez **Autorisé AMIs**.

1. Dans l' AMIsonglet **Autorisé**, choisissez **Gérer**.

1. Pour **Critères AMI**, saisissez les critères au format JSON.

1. Choisissez **Mettre à jour**.

------
#### [ AWS CLI ]

**Pour définir les AMIs critères autorisés**  
Utilisez la allowed-images-settings commande [replace-image-criteria-in-](https://docs.aws.amazon.com/cli/latest/reference/ec2/replace-image-criteria-in-allowed-images-settings.html) et spécifiez le fichier JSON contenant les AMIs critères autorisés.

```
aws ec2 replace-image-criteria-in-allowed-images-settings --cli-input-json file://file_name.json
```

------
#### [ PowerShell ]

**Pour définir les AMIs critères autorisés**  
Utilisez l'[Set-EC2ImageCriteriaInAllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Set-EC2ImageCriteriaInAllowedImagesSetting.html)applet de commande et spécifiez le fichier JSON contenant les critères autorisés AMIs.

```
$imageCriteria = Get-Content -Path .\file_name.json | ConvertFrom-Json
Set-EC2ImageCriteriaInAllowedImagesSetting -ImageCriterion $imageCriteria
```

------

## Désactiver Autorisé AMIs
<a name="disable-allowed-amis-criteria"></a>

Vous pouvez désactiver Autorisé AMIs comme suit.

------
#### [ Console ]

**Pour désactiver Autorisé AMIs**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Dashboard** (Tableau de bord).

1. Sur la fiche **Attributs du compte**, sous **Paramètres**, sélectionnez **Autorisé AMIs**.

1. Dans l' AMIsonglet **Autorisé**, choisissez **Gérer**.

1. Pour les ** AMIs paramètres autorisés**, choisissez **Désactivé**.

1. Choisissez **Mettre à jour**.

------
#### [ AWS CLI ]

**Pour désactiver Autorisé AMIs**  
Utilisez la commande [disable-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-allowed-images-settings.html).

```
aws ec2 disable-allowed-images-settings
```

------
#### [ PowerShell ]

**Pour désactiver Autorisé AMIs**  
Utilisez l’applet de commande [Disable-EC2AllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2AllowedImagesSetting.html).

```
Disable-EC2AllowedImagesSetting
```

------

## Obtenez les AMIs critères autorisés
<a name="identify-allowed-amis-state-and-criteria"></a>

Vous pouvez obtenir l'état actuel du AMIs paramètre Autorisé et des AMIs critères autorisés.

------
#### [ Console ]

**Pour obtenir l' AMIs état et les critères autorisés**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **Dashboard** (Tableau de bord).

1. Sur la fiche **Attributs du compte**, sous **Paramètres**, sélectionnez **Autorisé AMIs**.

1. Dans l' AMIsonglet **Autorisé**, ** AMIs les paramètres autorisés** sont définis sur **Activé****, Désactivé** ou **Mode audit**.

1. Si l'état Autorisé AMIs est **activé** ou **en mode audit**, **les critères AMI** affichent les critères AMI au format JSON.

------
#### [ AWS CLI ]

**Pour obtenir l' AMIs état et les critères autorisés**  
Utilisez la commande [get-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-allowed-images-settings.html).

```
aws ec2 get-allowed-images-settings
```

Dans l’exemple de sortie suivant, l’état est `audit-mode` et les critères d’image sont définis dans le compte.

```
{
    "State": "audit-mode",
    "ImageCriteria": [
        {
            "MarketplaceProductCodes": [
                "abcdefg1234567890"
            ]
        },
        {
            "ImageProviders": [
                "123456789012",
                "123456789013"
            ],
            "CreationDateCondition": {
                "MaximumDaysSinceCreated": 300
            }
        },
        {
            "ImageProviders": [
                "123456789014"
            ],
            "ImageNames": [
                "golden-ami-*"
            ]
        },
        {
            "ImageProviders": [
                "amazon"
            ],
            "DeprecationTimeCondition": {
                "MaximumDaysSinceDeprecated": 0
            }
        }
    ],
    "ManagedBy": "account"
}
```

------
#### [ PowerShell ]

**Pour obtenir l' AMIs état et les critères autorisés**  
Utilisez l’applet de commande [Get-EC2AllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2AllowedImagesSetting.html).

```
Get-EC2AllowedImagesSetting | Select-Object `
    State, `
    ManagedBy, `
    @{Name='ImageProviders'; Expression={($_.ImageCriteria.ImageProviders)}}, `
    @{Name='MarketplaceProductCodes'; Expression={($_.ImageCriteria.MarketplaceProductCodes)}}, `
    @{Name='ImageNames'; Expression={($_.ImageCriteria.ImageNames)}}, `
    @{Name='MaximumDaysSinceCreated'; Expression={($_.ImageCriteria.CreationDateCondition.MaximumDaysSinceCreated)}}, `
    @{Name='MaximumDaysSinceDeprecated'; Expression={($_.ImageCriteria.DeprecationTimeCondition.MaximumDaysSinceDeprecated)}}
```

Dans l’exemple de sortie suivant, l’état est `audit-mode` et les critères d’image sont définis dans le compte.

```
State      : audit-mode
ManagedBy  : account
ImageProviders            : {123456789012, 123456789013, 123456789014, amazon}
MarketplaceProductCodes   : {abcdefg1234567890}
ImageNames                : {golden-ami-*}
MaximumDaysSinceCreated  : 300
MaximumDaysSinceDeprecated: 0
```

------

## Trouvez AMIs ceux qui sont autorisés
<a name="identify-amis-that-meet-allowed-amis-criteria"></a>

Vous pouvez trouver ceux AMIs qui sont autorisés ou non selon les AMIs critères autorisés actuels.

**Note**  
 AMIs Autorisé doit être en mode audit.

------
#### [ Console ]

**Pour vérifier si une AMI répond aux AMIs critères autorisés**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **AMIs**.

1. Sélectionnez l’AMI.

1. Dans l’onglet **Détails** (si vous avez sélectionné la case à cocher) ou dans la zone de résumé (si vous avez sélectionné l’identifiant de l’AMI), recherchez le champ **Image autorisée**.
   + **Oui** — L'AMI répond aux AMIs critères autorisés. Cette AMI sera accessible aux utilisateurs de votre compte une fois que vous aurez activé AutoriséAMIs.
   + **Non** — L'AMI ne répond pas aux AMIs critères autorisés.

1. Dans le panneau de navigation, sélectionnez **Catalogue AMI**.

   Une AMI marquée comme **Non autorisée** indique une AMI qui ne répond pas aux AMIs critères autorisés. Cette AMI ne sera ni visible ni disponible pour les utilisateurs de votre compte lorsque l'option AMIs Autoriser est activée.

------
#### [ AWS CLI ]

**Pour vérifier si une AMI répond aux AMIs critères autorisés**  
Utilisez la commande [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

```
aws ec2 describe-images \
    --image-id ami-0abcdef1234567890 \
    --query Images[].ImageAllowed \
    --output text
```

Voici un exemple de sortie.

```
True
```

**Pour trouver AMIs ceux qui répondent aux AMIs critères autorisés**  
Utilisez la commande [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html).

```
aws ec2 describe-images \
    --filters "Name=image-allowed,Values=true" \
    --max-items 10 \
    --query Images[].ImageId
```

Voici un exemple de sortie.

```
ami-000eaaa8be2fd162a
ami-000f82db25e50de8e
ami-000fc21eb34c7a9a6
ami-0010b876f1287d7be
ami-0010b929226fe8eba
ami-0010957836340aead
ami-00112c992a47ba871
ami-00111759e194abcc1
ami-001112565ffcafa5e
ami-0011e45aaee9fba88
```

------
#### [ PowerShell ]

**Pour vérifier si une AMI répond aux AMIs critères autorisés**  
Utilisez l’applet de commande [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

```
(Get-EC2Image -ImageId ami-0abcdef1234567890).ImageAllowed
```

Voici un exemple de sortie.

```
True
```

**Pour trouver AMIs ceux qui répondent aux AMIs critères autorisés**  
Utilisez l’applet de commande [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

```
Get-EC2Image `
    -Filter @{Name="image-allows";Values="true"} `
    -MaxResult 10 | `
    Select ImageId
```

Voici un exemple de sortie.

```
ami-000eaaa8be2fd162a
ami-000f82db25e50de8e
ami-000fc21eb34c7a9a6
ami-0010b876f1287d7be
ami-0010b929226fe8eba
ami-0010957836340aead
ami-00112c992a47ba871
ami-00111759e194abcc1
ami-001112565ffcafa5e
ami-0011e45aaee9fba88
```

------

## Rechercher les instances lancées depuis AMIs qui ne sont pas autorisées
<a name="identify-instances-with-allowed-AMIs"></a>

Vous pouvez identifier les instances lancées à l'aide d'une AMI qui ne répond pas aux AMIs critères autorisés.

------
#### [ Console ]

**Pour vérifier si une instance a été lancée à l’aide d’une AMI non autorisée**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, choisissez **Instances**.

1. Sélectionnez l’instance.

1. Dans l’onglet **Détails**, sous **Détails de l’instance**, recherchez **Image autorisée**.
   + **Oui** — L'AMI répond aux AMIs critères autorisés.
   + **Non** — L'AMI ne répond pas aux AMIs critères autorisés.

------
#### [ AWS CLI ]

**Pour rechercher les instances lancées à l'aide de AMIs celles qui ne sont pas autorisées**  
Utilisez la commande [describe-instance-image-metadata](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-image-metadata.html) avec le filtre `image-allowed`.

```
aws ec2 describe-instance-image-metadata \
    --filters "Name=image-allowed,Values=false" \
    --query "InstanceImageMetadata[*].[InstanceId,ImageMetadata.ImageId]" \
    --output table
```

Voici un exemple de sortie.

```
--------------------------------------------------
|          DescribeInstanceImageMetadata         |
+----------------------+-------------------------+
|  i-08fd74f3f1595fdbd |  ami-09245d5773578a1d6  |
|  i-0b1bf24fd4f297ab9 |  ami-07cccf2bd80ed467f  |
|  i-026a2eb590b4f7234 |  ami-0c0ec0a3a3a4c34c0  |
|  i-006a6a4e8870c828f |  ami-0a70b9d193ae8a799  |
|  i-0781e91cfeca3179d |  ami-00c257e12d6828491  |
|  i-02b631e2a6ae7c2d9 |  ami-0bfddf4206f1fa7b9  |
+----------------------+-------------------------+
```

------
#### [ PowerShell ]

**Pour rechercher les instances lancées à l'aide de AMIs celles qui ne sont pas autorisées**  
Utilisez l’applet de commande [Get-EC2InstanceImageMetadata](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceImageMetadata.html).

```
Get-EC2InstanceImageMetadata `
    -Filter @{Name="image-allowed";Values="false"} | `
    Select InstanceId, @{Name='ImageId'; Expression={($_.ImageMetadata.ImageId)}}
```

Voici un exemple de sortie.

```
InstanceId          ImageId
----------          -------
i-08fd74f3f1595fdbd ami-09245d5773578a1d6
i-0b1bf24fd4f297ab9 ami-07cccf2bd80ed467f
i-026a2eb590b4f7234 ami-0c0ec0a3a3a4c34c0
i-006a6a4e8870c828f ami-0a70b9d193ae8a799
i-0781e91cfeca3179d ami-00c257e12d6828491
i-02b631e2a6ae7c2d9 ami-0bfddf4206f1fa7b9
```

------
#### [ AWS Config ]

Vous pouvez ajouter la AWS Config règle **ec2- instance-launched-with-allowed -ami**, la configurer selon vos besoins, puis l'utiliser pour évaluer vos instances.

Pour plus d'informations, consultez les [sections Ajout de AWS Config règles](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_add-rules.html) et [ec2- instance-launched-with-allowed -ami](https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-launched-with-allowed-ami.html) dans le manuel du *AWS Config développeur*.

------

# Mettez votre AMI à la disposition du public pour qu’il puisse l’utiliser dans Amazon EC2
<a name="sharingamis-intro"></a>

Vous pouvez rendre votre AMI accessible au public en la partageant avec tout le monde Comptes AWS.

Si vous souhaitez empêcher le partage public de votre AMIs, vous pouvez activer le *blocage de l'accès public pour AMIs*. Cela bloque toute tentative de rendre publique une AMI, ce qui permet d’empêcher tout accès non autorisé à l’AMI et toute utilisation abusive potentielle des données de l’AMI. Notez que l'activation du blocage de l'accès public n'affecte pas AMIs ceux qui sont déjà accessibles au public ; ils restent accessibles au public. Pour de plus amples informations, veuillez consulter [Comprendre bloquer l'accès public pour AMIs](block-public-access-to-amis.md).

Afin d’autoriser uniquement des comptes spécifiques à utiliser votre AMI pour lancer des instances, consultez la rubrique [Partager une AMI avec des AWS comptes spécifiques](sharingamis-explicit.md).

**Topics**
+ [Considérations](#considerations-for-sharing-public-AMIs)
+ [Partager une AMI avec tous les AWS comptes (partager publiquement)](#share-an-ami-publicly)

## Considérations
<a name="considerations-for-sharing-public-AMIs"></a>

Tenez compte des éléments suivants avant de rendre une AMI publique.
+ **Propriété** — Pour rendre une AMI publique, vous Compte AWS devez être propriétaire de l'AMI.
+ **Région** — AMIs sont une ressource régionale. Lorsque vous partagez une AMI, elle est uniquement disponible dans la région à partir de laquelle vous l’avez partagée. Pour rendre une AMI disponible dans une autre région, copiez-la dans la région souhaitée puis partagez-la. Pour de plus amples informations, veuillez consulter [Copier une AMI Amazon EC2](CopyingAMIs.md).
+ **Bloquer l'accès public** — Pour partager publiquement une AMI, le [blocage de l'accès public AMIs](block-public-access-to-amis.md) doit être désactivé dans chaque région dans laquelle l'AMI sera partagée publiquement. Après avoir partagé publiquement l'AMI, vous pouvez réactiver le blocage de l'accès public AMIs pour empêcher tout partage public ultérieur de votre AMIs.
+ **Certains ne AMIs peuvent pas être rendus publics** — Si votre AMI inclut l'un des composants suivants, vous ne pouvez pas le rendre public (mais vous pouvez [partager l'AMI avec des personnes spécifiques Comptes AWS](sharingamis-explicit.md)) :
  + Volumes chiffrés
  + Instantanés de volumes chiffrés
  + Codes produits
+ **Évitez d’exposer des données sensibles** : pour éviter d’exposer des données sensibles lorsque vous partagez une AMI, consultez les normes de sécurités spécifiées dans [Recommandations pour créer un système Linux partagé AMIs](building-shared-amis.md) et suivez les actions recommandées.
+ **Utilisation** : lorsque vous partagez une AMI, les utilisateurs peuvent uniquement lancer des instances à partir de l’AMI. Ils ne peuvent pas la supprimer, la partager ou la modifier. Toutefois, après avoir lancé une instance à l’aide de votre AMI, ils peuvent créer une AMI à partir de l’instance lancée.
+ **Obsolation automatique** : par défaut, la date d'obsolescence de tous les publics AMIs est fixée à deux ans à compter de la date de création de l'AMI. Vous pouvez définir la date d’obsolescence à moins de deux ans. Pour annuler la date de dépréciation ou pour la déplacer à une date ultérieure, vous devez rendre l'AMI privée en la [partageant](sharingamis-explicit.md) uniquement avec des personnes spécifiques. Comptes AWS
+ **Supprimer les éléments obsolètes AMIs** : une fois qu'une AMI publique a atteint sa date d'obsolescence, si aucune nouvelle instance n'a été lancée depuis l'AMI pendant six mois ou plus, la propriété de partage publique est AWS finalement supprimée afin que les versions obsolètes AMIs n'apparaissent pas dans les listes d'AMI publiques.
+ **Facturation** : vous n'êtes pas facturé lorsque votre AMI est utilisée par d'autres personnes Comptes AWS pour lancer des instances. Les comptes qui lancent des instances à l’aide de l’AMI sont facturés pour les instances qu’ils lancent.

## Partager une AMI avec tous les AWS comptes (partager publiquement)
<a name="share-an-ami-publicly"></a>

Une fois qu'une AMI est rendue publique, elle est disponible dans la **communauté** de la console, AMIs à laquelle vous pouvez accéder depuis le **catalogue d'AMI** dans le navigateur de gauche de la console EC2 ou lorsque vous lancez une instance à l'aide de la console. Notez qu'une AMI peut mettre un certain temps à apparaître dans **la communauté AMIs** après l'avoir rendue publique. 

------
#### [ Console ]

**Pour rendre une AMI publique**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **AMIs**.

1. Sélectionnez votre AMI dans la liste, puis choisissez **Actions** et **Edit AMI permissions** (Modifier des autorisations d’AMI).

1. Sous **Disponibilité de l’AMI**, choisissez **Publique**.

1. Sélectionnez **Enregistrer les modifications**.

------
#### [ AWS CLI ]

Chaque AMI possède une `launchPermission` propriété qui contrôle qui Comptes AWS, outre celle du propriétaire, est autorisée à utiliser cette AMI pour lancer des instances. En modifiant la `launchPermission` propriété d'une AMI, vous pouvez la rendre publique (ce qui accorde des autorisations de lancement à tous Comptes AWS) ou la partager uniquement avec les personnes Comptes AWS que vous spécifiez.

Vous pouvez ajouter ou supprimer un compte IDs dans la liste des comptes autorisés à lancer une AMI. Pour rendre l’AMI publique, spécifiez le groupe `all`. Vous pouvez spécifier à la fois des autorisations de lancement publiques et explicites.

**Pour rendre une AMI publique**

1. Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html) comme suit pour ajouter le groupe `all` à la liste `launchPermission` pour l’AMI spécifiée.

   ```
   aws ec2 modify-image-attribute \
       --image-id ami-0abcdef1234567890 \
       --launch-permission "Add=[{Group=all}]"
   ```

1. Pour vérifier les autorisations de lancement de l’AMI, utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html).

   ```
   aws ec2 describe-image-attribute \
       --image-id ami-0abcdef1234567890 \
       --attribute launchPermission
   ```

1. (Facultatif) Pour rendre l’AMI de nouveau privée, supprimez le groupe `all` de ses autorisations de lancement. Veuillez noter que le propriétaire de l’AMI dispose toujours d’autorisations de lancement et n’est, par conséquent, pas affecté par cette commande.

   ```
   aws ec2 modify-image-attribute \
       --image-id ami-0abcdef1234567890 \
       --launch-permission "Remove=[{Group=all}]"
   ```

------
#### [ PowerShell ]

Chaque AMI possède une `launchPermission` propriété qui contrôle qui Comptes AWS, outre celle du propriétaire, est autorisée à utiliser cette AMI pour lancer des instances. En modifiant la `launchPermission` propriété d'une AMI, vous pouvez la rendre publique (ce qui accorde des autorisations de lancement à tous Comptes AWS) ou la partager uniquement avec les personnes Comptes AWS que vous spécifiez.

Vous pouvez ajouter ou supprimer un compte IDs dans la liste des comptes autorisés à lancer une AMI. Pour rendre l’AMI publique, spécifiez le groupe `all`. Vous pouvez spécifier à la fois des autorisations de lancement publiques et explicites.

**Pour rendre une AMI publique**

1. Utilisez la commande [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html) comme suit pour ajouter le groupe `all` à la liste `launchPermission` pour l’AMI spécifiée.

   ```
   Edit-EC2ImageAttribute `
       -ImageId ami-0abcdef1234567890 `
       -Attribute launchPermission `
       -OperationType add `
       -UserGroup all
   ```

1. Pour vérifier les autorisations de lancement d’une AMI, utilisez la commande [https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAttribute.html) suivante.

   ```
   Get-EC2ImageAttribute `
       -ImageId ami-0abcdef1234567890 `
       -Attribute launchPermission
   ```

1. (Facultatif) Pour rendre l’AMI de nouveau privée, supprimez le groupe `all` de ses autorisations de lancement. Veuillez noter que le propriétaire de l’AMI dispose toujours d’autorisations de lancement et n’est, par conséquent, pas affecté par cette commande.

   ```
   Edit-EC2ImageAttribute `
       -ImageId ami-0abcdef1234567890 `
       -Attribute launchPermission `
       -OperationType remove `
       -UserGroup all
   ```

------

# Comprendre bloquer l'accès public pour AMIs
<a name="block-public-access-to-amis"></a>

Pour empêcher le partage public de votre compte AMIs, vous pouvez activer le *blocage de l'accès public AMIs* au niveau du compte.

Lorsque le blocage de l’accès public est activé, toute tentative de rendre publique une AMI est automatiquement bloquée. Toutefois, si vous en avez déjà un AMIs, il reste accessible au public.

Pour partager publiquement AMIs, vous devez désactiver le blocage de l'accès public. Lorsque vous avez terminé de partager, il est recommandé de réactiver le blocage de l'accès public afin d'empêcher tout partage public involontaire de votre compte. AMIs

**Note**  
Ce paramètre est configuré au niveau du compte, soit directement dans le compte, soit à l’aide d’une politique déclarative. Il doit être configuré dans chacun des Région AWS endroits où vous souhaitez empêcher le partage public de votre AMIs. L’utilisation d’une politique déclarative vous permet d’appliquer le paramètre à plusieurs régions simultanément, ainsi qu’à plusieurs comptes simultanément. Lorsqu’une politique déclarative est utilisée, vous ne pouvez pas modifier le paramètre directement dans un compte. Cette rubrique décrit comment configurer le paramètre directement dans un compte. Pour plus d’informations sur l’utilisation des politiques déclaratives, consultez la section [Politiques déclaratives](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) dans le *Guide de l’utilisateur AWS Organizations *.

Vous pouvez limiter les autorisations IAM à un utilisateur administrateur afin qu'il soit le seul à pouvoir activer ou désactiver le blocage de l'accès public pour AMIs.

**Topics**
+ [Paramètres par défaut](#block-public-access-to-amis-default-settings)
+ [Gérez le paramètre de blocage de l'accès public pour AMIs](manage-block-public-access-for-amis.md)

## Paramètres par défaut
<a name="block-public-access-to-amis-default-settings"></a>

Le AMIs paramètre **Bloquer l'accès public** est activé ou désactivé par défaut selon que votre compte est nouveau ou existant, et si vous êtes public AMIs. Le tableau suivant répertorie les paramètres par défaut :


| AWS compte | Bloquer l'accès public pour le paramètre AMIs par défaut | 
| --- | --- | 
| Nouveaux comptes | Activé | 
|  Comptes existants non publics AMIs ¹  | Activé | 
|  Comptes existants avec un ou plusieurs comptes publics AMIs  | Désactivé | 

¹ Si un ou plusieurs comptes étaient publics AMIs le 15 juillet 2023 ou après cette date, le **blocage de l'accès public AMIs** est désactivé par défaut pour votre compte, même si vous les avez ensuite tous rendus AMIs privés.

# Gérez le paramètre de blocage de l'accès public pour AMIs
<a name="manage-block-public-access-for-amis"></a>

Vous pouvez gérer le paramètre de blocage de l’accès public pour vos AMI afin de contrôler si elles peuvent être partagées publiquement. Vous pouvez activer, désactiver ou afficher l’état actuel du blocage de l’accès public pour vos AMI à l’aide de la console Amazon EC2 ou de AWS CLI.

## Afficher l'état du blocage de l'accès public pour AMIs
<a name="get-block-public-access-state-for-amis"></a>

Pour savoir si le partage public de votre compte AMIs est bloqué, vous pouvez consulter l'état du blocage de l'accès public pour AMIs. Vous devez consulter l'état Région AWS dans lequel vous souhaitez voir si le partage public de votre compte AMIs est bloqué.

**Autorisations requises**  
Pour obtenir le paramètre actuel de blocage de l'accès public pour AMIs, vous devez disposer de l'autorisation `GetImageBlockPublicAccessState` IAM.

------
#### [ Console ]

**Pour afficher l'état du blocage de l'accès public AMIs dans la région spécifiée**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans la barre de navigation (en haut de l'écran), sélectionnez la région pour laquelle vous souhaitez afficher l'état du blocage de l'accès public AMIs.

1. Dans le panneau de navigation, sélectionnez **Dashboard** (Tableau de bord).

1. Sur la fiche **Attributs du compte**, sous **Paramètres**, sélectionnez **Protection et sécurité des données**.

1. Sous **Bloquer l'accès public pour AMIs**, cochez le champ **Accès public**. La valeur est **Nouveau partage public bloqué** ou **Nouveau partage public autorisé**.

------
#### [ AWS CLI ]

**Pour obtenir l'état de blocage de l'accès public pour AMIs**  
Utilisez la commande [get-image-block-public-access-state](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-image-block-public-access-state.html). La valeur est `block-new-sharing` ou `unblocked`.

**Exemple : pour une région spécifique**

```
aws ec2 get-image-block-public-access-state --region us-east-1
```

Le champ `ManagedBy` indique l’entité qui a configuré le paramètre. Dans cet exemple, `account` indique que le paramètre a été configuré directement dans le compte. Une valeur de `declarative-policy` signifierait que le paramètre a été configuré par une politique déclarative. Pour plus d’informations, consultez la rubrique [Politiques déclaratives](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) dans le *Guide de l’utilisateur AWS Organizations *.

```
{
    "ImageBlockPublicAccessState": "block-new-sharing",
    "ManagedBy": "account"
}
```

**Exemple : pour toutes les régions de votre compte**

```
echo -e "Region   \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 get-image-block-public-access-state \
            --region $region \
            --output text)
        echo -e "$region \t $output" 
    );
done
```

Voici un exemple de sortie.

```
Region           Public Access State
--------------   ----------------------
ap-south-1       block-new-sharing
eu-north-1       unblocked
eu-west-3        block-new-sharing
...
```

------
#### [ PowerShell ]

**Pour obtenir l'état de blocage de l'accès public pour AMIs**  
Utilisez l’applet de commande [Get-EC2ImageBlockPublicAccessState](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageBlockPublicAccessState.html). La valeur est `block-new-sharing` ou `unblocked`.

**Exemple : pour une région spécifique**

```
Get-EC2ImageBlockPublicAccessState -Region us-east-1
```

Voici un exemple de sortie.

```
block-new-sharing
```

**Exemple : pour toutes les régions de votre compte**

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
        [PSCustomObject]@{
            Region   = $_
            PublicAccessState = (Get-EC2ImageBlockPublicAccessState -Region $_)
        }
} | `
Format-Table -AutoSize
```

Voici un exemple de sortie.

```
Region         PublicAccessState
------         -----------------
ap-south-1     block-new-sharing
eu-north-1     block-new-sharing
eu-west-3      block-new-sharing
...
```

------

## Activer le blocage de l'accès public pour AMIs
<a name="enable-block-public-access-for-amis"></a>

Pour empêcher le partage public de votre compte AMIs, activez le blocage de l'accès public AMIs au niveau du compte. Vous devez activer le blocage de l'accès public pour AMIs chaque élément Région AWS dans lequel vous souhaitez empêcher le partage public de votre AMIs. Si vous en avez déjà un AMIs, il restera accessible au public.

**Autorisations requises**  
Pour activer le paramètre de blocage de l'accès public pour AMIs, vous devez disposer de l'autorisation `EnableImageBlockPublicAccess` IAM.

**Considérations**
+ La configuration de ce paramètre peut prendre jusqu’à 10 minutes. Pendant ce temps, si vous demandez l’état de l’accès public, la réponse est `unblocked`. Une fois la configuration terminée, la réponse est `block-new-sharing`.

------
#### [ Console ]

**Pour activer le blocage de l'accès public AMIs dans la région spécifiée**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans la barre de navigation (en haut de l'écran), sélectionnez la région pour laquelle vous souhaitez activer le blocage de l'accès public AMIs.

1. Dans le panneau de navigation, sélectionnez **Dashboard** (Tableau de bord).

1. Sur la fiche **Attributs du compte**, sous **Paramètres**, sélectionnez **Protection et sécurité des données**.

1. Sous **Bloquer l'accès public pour AMIs**, choisissez **Gérer**.

1. Cochez la case **Bloquer les nouveaux partages publics**, puis sélectionnez **Mettre à jour**.

------
#### [ AWS CLI ]

**Pour activer le blocage de l'accès public pour AMIs**  
Utilisez la commande [enable-image-block-public-access](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-image-block-public-access.html).

**Exemple : pour une région spécifique**

```
aws ec2 enable-image-block-public-access \
--region us-east-1 \
--image-block-public-access-state block-new-sharing
```

Voici un exemple de sortie.

```
{ 
    "ImageBlockPublicAccessState": "block-new-sharing"
}
```

**Exemple : pour toutes les régions de votre compte**

```
echo -e "Region   \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 enable-image-block-public-access \
            --region $region \
            --image-block-public-access-state block-new-sharing \
            --output text)
        echo -e "$region \t $output" 
    );
done
```

Voici un exemple de sortie.

```
Region           Public Access State
--------------   ----------------------
ap-south-1       block-new-sharing
eu-north-1       block-new-sharing
eu-west-3        block-new-sharing
...
```

------
#### [ PowerShell ]

**Pour activer le blocage de l'accès public pour AMIs**  
Utilisez la commande [Enable-EC2ImageBlockPublicAccess](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2ImageBlockPublicAccess.html).

**Exemple : pour une région spécifique**

```
Enable-EC2ImageBlockPublicAccess `
    -Region us-east-1 `
    -ImageBlockPublicAccessState block-new-sharing
```

Voici un exemple de sortie.

```
Value
-----
block-new-sharing
```

**Exemple : pour toutes les régions de votre compte**

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region            = $_
        PublicAccessState = (
        Enable-EC2ImageBlockPublicAccess `
         -Region $_ `
         -ImageBlockPublicAccessState block-new-sharing)
    }
} | `
Format-Table -AutoSize
```

Voici un exemple de sortie.

```
Region         PublicAccessState
------         -----------------
ap-south-1     block-new-sharing
eu-north-1     block-new-sharing
eu-west-3      block-new-sharing
...
```

------

## Désactiver le blocage de l'accès public pour AMIs
<a name="disable-block-public-access-for-amis"></a>

Pour permettre aux utilisateurs de votre compte de le partager publiquement AMIs, désactivez le blocage de l'accès public au niveau du compte. Vous devez désactiver le blocage de l'accès public pour AMIs chaque élément Région AWS dans lequel vous souhaitez autoriser le partage public de votreAMIs.

**Autorisations requises**  
Pour désactiver le paramètre de blocage de l'accès public pour AMIs, vous devez disposer de l'autorisation `DisableImageBlockPublicAccess` IAM.

**Considérations**
+ La configuration de ce paramètre peut prendre jusqu’à 10 minutes. Pendant ce temps, si vous demandez l’état de l’accès public, la réponse est `block-new-sharing`. Une fois la configuration terminée, la réponse est `unblocked`.

------
#### [ Console ]

**Pour désactiver le blocage de l'accès public AMIs dans la région spécifiée**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans la barre de navigation (en haut de l'écran), sélectionnez la région pour laquelle vous souhaitez désactiver le blocage de l'accès public AMIs.

1. Dans le panneau de navigation, sélectionnez **Dashboard** (Tableau de bord).

1. Sur la fiche **Attributs du compte**, sous **Paramètres**, sélectionnez **Protection et sécurité des données**.

1. Sous **Bloquer l'accès public pour AMIs**, choisissez **Gérer**.

1. Décochez la case **Bloquer les nouveaux partages publics**, puis sélectionnez **Mettre à jour**.

1. Saisissez **confirm** lorsque vous êtes invité à confirmer, puis choisissez **Autoriser le partage public**.

------
#### [ AWS CLI ]

**Pour désactiver le blocage de l'accès public pour AMIs**  
Utilisez la commande [disable-image-block-public-access](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-image-block-public-access.html).

**Exemple : pour une région spécifique**

```
aws ec2 disable-image-block-public-access --region us-east-1
```

Voici un exemple de sortie.

```
{
   "ImageBlockPublicAccessState": "unblocked"
}
```

**Exemple : pour toutes les régions de votre compte**

```
echo -e "Region   \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 disable-image-block-public-access \
            --region $region \
            --output text)
        echo -e "$region \t $output" 
    );
done
```

Voici un exemple de sortie.

```
Region           Public Access State
--------------   ----------------------
ap-south-1       unblocked
eu-north-1       unblocked
eu-west-3        unblocked
...
```

------
#### [ PowerShell ]

**Pour désactiver le blocage de l'accès public pour AMIs**  
Utilisez l’applet de commande [Disable-EC2ImageBlockPublicAccess](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2ImageBlockPublicAccess.html).

**Exemple : pour une région spécifique**

```
Disable-EC2ImageBlockPublicAccess -Region us-east-1
```

Voici un exemple de sortie.

```
Value
-----
unblocked
```

**Exemple : pour toutes les régions de votre compte**

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region            = $_
        PublicAccessState = (Disable-EC2ImageBlockPublicAccess -Region $_)
    }
} | `
Format-Table -AutoSize
```

Voici un exemple de sortie.

```
Region         PublicAccessState
------         -----------------
ap-south-1     unblocked
eu-north-1     unblocked
eu-west-3      unblocked
...
```

------

# Partager une AMI avec des organisations et des unités organisationnelles
<a name="share-amis-with-organizations-and-OUs"></a>

 [AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services_list.html)est un service de gestion de comptes qui vous permet de consolider plusieurs comptes au Comptes AWS sein d'une organisation que vous créez et gérez de manière centralisée. Vous pouvez partager une AMI avec une organisation ou une unité organisationnelle (UO) que vous avez créée, en plus de [la partager avec des comptes spécifiques](sharingamis-explicit.md).

L’organisation est une entité que vous créez pour consolider et gérer vos Comptes AWS de manière centralisée. Vous pouvez organiser les comptes dans une structure arborescente hiérarchique, avec une [racine](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#root) au sommet et des [unités organisationnelles](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html#organizationalunit) imbriquées sous la racine de l’organisation. Chaque compte peut être ajouté directement à la racine ou placé dans l'un des comptes de la hiérarchie. OUs Pour en savoir plus, consultez la section [Terminologie et concepts relatifs àAWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_getting-started_concepts.html) du *Guide de l’utilisateur AWS Organizations *.

Lorsque vous partagez une AMI avec une organisation ou une UO, tous les comptes enfants ont accès à l’AMI. Par exemple, dans le diagramme suivant, l’AMI est partagée avec une unité d’organisation de niveau supérieur (indiquée par la flèche au niveau du numéro **1**). Tous les comptes OUs et qui sont imbriqués sous cette unité d'organisation de premier niveau (indiqués par la ligne pointillée au numéro **2**) ont également accès à l'AMI. Les comptes de l’organisation et de l’UO en dehors de la ligne pointillée (indiqués par le numéro **3**) n’ont pas accès à l’AMI car ils ne sont pas enfants de l’UO avec laquelle l’AMI est partagée.

![\[L'AMI est partagée avec une unité d'organisation, et tous les enfants OUs et comptes ont accès à l'AMI.\]](http://docs.aws.amazon.com/fr_fr/AWSEC2/latest/UserGuide/images/ami-share-with-orgs-and-ous.png)


**Topics**
+ [Considérations](#considerations-org-ou)
+ [Obtenir l’ARN d’une organisation ou d’une unité organisationnelle](get-org-ou-ARN.md)
+ [Autoriser les organisations OUs à utiliser une clé KMS](allow-org-ou-to-use-key.md)
+ [Gérer le partage de l’AMI avec une organisation ou une UO](share-amis-org-ou-manage.md)

## Considérations
<a name="considerations-org-ou"></a>

Tenez compte des points suivants lors du partage AMIs avec des organisations ou unités organisationnelles spécifiques.
+ **Propriété** : pour partager une AMI, votre Compte AWS doit être propriétaire de l’AMI.
+ **Limites de partage** : le propriétaire de l'AMI peut partager une AMI avec n'importe quelle organisation ou unité d'organisation, y compris OUs les organisations dont il n'est pas membre.

  Pour connaître le nombre maximal d’entités avec lesquelles une AMI peut être partagée au sein d’une région, consultez les [quotas de service Amazon EC2](https://docs.aws.amazon.com//general/latest/gr/ec2-service.html#limits_ec2).
+ **Balises** : vous ne pouvez pas partager de balises définies par l’utilisateur (balises que vous associez à une AMI). Lorsque vous partagez une AMI, les balises définies par l'utilisateur ne sont accessibles Compte AWS à aucun membre d'une organisation ou d'une unité d'organisation avec laquelle l'AMI est partagée.
+ **Format ARN** : lorsque vous spécifiez une organisation ou une UO dans une commande, veillez à utiliser le format ARN approprié. Vous obtiendrez une erreur si vous spécifiez uniquement l’ID, par exemple si vous spécifiez uniquement `o-123example` ou `ou-1234-5example`.

  Formats ARN corrects :
  + ARN de l’organisation : `arn:aws:organizations::111122223333:organization/organization-id`
  + ARN de l’UO : `arn:aws:organizations::111122223333:ou/organization-id/ou-id`

  Où :
  + *`111122223333`* est un exemple d’ID de compte à 12 chiffres pour le compte de gestion. Si vous ne connaissez pas le numéro de compte de gestion, vous pouvez décrire l’organisation ou l’unité d’organisation pour obtenir l’ARN, qui inclut le numéro de compte de gestion. Pour plus d’informations, consultez [Obtenir l’ARN d’une organisation ou d’une unité organisationnelle](get-org-ou-ARN.md).
  + *`organization-id`* est l’ID de l’organisation, par exemple, `o-123example`.
  + *`ou-id`* est l’ID de l’unité d’organisation, par exemple, `ou-1234-5example`.

  Pour plus d'informations sur le format de ARNs, consultez [Amazon Resource Names (ARNs)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) dans le *guide de l'utilisateur IAM*.
+ **Chiffrement et clés** : vous pouvez partager des AMIs données soutenues par des instantanés chiffrés et non chiffrés.
  + Les instantanés chiffrés doivent être chiffrés à l’aide d’une clé gérée par le client. Vous ne pouvez pas partager ceux AMIs qui sont sauvegardés par des instantanés chiffrés à l'aide de la clé AWS gérée par défaut.
  + Si vous partagez une AMI basée sur des instantanés chiffrés, vous devez autoriser les organisations ou OUs utiliser les clés gérées par le client qui ont été utilisées pour chiffrer les instantanés. Pour de plus amples informations, veuillez consulter [Autoriser les organisations OUs à utiliser une clé KMS](allow-org-ou-to-use-key.md).
+ **Région** — AMIs sont une ressource régionale. Lorsque vous partagez une AMI, elle est uniquement disponible dans la région à partir de laquelle vous l’avez partagée. Pour rendre une AMI disponible dans une autre région, copiez-la dans la région souhaitée puis partagez-la. Pour plus d’informations, consultez [Copier une AMI Amazon EC2](CopyingAMIs.md).
+ **Utilisation** : lorsque vous partagez une AMI, les utilisateurs peuvent uniquement lancer des instances à partir de l’AMI. Ils ne peuvent pas la supprimer, la partager ou la modifier. Toutefois, après avoir lancé une instance à l’aide de votre AMI, ils peuvent créer une AMI à partir de l’instance lancée.
+ **Facturation** : vous n'êtes pas facturé lorsque votre AMI est utilisée par d'autres personnes Comptes AWS pour lancer des instances. Les comptes qui lancent des instances à l’aide de l’AMI sont facturés pour les instances qu’ils lancent.

# Obtenir l’ARN d’une organisation ou d’une unité organisationnelle
<a name="get-org-ou-ARN"></a>

L'organisation et l'unité organisationnelle ARNs contiennent le numéro de compte de gestion à 12 chiffres. Si vous ne connaissez pas le numéro de compte de gestion, vous pouvez décrire l’organisation ou l’unité d’organisation pour obtenir l’ARN de chacune. Dans les exemples suivants, `123456789012` est l’ID du compte de gestion.

**Autorisations requises**  
Avant de pouvoir obtenir le ARNs, vous devez être autorisé à décrire les organisations et les unités organisationnelles. La politique suivante fournit l’autorisation nécessaire.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "organizations:Describe*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

------
#### [ AWS CLI ]

**Pour obtenir l’ARN d’une organisation**  
Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/organizations/describe-organization.html](https://docs.aws.amazon.com/cli/latest/reference/organizations/describe-organization.html). Ajoutez l’option `--query` pour ne renvoyer que l’ARN de l’organisation.

```
aws organizations describe-organization --query 'Organization.Arn'
```

Voici un exemple de sortie.

```
"arn:aws:organizations::123456789012:organization/o-1234567abc"
```

**Pour obtenir l’ARN d’une unité d’organisation**  
Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/organizations/describe-organizational-unit.html](https://docs.aws.amazon.com/cli/latest/reference/organizations/describe-organizational-unit.html). Utilisez le paramètre `--query` pour ne renvoyer que l’ARN de l’unité organisationnelle.

```
aws organizations describe-organizational-unit \
    --organizational-unit-id ou-a123-b4567890 \
    --query 'OrganizationalUnit.Arn'
```

Voici un exemple de sortie.

```
"arn:aws:organizations::123456789012:ou/o-1234567abc/ou-a123-b4567890"
```

------
#### [ PowerShell ]

**Pour obtenir l’ARN d’une organisation**  
Utilisez l'ORGOrganizationapplet de commande [Get-](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ORGOrganization.html).

```
(Get-ORGOrganization).Arn
```

Voici un exemple de sortie.

```
arn:aws:organizations::123456789012:organization/o-1234567abc
```

**Pour obtenir l’ARN d’une unité d’organisation**  
Utilisez l'applet de commande [Get- ORGOrganizational Unit](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ORGOrganizationalUnit.html).

```
(Get-ORGOrganizationalUnit -OrganizationalUnitId "ou-a123-b4567890").Arn
```

Voici un exemple de sortie.

```
arn:aws:organizations::123456789012:ou/o-1234567abc/ou-a123-b4567890
```

------

# Autoriser les organisations OUs à utiliser une clé KMS
<a name="allow-org-ou-to-use-key"></a>

Si vous partagez une AMI basée sur des instantanés chiffrés, vous devez également autoriser les organisations ou unités organisationnelles (OUs) à utiliser les clés KMS utilisées pour chiffrer les instantanés.

**Note**  
Les instantanés chiffrés doivent être chiffrés à l’aide d’une clé *gérée par le client*. Vous ne pouvez pas partager ceux AMIs qui sont sauvegardés par des instantanés chiffrés à l'aide de la clé AWS gérée par défaut.

Pour contrôler l’accès à la clé KMS, dans la [stratégie de clé](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html), vous pouvez utiliser les clés de condition [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid) et [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths) pour n’autoriser que des principaux spécifiques à effectuer les actions spécifiées. Un principal peut être un utilisateur, un rôle IAM, un utilisateur fédéré ou un utilisateur Compte AWS root.

Les clés de condition sont utilisées comme suit :
+ `aws:PrincipalOrgID` : Autorise tout principal appartenant à l’organisation représentée par l’ID spécifié.
+ `aws:PrincipalOrgPaths`— Autorise tout principal appartenant aux chemins OUs représentés par les chemins spécifiés.

Pour autoriser une organisation (y compris OUs les comptes qui lui appartiennent) à utiliser une clé KMS, ajoutez la déclaration suivante à la politique de clé.

```
{
    "Sid": "Allow access for organization root",
    "Effect": "Allow",
    "Principal": "*",
    "Action": [
        "kms:Describe*",
        "kms:List*",
        "kms:Get*",
        "kms:Encrypt",
        "kms:Decrypt",
        "kms:ReEncrypt*",
        "kms:GenerateDataKey*",
        "kms:CreateGrant"
    ],
    "Resource": "*",
    "Condition": {
        "StringEquals": {
            "aws:PrincipalOrgID": "o-123example"
        }
    }
}
```

Pour donner à une autorisation spécifique OUs (et aux comptes qui y appartiennent) l'autorisation d'utiliser une clé KMS, vous pouvez utiliser une politique similaire à l'exemple suivant.

```
{
        "Sid": "Allow access for specific OUs and their descendants",
        "Effect": "Allow",
        "Principal": "*",
        "Action": [
            "kms:Describe*",
            "kms:List*",
            "kms:Get*",
            "kms:Encrypt",
            "kms:Decrypt",
            "kms:ReEncrypt*",
            "kms:GenerateDataKey*",
            "kms:CreateGrant"
        ],
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "aws:PrincipalOrgID": "o-123example"
            },
            "ForAnyValue:StringLike": {
                "aws:PrincipalOrgPaths": [
                    "o-123example/r-ab12/ou-ab12-33333333/*",
                    "o-123example/r-ab12/ou-ab12-22222222/*"
                ]
            }
        }
}
```

Pour plus d’exemples de déclarations de condition, consultez [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgid) et [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-principalorgpaths) dans le *Guide de l’utilisateur IAM*. 

Pour plus d’informations sur l’accès intercomptes, consultez la section [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 développeur AWS Key Management Service * (langue française non garantie).

# Gérer le partage de l’AMI avec une organisation ou une UO
<a name="share-amis-org-ou-manage"></a>

Vous pouvez gérer le partage de l’AMI avec les organisations et les unités d’organisation (UO) afin de contrôler si elles peuvent lancer des instances Amazon EC2.

## Afficher les organisations OUs avec lesquelles une AMI est partagée
<a name="decribe-ami-launch-permissions"></a>

Vous pouvez trouver les organisations OUs avec lesquelles vous avez partagé votre AMI.

------
#### [ Console ]

**Pour vérifier avec quelles organisations et OUs vous avez partagé votre AMI**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **AMIs**.

1. Sélectionnez votre AMI dans la liste, cliquez sur l'onglet **Autorisations** et faites défiler l'écran jusqu'à **Organisations OUs partagées/**.

   Pour découvrir AMIs ceux qui sont partagés avec vous, consultez[Rechercher des AMI partagées qui seront utilisées pour les instances Amazon EC2](usingsharedamis-finding.md).

------
#### [ AWS CLI ]

**Pour vérifier avec quelles organisations et OUs vous avez partagé votre AMI**  
Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html) avec l’attribut `launchPermission`.

```
aws ec2 describe-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --attribute launchPermission
```

Voici un exemple de réponse.

```
{
    "ImageId": "ami-0abcdef1234567890",
    "LaunchPermissions": [
        {
            "OrganizationalUnitArn": "arn:aws:organizations::111122223333:ou/o-123example/ou-1234-5example"
        }
    ]
}
```

------
#### [ PowerShell ]

**Pour vérifier avec quelles organisations et OUs vous avez partagé votre AMI**  
Utilisez l’applet de commande [Get-EC2ImageAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAttribute.html).

```
Get-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission
```

------

## Partager une IAM avec une organisation ou une UO
<a name="share-amis-org-ou"></a>

Vous pouvez partager une AMI avec une organisation ou une UO.

**Note**  
Vous n’avez pas besoin de partager les instantanés (snapshots) Amazon EBS qu’une AMI référence afin de partager l’AMI. Seule l’AMI elle-même doit être partagée, et le système fournit automatiquement à l’instance l’accès aux instantanés EBS référencés pour le lancement. Toutefois, vous n’avez pas besoin de partager les clés KMS utilisées pour chiffrer les instantanés référencés par l’AMI. Pour de plus amples informations, veuillez consulter [Autoriser les organisations OUs à utiliser une clé KMS](allow-org-ou-to-use-key.md).

------
#### [ Console ]

**Pour partager une AMI avec une organisation ou une unité d’organisation**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **AMIs**.

1. Sélectionnez votre AMI dans la liste, puis choisissez **Actions (Actions)**, **Edit AMI permissions (Modifier des autorisations d’AMI)**.

1. Sous **AMI availability** (Disponibilité de l’AMI), choisissez **Private** (Privée).

1. À côté de **Organisations partagées/ OUs**, choisissez Ajouter un **ARN organization/OU **.

1. Pour **Organization/OU ARN** (ARN d’organisation/d’UO), saisissez l’ARN de l’organisation ou de l’UO avec laquelle vous souhaitez partager l’AMI, puis choisissez **Share AMI** (Partager l’AMI). Notez que vous devez spécifier l’ARN complet, pas seulement l’ID.

   Pour partager cette AMI avec plusieurs organisations OUs, répétez cette étape jusqu'à ce que vous ayez ajouté toutes les organisations requises ou OUs.

1. Lorsque vous avez terminé, sélectionnez **Save Changes (Enregistrer les modifications)**.

1. (Facultatif) Pour afficher les organisations ou OUs avec lesquelles vous avez partagé l'AMI, sélectionnez l'AMI dans la liste, choisissez l'onglet **Autorisations** et faites défiler l'écran vers le bas jusqu'à **Organisations OUs partagées/**. Pour découvrir AMIs ceux qui sont partagés avec vous, consultez[Rechercher des AMI partagées qui seront utilisées pour les instances Amazon EC2](usingsharedamis-finding.md).

------
#### [ AWS CLI ]

**Pour partager une AMI avec une organisation**  
Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html) pour octroyer des autorisations de lancement pour l’AMI spécifiée à l’organisation spécifiée.

```
aws ec2 modify-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --launch-permission "Add=[{OrganizationArn=arn:aws:organizations::123456789012:organization/o-123example}]"
```

**Pour partager une AMI avec une UO**  
La [modify-image-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html)commande accorde des autorisations de lancement pour l'AMI spécifiée à l'unité d'organisation spécifiée. Notez que vous devez spécifier l’ARN complet, pas seulement l’ID.

```
aws ec2 modify-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --launch-permission "Add=[{OrganizationalUnitArn=arn:aws:organizations::123456789012:ou/o-123example/ou-1234-5example}]"
```

------
#### [ PowerShell ]

Utilisez la [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html)commande (Outils pour Windows PowerShell) pour partager une AMI, comme indiqué dans les exemples suivants.

**Pour partager une AMI avec une organisation ou une unité d’organisation**  
La commande suivante accorde des autorisations de lancement pour l’AMI spécifiée à l’organisation spécifiée.

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission `
    -OperationType add `
    -OrganizationArn "arn:aws:organizations::123456789012:organization/o-123example"
```

**Pour arrêter le partage d’une AMI avec une organisation ou une unité d’organisation**  
La commande suivante supprime les autorisations de lancement pour l’AMI spécifiée dans l’organisation spécifiée :

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission `
    -OperationType remove `
    -OrganizationArn "arn:aws:organizations::123456789012:organization/o-123example"
```

**Pour arrêter de partager une AMI avec toutes les organisations OUs, et Comptes AWS**  
La commande suivante retire toutes les autorisations de lancement publiques et explicites pour l’AMI spécifiée. Veuillez noter que le propriétaire de l’AMI dispose toujours d’autorisations de lancement et n’est, par conséquent, pas affecté par cette commande.

```
Reset-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission
```

------

## Arrêter le partage d’une AMI avec une organisation ou une UO
<a name="stop-sharing-amis-org-ou"></a>

Vous pouvez arrêter le partage d’une AMI avec une organisation ou une UO.

**Note**  
Vous ne pouvez pas arrêter le partage d’une AMI avec un compte spécifique si elle se trouve dans une organisation ou une unité d’organisation avec laquelle une AMI est partagée. Si vous essayez d’arrêter le partage de l’AMI en supprimant les autorisations de lancement du compte, Amazon EC2 renvoie un message de succès. Toutefois, l’AMI continue d’être partagée avec le compte.

------
#### [ Console ]

**Pour arrêter le partage d’une AMI avec une organisation ou une unité d’organisation**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **AMIs**.

1. Sélectionnez votre AMI dans la liste, puis choisissez **Actions (Actions)**, **Edit AMI permissions (Modifier des autorisations d’AMI)**.

1. Sous **Organisations partagées/ OUs**, sélectionnez les organisations ou OUs avec lesquelles vous souhaitez arrêter de partager l'AMI, puis choisissez **Supprimer** la sélection.

1. Lorsque vous avez terminé, sélectionnez **Save Changes (Enregistrer les modifications)**.

1. (Facultatif) Pour confirmer que vous avez arrêté de partager l'AMI avec les organisations ou sélectionnez l'AMI dans la listeOUs, choisissez l'onglet **Autorisations** et faites défiler l'écran vers le bas jusqu'à **Organisations OUs partagées/**.

------
#### [ AWS CLI ]

**Pour arrêter le partage d’une AMI avec une organisation ou une unité d’organisation**  
Utilisez la commande [modify-image-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html). Cet exemple supprime les autorisations de lancement pour l’AMI spécifiée de l’organisation spécifiée.

```
aws ec2 modify-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --launch-permission "Remove=[{OrganizationArn=arn:aws:organizations::123456789012:organization/o-123example}]"
```

**Pour arrêter de partager une AMI avec toutes les organisations OUs, et Comptes AWS**  
Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/ec2/reset-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/reset-image-attribute.html). Cet exemple supprime toutes les autorisations de lancement publiques et explicites de l’AMI spécifiée. Veuillez noter que le propriétaire de l’AMI dispose toujours d’autorisations de lancement et n’est, par conséquent, pas affecté par cette commande.

```
aws ec2 reset-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --attribute launchPermission
```

------
#### [ PowerShell ]

**Pour arrêter le partage d’une AMI avec une organisation ou une unité d’organisation**  
Utilisez l’applet de commande [Edit-EC2ImageAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html). Cet exemple supprime les autorisations de lancement pour l’AMI spécifiée de l’organisation spécifiée.

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission `
    -OperationType remove `
    -OrganizationArn "arn:aws:organizations::123456789012:organization/o-123example"
```

**Pour arrêter de partager une AMI avec toutes les organisations OUs, et Comptes AWS**  
Utilisez l’applet de commande [Reset-EC2ImageAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Reset-EC2ImageAttribute.html). Cet exemple supprime toutes les autorisations de lancement publiques et explicites de l’AMI spécifiée. Veuillez noter que le propriétaire de l’AMI dispose toujours d’autorisations de lancement et n’est, par conséquent, pas affecté par cette commande.

```
Reset-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute LaunchPermission
```

------

# Partager une AMI avec des AWS comptes spécifiques
<a name="sharingamis-explicit"></a>

Vous pouvez partager une AMI avec un utilisateur spécifique Comptes AWS sans la rendre publique. Tout ce dont vous avez besoin, c'est du Compte AWS IDs.

Un Compte AWS identifiant est un numéro à 12 chiffres, par exemple`012345678901`, qui identifie de manière unique un Compte AWS. Pour plus d’informations, consultez la section [Afficher les identifiants d’ Compte AWS](https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-identifiers.html) dans le *Guide de référence Gestion de compte AWS *.



## Considérations
<a name="considerations-for-sharing-AMI-with-accounts"></a>

Tenez compte des points suivants lorsque vous partagez AMIs avec des personnes spécifiques Comptes AWS.
+ **Propriété** : pour partager une AMI, votre Compte AWS doit être propriétaire de l’AMI.
+ **Sharing limits** (Limites de partage) : pour connaître le nombre maximal d’entités avec lesquelles une AMI peut être partagée au sein d’une région, consultez les [quotas de service Amazon EC2](https://docs.aws.amazon.com//general/latest/gr/ec2-service.html#limits_ec2).
+ **Balises** : vous ne pouvez pas partager de balises définies par l’utilisateur (balises que vous associez à une AMI). Lorsque vous partagez une AMI, les balises définies par l'utilisateur ne sont pas accessibles aux personnes avec Compte AWS lesquelles l'AMI est partagée.
+ **Instantanés** : vous n’avez pas besoin de partager les instantanés Amazon EBS auxquels une AMI fait référence pour partager l’AMI. Vous pouvez partager uniquement l’AMI elle-même ; le système fournit à l’instance l’accès aux instantanés EBS référencés pour le lancement. Cependant, vous devez partager toutes les clés KMS utilisées pour le chiffrement des instantanés auxquels une AMI fait référence. Pour plus d’informations, consulter la rubrique [Partager un instantané Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modifying-snapshot-permissions.html) dans le *Guide de l’utilisateur Amazon EBS*.
+ **Chiffrement et clés** : vous pouvez partager des AMIs données soutenues par des instantanés chiffrés et non chiffrés.
  + Les instantanés chiffrés doivent être chiffrés avec une clé KMS. Vous ne pouvez pas partager ceux AMIs qui sont sauvegardés par des instantanés chiffrés à l'aide de la clé AWS gérée par défaut.
  + Si vous partagez une AMI basée sur des instantanés chiffrés, vous devez Comptes AWS autoriser l'utilisation des clés KMS utilisées pour chiffrer les instantanés. Pour de plus amples informations, veuillez consulter [Autoriser les organisations OUs à utiliser une clé KMS](allow-org-ou-to-use-key.md). Pour configurer la politique de clé dont vous avez besoin pour lancer des instances Auto Scaling lorsque vous utilisez une clé gérée par le client pour le chiffrement, consultez la section [AWS KMS key Politique requise pour une utilisation avec des volumes chiffrés](https://docs.aws.amazon.com/autoscaling/ec2/userguide/key-policy-requirements-EBS-encryption.html) dans le guide de l'*utilisateur Amazon EC2 Auto Scaling*. 
+ **Région** — AMIs sont une ressource régionale. Lorsque vous partagez une AMI, elle n’est disponible que dans la région concernée. Pour rendre une AMI disponible dans une autre région, copiez-la dans la région souhaitée puis partagez-la. Pour plus d’informations, consultez [Copier une AMI Amazon EC2](CopyingAMIs.md).
+ **Utilisation** : lorsque vous partagez une AMI, les utilisateurs peuvent uniquement lancer des instances à partir de l’AMI. Ils ne peuvent pas la supprimer, la partager ou la modifier. Toutefois, une fois qu’ils ont lancé une instance à l’aide de votre AMI, ils peuvent alors créer une AMI à partir de leur instance.
+ **Copie partagée AMIs** : si les utilisateurs d'un autre compte souhaitent copier une AMI partagée, vous devez leur accorder des autorisations de lecture pour le stockage qui soutient l'AMI. Pour de plus amples informations, veuillez consulter [Copie entre comptes](how-ami-copy-works.md#copy-ami-across-accounts).
+ **Facturation** : vous n'êtes pas facturé lorsque votre AMI est utilisée par d'autres personnes Comptes AWS pour lancer des instances. Les comptes qui lancent des instances à l’aide de l’AMI sont facturés pour les instances qu’ils lancent.

------
#### [ Console ]

**Pour donner des autorisations de lancement explicites**

1. Ouvrez la console Amazon EC2 à l’adresse [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Dans le panneau de navigation, sélectionnez **AMIs**.

1. Sélectionnez votre AMI dans la liste, puis choisissez **Actions (Actions)**, **Edit AMI permissions (Modifier des autorisations d’AMI)**.

1. Choisissez **Private (Privé)**.

1. Sous **Shared accounts** (Comptes partagés), choisissez **Add account ID** (Ajouter un ID de compte).

1. Dans **Compte AWS ID**, entrez l' Compte AWS ID avec lequel vous souhaitez partager l'AMI, puis choisissez **Partager l'AMI**.

   Pour partager cette AMI avec plusieurs comptes, répétez les étapes 5 et 6 jusqu'à ce que vous ayez ajouté tous les comptes requis IDs.

1. Lorsque vous avez terminé, choisissez **Save changes** (Enregistrer les modifications).

1. (Facultatif) Pour afficher l'AMI Compte AWS IDs avec laquelle vous avez partagé l'AMI, sélectionnez l'AMI dans la liste, puis cliquez sur l'onglet **Autorisations**. Pour découvrir AMIs ceux qui sont partagés avec vous, consultez[Rechercher des AMI partagées qui seront utilisées pour les instances Amazon EC2](usingsharedamis-finding.md).

------
#### [ AWS CLI ]

Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-image-attribute.html) pour partager une AMI comme illustré dans les exemples suivants.

**Pour donner des autorisations de lancement explicites**  
L’exemple suivant octroie les autorisations de lancement pour l’AMI spécifiée à l’ Compte AWS spécifié.

```
aws ec2 modify-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --launch-permission "Add=[{UserId=123456789012}]"
```

**Pour supprimer des autorisations de lancement données à un compte**  
L’exemple suivant retire les autorisations de lancement pour l’AMI spécifiée de l’ Compte AWS spécifié.

```
aws ec2 modify-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --launch-permission "Remove=[{UserId=123456789012}]"
```

**Pour supprimer toutes les autorisations de lancement**  
L’exemple suivant retire toutes les autorisations de lancement pour l’AMI spécifiée du compte spécifié. Veuillez noter que le propriétaire de l’AMI dispose toujours d’autorisations de lancement et n’est, par conséquent, pas affecté par cette commande.

```
aws ec2 reset-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --attribute launchPermission
```

------
#### [ PowerShell ]

Utilisez la [https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2ImageAttribute.html)commande (Outils pour Windows PowerShell) pour partager une AMI, comme indiqué dans les exemples suivants.

**Pour donner des autorisations de lancement explicites**  
L’exemple suivant octroie les autorisations de lancement pour l’AMI spécifiée à l’ Compte AWS spécifié.

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 ` 
    -Attribute launchPermission `
    -OperationType add `
    -UserId "123456789012"
```

**Pour supprimer des autorisations de lancement données à un compte**  
L’exemple suivant retire les autorisations de lancement pour l’AMI spécifiée de l’ Compte AWS spécifié.

```
Edit-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission -OperationType remove `
    -UserId "123456789012"
```

**Pour supprimer toutes les autorisations de lancement**  
L’exemple suivant retire toutes les autorisations de lancement publiques et explicites de l’AMI spécifiée. Veuillez noter que le propriétaire de l’AMI dispose toujours d’autorisations de lancement et n’est, par conséquent, pas affecté par cette commande.

```
Reset-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute launchPermission
```

------

# Annuler le partage d'une AMI avec votre Compte AWS
<a name="cancel-sharing-an-AMI"></a>

Une Amazon Machine Image (AMI) peut être [partagée avec des Comptes AWS spécifiques](sharingamis-explicit.md) en ajoutant les comptes aux autorisations de lancement de l’AMI. Si une AMI a été partagée avec vous Compte AWS et que vous ne souhaitez plus qu'elle soit partagée avec votre compte, vous pouvez supprimer votre compte des autorisations de lancement de l'AMI. Pour ce faire, exécutez la `cancel-image-launch-permission` AWS CLI commande. Lorsque vous exécutez cette commande, vous Compte AWS êtes privé des autorisations de lancement pour l'AMI spécifiée. Pour trouver ceux AMIs qui sont partagés avec vous Compte AWS, consultez[Rechercher des AMI partagées qui seront utilisées pour les instances Amazon EC2](usingsharedamis-finding.md).

Vous pouvez annuler le partage d’une AMI avec votre compte, par exemple pour réduire la probabilité de lancer une instance avec une AMI inutilisée ou obsolète qui a été partagée avec vous. Lorsque vous annulez le partage d’une AMI avec votre compte, celle-ci n’apparaît plus dans les listes d’AMI de la console EC2 ni dans la sortie de [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) (langue française non garantie).

**Topics**
+ [Limitations](#cancel-sharing-an-AMI-limitations)
+ [Annulation du partage d’une AMI avec votre compte](#cancel-image-launch-permission)

## Limitations
<a name="cancel-sharing-an-AMI-limitations"></a>
+ Vous pouvez supprimer votre compte des autorisations de lancement d'une AMI partagée Compte AWS uniquement avec vous. Vous ne pouvez pas l'utiliser `cancel-image-launch-permission` pour retirer votre compte des autorisations de lancement d'une [AMI partagée avec une organisation ou une unité organisationnelle (UO)](share-amis-with-organizations-and-OUs.md) ou pour supprimer l'accès au public AMIs.
+ Vous ne pouvez pas supprimer définitivement votre compte des autorisations de lancement d’une AMI. Un propriétaire d’AMI peut à nouveau partager une AMI avec votre compte.
+ AMIs sont une ressource régionale. Lors de l’exécution de `cancel-image-launch-permission`, vous devez spécifier la région dans laquelle se trouve l’AMI. Spécifiez la région dans la commande ou utilisez la [variable d' AWS\$1DEFAULT\$1REGION environnement](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-envvars.html).
+ Seuls les SDK AWS CLI et permettent de supprimer votre compte des autorisations de lancement d'une AMI. La console EC2 ne prend pas actuellement en charge cette fonction.

## Annulation du partage d’une AMI avec votre compte
<a name="cancel-image-launch-permission"></a>

**Note**  
Une fois que vous avez annulé le partage d’une AMI avec votre compte, vous ne pouvez pas le rétablir. Pour rétablir l’accès à l’AMI, le propriétaire de l’AMI doit la partager avec votre compte.

------
#### [ AWS CLI ]

**Pour annuler le partage d’une AMI avec votre compte**  
Utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-image-launch-permission.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-image-launch-permission.html).

```
aws ec2 cancel-image-launch-permission \
    --image-id ami-0abcdef1234567890 \
    --region us-east-1
```

------
#### [ PowerShell ]

**Pour annuler le partage d’une AMI avec votre compte**  
Utilisez l’applet de commande [https://docs.aws.amazon.com/powershell/latest/reference/index.html](https://docs.aws.amazon.com/powershell/latest/reference/index.html).

```
Stop-EC2ImageLaunchPermission `
    -ImageId ami-0abcdef1234567890 `
    -Region us-east-1
```

------

# Recommandations pour créer un système Linux partagé AMIs
<a name="building-shared-amis"></a>

Suivez les instructions suivantes pour réduire la surface d'attaque et améliorer la fiabilité de ce AMIs que vous créez.

**Important**  
Aucune liste de consignes de sécurité ne peut être exhaustive. Créez votre partage AMIs avec soin et prenez le temps de réfléchir aux endroits où vous pourriez exposer des données sensibles.

**Topics**
+ [Désactivation des connexions distantes basées sur un mot de passe pour l’utilisateur root](#public-amis-disable-password-logins-for-root)
+ [Désactivation de l’accès local à la racine](#restrict-root-access)
+ [Suppression des paires de clés de l’hôte SSH](#remove-ssh-host-key-pairs)
+ [Installation d’informations d’identification publiques](#public-amis-install-credentials)
+ [Désactiver les vérifications DNS sshd (facultatif)](#public-amis-disable-ssh-dns-lookups)
+ [Supprimer les données sensibles](#public-amis-protect-yourself)

Si vous créez AMIs pour cela AWS Marketplace, consultez la section [Meilleures pratiques en matière de création AMIs](https://docs.aws.amazon.com/marketplace/latest/userguide/best-practices-for-building-your-amis.html) dans le *Guide du AWS Marketplace vendeur* pour connaître les directives, les politiques et les meilleures pratiques.

## Désactivation des connexions distantes basées sur un mot de passe pour l’utilisateur root
<a name="public-amis-disable-password-logins-for-root"></a>

En utilisant un mot de passe racine fixe pour une AMI publique, un risque de sécurité peut rapidement apparaître. Même le fait de compter sur les utilisateurs pour changer le mot de passe après leur première connexion laisse une petite place à une opportunité d’abus potentiel. 

Pour résoudre ce problème, désactivez les connexions à distance basées sur mot de passe pour l’utilisateur racine.

**Pour désactiver les connexions à distance basées sur un mot de passe pour l’utilisateur root**

1. Ouvrez le fichier `/etc/ssh/sshd_config` dans un éditeur de texte et localisez la ligne suivante :

   ```
   #PermitRootLogin yes
   ```

1. Changez la ligne en :

   ```
   PermitRootLogin without-password
   ```

   L’emplacement de ce fichier de configuration peut varier pour votre distribution, ou si vous n’exécutez pas OpenSSH. Si tel est le cas, consultez la documentation appropriée. 

## Désactivation de l’accès local à la racine
<a name="restrict-root-access"></a>

Lorsque vous travaillez avec le partage AMIs, il est recommandé de désactiver les connexions root directes. Pour ce faire, connectez-vous à votre instance en cours d’exécution et entrez la commande suivante :

```
[ec2-user ~]$ sudo passwd -l root
```

**Note**  
Cette commande n’a pas d’impact sur l’utilisation de `sudo`.

## Suppression des paires de clés de l’hôte SSH
<a name="remove-ssh-host-key-pairs"></a>

 Si vous prévoyez de partager une AMI issue d’une AMI publique, supprimez les paires de clés de l’hôte SSH existantes situées dans `/etc/ssh`. Cela oblige SSH à générer de nouvelles paires de clés SSH uniques lorsque quelqu'un lance une instance à l'aide de votre AMI, ce qui améliore la sécurité et réduit le risque d'attaques « man-in-the-middle ». 

Supprimez tous les fichiers clés suivants présents dans votre système.
+  ssh\$1host\$1dsa\$1key 
+  ssh\$1host\$1dsa\$1key.pub 
+  ssh\$1host\$1key 
+  ssh\$1host\$1key.pub 
+  ssh\$1host\$1rsa\$1key 
+  ssh\$1host\$1rsa\$1key.pub 
+ ssh\$1host\$1ecdsa\$1key
+ ssh\$1host\$1ecdsa\$1key.pub
+ ssh\$1host\$1ed25519\$1key
+ ssh\$1host\$1ed25519\$1key.pub

Vous pouvez supprimer tous ces fichiers en toute sécurité avec la commande suivante.

```
[ec2-user ~]$ sudo shred -u /etc/ssh/*_key /etc/ssh/*_key.pub
```

**Avertissement**  
Les utilitaires de suppression sécurisée tels que **shred** peuvent ne pas supprimer toutes les copies d’un fichier de votre support de stockage. Des copies cachées de fichiers peuvent être crées par les systèmes de fichiers de journalisation (dont Amazon Linux default ext4), les instantanés (snapshots), les sauvegardes, RAID et la mise en cache temporaire. Pour plus d’informations, consultez la [documentation shred](https://www.gnu.org/software/coreutils/manual/html_node/shred-invocation.html).

**Important**  
Si vous oubliez de supprimer les paires de clés de l’hôte SSH existantes de votre AMI publique, notre processus routinier d’audit vous informe ainsi que tous les clients exécutant des instances de votre AMI du risque de sécurité potentiel. Au terme d’une courte période de grâce, nous marquons l’AMI comme privée. 

## Installation d’informations d’identification publiques
<a name="public-amis-install-credentials"></a>

Après avoir configuré l’AMI pour empêcher la connexion à l’aide d’un mot de passe, vous devez vous assurer que les utilisateurs peuvent se connecter à l’aide d’un autre mécanisme. 

Amazon EC2 permet aux utilisateurs de spécifier un nom de paire de clés publique-privée au moment de lancer une instance. Lorsqu’un nom de paire de clés valide est fourni à l’appel de l’API `RunInstances` (ou par les outils API de ligne de commande), la clé publique (la portion de la paire de clés qu’Amazon EC2 conserve sur le serveur après un appel à `CreateKeyPair` ou `ImportKeyPair`) est rendue disponible pour l’instance via une requête HTTP sur les métadonnées d’instance. 

Pour se connecter via SSH, votre AMI doit récupérer la valeur clé au moment du démarrage et la joindre à `/root/.ssh/authorized_keys` (ou l’équivalent pour tout autre compte utilisateur sur l’AMI). Les utilisateurs peuvent lancer des instances de votre AMI avec votre paire de clés et se connecter sans avoir besoin de mot de passe racine. 

De nombreuses distributions, dont Amazon Linux et Ubuntu, utilisent le package `cloud-init` pour injecter des informations d’identification de clé publiques pour un utilisateur configuré. Si votre distribution ne prend pas en charge `cloud-init`, vous pouvez ajouter le code suivant à un script de démarrage système (tel que `/etc/rc.local`) pour extraire la clé publique que vous avez spécifiée au lancement pour l’utilisateur racine.

**Note**  
Dans l’exemple suivant, l’adresse IP http://169.254.169.254/ est une adresse lien-local et elle n’est valide que depuis l’instance.

------
#### [ IMDSv2 ]

```
if [ ! -d /root/.ssh ] ; then
        mkdir -p /root/.ssh
        chmod 700 /root/.ssh
fi
# Fetch public key using HTTP
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/my-key
if [ $? -eq 0 ] ; then
        cat /tmp/my-key >> /root/.ssh/authorized_keys
        chmod 700 /root/.ssh/authorized_keys
        rm /tmp/my-key
fi
```

------
#### [ IMDSv1 ]

```
if [ ! -d /root/.ssh ] ; then
        mkdir -p /root/.ssh
        chmod 700 /root/.ssh
fi
# Fetch public key using HTTP
curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/my-key
if [ $? -eq 0 ] ; then
        cat /tmp/my-key >> /root/.ssh/authorized_keys
        chmod 700 /root/.ssh/authorized_keys
        rm /tmp/my-key
fi
```

------

 Cela peut être appliqué à n’importe quel utilisateur. Il n’est pas nécessaire de la limiter à l’utilisateur `root`.

**Note**  
La création d’un nouveau bundle d’une instance basée sur cette AMI inclut la clé avec laquelle elle a été lancée. Pour éviter l’inclusion de la clé, vous devez vider (ou supprimer) le fichier `authorized_keys` ou exclure ce fichier du nouveau bundle. 

## Désactiver les vérifications DNS sshd (facultatif)
<a name="public-amis-disable-ssh-dns-lookups"></a>

Désactiver les vérifications DNS sshd affaiblit quelque peu votre sécurité sshd. Toutefois, si la résolution DNS échoue, les connexions SSH continuent de fonctionner. Si vous ne désactivez pas les vérifications sshd, les échecs de résolution DNS empêchent toutes les connexions. 

**Pour désactiver les vérifications DNS sshd**

1. Ouvrez le fichier `/etc/ssh/sshd_config` dans un éditeur de texte et localisez la ligne suivante :

   ```
   #UseDNS yes
   ```

1. Changez la ligne en : 

   ```
   UseDNS no
   ```

**Note**  
L’emplacement de ce fichier de configuration peut varier pour votre distribution, ou si vous n’exécutez pas OpenSSH. Si tel est le cas, consultez la documentation appropriée. 

## Supprimer les données sensibles
<a name="public-amis-protect-yourself"></a>

Nous déconseillons de stocker des données ou logiciels sensibles sur toute AMI que vous partagez. Les utilisateurs qui lancent une AMI partagée peuvent être en mesure de la regrouper et de l’enregistrer comme étant la leur. Suivez ces consignes pour vous permettre d’éviter de vous exposer à des risques de sécurité facilement négligés : 
+ Nous recommandons d’utiliser l’option `--exclude directory` sur `ec2-bundle-vol` pour éviter tout répertoire et sous-répertoire contenant des informations secrètes que vous ne souhaiteriez pas inclure dans votre regroupement. En particulier, excluez toutes les paires de public/private clés SSH et tous les `authorized_keys` fichiers SSH appartenant à l'utilisateur lors du regroupement de l'image. Le public Amazon les AMIs stocke `/root/.ssh` pour l'utilisateur root et `/home/user_name/.ssh/` pour les utilisateurs réguliers. Pour de plus amples informations, veuillez consulter [ec2-bundle-vol](ami-tools-commands.md#ami-bundle-vol).
+ Supprimez toujours l’historique shell avant la création d’un bundle. Si vous essayez de réaliser plusieurs téléchargements de regroupement dans une même AMI, l’historique shell contient votre clé d’accès. L’exemple ci-après devrait être la dernière commande que vous avez exécutée avant de créer un bundle depuis l’instance.

  ```
  [ec2-user ~]$ shred -u ~/.*history
  ```
**Avertissement**  
Les limites de **shred** décrites dans l’avertissement ci-dessus s’appliquent également ici.   
Ayez à l’esprit que bash inscrit l’historique de la session en cours sur le disque au moment de quitter. Si vous vous déconnectez de votre instance après avoir supprimé `~/.bash_history` et si vous vous reconnectez ensuite, vous constaterez que `~/.bash_history` a été recréé et contient toutes les commandes que vous avez exécutées durant votre session précédente.  
D’autres programmes en dehors de bash inscrivent les historiques sur le disque. Soyez prudent et retirez ou excluez tous les fichiers et répertoires dot superflus.
+ La création d’une offre groupée pour une instance en cours d’exécution nécessite votre clé privée et un certificat X.509. Mettez ces éléments et toutes les autres informations d’identification dans un endroit qui n’est pas regroupé (comme par exemple le stockage d’instances).