

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.

# Contrôlez la découverte et l’utilisation des AMI dans Amazon EC2 à l’aide des AMI autorisées
<a name="ec2-allowed-amis"></a>

Pour contrôler la découverte et l’utilisation des Amazon Machine Images (AMI) par les utilisateurs de votre Compte AWS, vous pouvez utiliser la fonctionnalité *AMI autorisées*. Vous spécifiez les critères auxquels les AMI doivent répondre 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 qu’aux AMI conformes aux critères définis. Par exemple, vous pouvez définir une liste de fournisseurs d’AMI fiables comme critère, et seules les AMI de ces fournisseurs seront visibles et disponibles.

Avant d’activer les paramètres des AMI autorisées, vous pouvez activer le *Mode d’audit* pour voir quelles AMI seront visibles ou non et disponibles afin d’être utilisées. Cela vous permet de préciser les critères selon vos besoins afin de vous assurer que seuls les AMI prévus sont visibles et disponibles pour les utilisateurs de votre compte. Par ailleurs, utilisez la commande [describe-instance-image-metadata](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-image-metadata.html) pour rechercher les instances qui ont été lancées avec des AMI ne répondant pas aux critères spécifiés. Ces informations peuvent vous aider à décider de mettre à jour vos configurations de lancement afin d’utiliser des AMI conformes (par exemple, en définissant une AMI différente dans un modèle de lancement) ou d’ajuster vos critères afin d’autoriser ces AMI.

Vous définissez les paramètres des AMI autorisées au niveau du compte, soit directement dans le compte, soit à l’aide d’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) du *AWS Organizations Guide de l’utilisateur*.

**Note**  
La fonctionnalité AMI autorisées ne contrôle que la découverte et l’utilisation des AMI publiques ou des AMI partagées avec votre compte. Elle ne limite pas les AMI appartenant à votre compte. Quels que soient les critères que vous définissez, les AMI créées par votre compte sont toujours détectables et utilisables par les utilisateurs de votre compte.

**Principaux avantages des AMI autorisées**
+ **Conformité et sécurité** : les utilisateurs ne peuvent découvrir et utiliser que les AMI qui répondent aux critères définis, ce qui réduit le risque d’utilisation des AMI non conformes.
+ **Gestion efficace** : en réduisant le nombre des AMI autorisées, la gestion des AMI restantes devient plus facile et plus efficace.
+ **Mise en œuvre centralisée au niveau du compte** : configurez les paramètres des AMI autorisées au niveau du compte, soit directement dans le compte, soit par l’intermédiaire 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 fonctionnent les AMI autorisées](#how-allowed-amis-works)
+ [Meilleures pratiques pour mettre en œuvre les AMI autorisées](#best-practice-for-implementing-allowed-amis)
+ [Autorisations IAM requises](#iam-permissions-for-allowed-amis)
+ [Gestion des paramètres pour les AMI autorisées](manage-settings-allowed-amis.md)

## Comment fonctionnent les AMI autorisées
<a name="how-allowed-amis-works"></a>

Pour déterminer quelles AMI peuvent être détectées et utilisées dans votre compte, vous définissez un ensemble de critères permettant d’évaluer les AMI. 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 de ImageCriteria configuration des AMI 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
  + Multi-value paramètres :
    + `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.)
    + `ImageWatermarks`
  + Single-value paramètres :
    + `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.
  + Constitue la configuration complète en fonction de laquelle les AMI sont évaluées. 

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

### Paramètres des AMI 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 dont les AMI sont autorisées.  
Les valeurs valides sont des alias définis par AWS et Compte AWS des identifiants, comme suit :  
+ `amazon` : un alias qui identifie les AMI créées par Amazon ou des fournisseurs vérifiés
+ `aws-marketplace`— Un alias qui identifie les AMI créées par des fournisseurs vérifiés dans le AWS Marketplace
+ `aws-backup-vault` — Un pseudonyme qui identifie les AMI de sauvegarde qui se trouvent dans des comptes de coffre-fort de sauvegarde AWS à isolation logique. 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 Identifiants — Un ou plusieurs identifiants à 12 chiffres Compte AWS 
+ `none` — Indique que seules les AMI créées par votre compte peuvent être découvertes et utilisées. Les AMI publiques ou partagées ne peuvent pas être découvertes et utilisées. Lorsqu’il est précisé, aucun autre critère ne peut être spécifié.

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

`MarketplaceProductCodes`  
Les codes AWS Marketplace de produit pour les AMI autorisées.

`CreationDateCondition`  
L’âge maximum des AMI autorisées.

`DeprecationTimeCondition`  
La période maximale depuis l’obsolescence pour les AMI autorisées.

`ImageWatermarks`  
Une liste de filtres de filigrane. Le filtre autorise une AMI si un filigrane de l'AMI correspond à une entrée de filtre (logique OR). Chaque filtre peut inclure les champs suivants :  
+ `WatermarkKey`— La clé en filigrane à associer () `account-id:watermark-name`
+ `SourceImageRegion`— La région de l'AMI à laquelle vous avez initialement attaché le filigrane
+ `MaximumDaysSinceSourceImageCreated`— L'âge maximum de l'AMI source lorsque vous avez appliqué le filigrane
+ `MaximumDaysSinceWatermarkCreated`— Le nombre maximum de jours depuis que vous avez appliqué le filigrane

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.

### Configuration des AMI autorisées
<a name="allowed-amis-json-configuration"></a>

La configuration de base des AMI autorisées est la configuration `ImageCriteria` qui permet de définir les critères des AMI autorisées. 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
            },
            "ImageWatermarks": [
                {
                    "WatermarkKey": "string",
                    "SourceImageRegion": "string",
                    "MaximumDaysSinceSourceImageCreated": integer,
                    "MaximumDaysSinceWatermarkCreated": integer
                },...
            ]
         },
         ...
}
```

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

L'`ImageCriteria`exemple suivant en configure cinq`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}}
            }
        },
        // ImageCriterion 5: Allow AMIs that carry an approved watermark
        // from account "111122223333" AND the watermark was applied less than 90 days ago
        {
            "ImageWatermarks": [
                {
                    "WatermarkKey": "{{111122223333:prod-baseline}}",
                    "MaximumDaysSinceWatermarkCreated": {{90}}
                }
            ]
        }
    ]
}
```

### 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 ImageProvidersImageNames,MarketplaceProductCodes, et ImageWatermarks | 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 : Autorise les AMI contenant le code AWS Marketplace du produit `abcdefg1234567890`

  `OR`
+ `ImageCriterion` 2 : autorise les AMI qui répondent à ces deux critères :
  + Appartenant au compte `123456789012` `OR` `123456789013`
    + `AND`
  + Créée au cours des 300 derniers jours

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

  `OR`
+ `ImageCriterion` 4 : autorise les AMI qui répondent à 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`

  `OR`
+ `ImageCriterion`5 : Autorise les AMI comportant un filigrane correspondant à :
  + Clé filigrane `111122223333:prod-baseline`
    + `AND`
  + Vous avez appliqué le filigrane il y a moins de 90 jours

### 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` 
+ 50 valeurs pour `ImageWatermarks`

**Exemple de limites**

En utilisant l’exemple de [ImageCriteria exemple](#allowed-amis-json-configuration-example) qui précède :
+ Il y en a 5`ImageCriterion`. Jusqu'à 5 autres peuvent être ajoutés à la demande 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.

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

La fonctionnalité d’AMI autorisées dispose de trois états opérationnels pour gérer les critères d’image : **Activé**, **Désactivé** et **Mode d’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 les AMI autorisées sont activées : 
+ Les `ImageCriteria` sont appliqués.
+ Seules les AMI autorisées peuvent être découvertes dans la console EC2 et par les API qui utilisent des images (par exemple, qui décrivent, copient, stockent ou effectuent d’autres actions utilisant des images).
+ Les instances ne peuvent être lancées qu’à l’aide des AMI autorisées.

**Désactivé**

Lorsque les AMI autorisées sont activées : 
+ 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 les AMI autorisées sont activées.
+ Dans la ligne de commande, la réponse à `describe-image` l’opération comprend `"ImageAllowed": true` ou `"ImageAllowed": false` pour indiquer si l’AMI sera détectable et disponible pour les utilisateurs du compte lorsque les AMI autorisées sont activées.
+ Dans la console EC2, le catalogue d’AMI affiche **Non autorisé** à côté des AMI qui ne seront pas détectables ou disponibles pour les utilisateurs du compte lorsque les AMI autorisées sont activées.

## Meilleures pratiques pour mettre en œuvre les AMI autorisées
<a name="best-practice-for-implementing-allowed-amis"></a>

Lorsque vous implémentez des AMI autorisées, tenez compte de ces meilleures pratiques pour garantir une transition fluide et minimiser les perturbations potentielles de votre AWS environnement.

1. **Activer le mode Audit**

   Commencez par activer les AMI autorisées en mode Audit. Cet état vous permet de voir quels AMI seraient affectées par vos critères sans pour autant restreindre l’accès, ce qui vous offre une période d’évaluation sans risque.

1. **Définir les critères des AMI autorisées**

   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 pour autoriser les AMI créées par. AWS Ces services dépendent des Amazon-published AMI pour lancer les instances.   
Soyez prudent lorsque vous définissez des restrictions `CreationDateCondition` pour des AMI. La définition de conditions de date trop restrictives (par exemple, les AMI doivent dater de moins de 5 jours) peut entraîner l'échec du lancement des instances si les AMI, 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 toutes les instances qui ont été lancées à l’aide des AMI ne répondant pas aux critères définis. Ces informations peuvent vous aider à décider de mettre à jour vos configurations de lancement afin d’utiliser des AMI conformes (par exemple, en définissant une AMI différente dans un modèle de lancement) ou d’ajuster vos critères afin d’autoriser ces AMI.

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

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

   Pour des instructions sur l’utilisation de la CLI, consultez la section [Recherche des instances lancées à partir d’AMI non autorisées](manage-settings-allowed-amis.md#identify-instances-with-allowed-AMIs).

1. **Activer les AMI autorisées**

   Une fois que vous avez confirmé que les critères n’auront pas d’incidence négative sur les processus opérationnels prévus, activez les AMI autorisées.

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

   Continuez à surveiller les lancements d'instances depuis des AMI sur 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 s’il y a des problèmes inattendus et effectuez les ajustements nécessaires aux critères des AMI autorisées.

1. **Pilotez de nouvelles AMI**

   Pour tester les AMI tierces qui ne sont pas conformes à vos paramètres d'AMI autorisés actuels, AWS les approches suivantes sont recommandées :
   + Utilisez un compte distinct Compte AWS : créez un compte sans accès aux ressources critiques de votre entreprise. Assurez-vous que le paramètre AMI autorisées n’est pas activé dans ce compte ou que les AMI que 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 AMI tierces sont disponibles, mais dans laquelle vous n'avez pas encore activé les paramètres des AMI autorisées. 

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

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

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