Contrôlez la découverte et l’utilisation des AMI dans Amazon EC2 à l’aide des AMI autorisées - Amazon Elastic Compute Cloud

Contrôlez la découverte et l’utilisation des AMI dans Amazon EC2 à l’aide des AMI autorisées

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

Comment fonctionnent les AMI autorisées

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.

La hiérarchie de configuration ImageCriteria des AMI autorisées.

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.

    • Constitue la configuration complète en fonction de laquelle les AMI sont évaluées.

Paramètres des AMI autorisés

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 les pseudonymes définis par AWS, et Compte AWS les identifiants, comme suit :

  • amazon : un alias qui identifie les AMI créées par Amazon ou des fournisseurs vérifiés

  • aws-marketplace — Un pseudonyme qui identifie les AMI créées par des fournisseurs vérifiés dans 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 fonctionnalité AWS Sauvegarde d’un coffre-fort à isolation logique, assurez-vous que ce pseudonyme est inclus en tant que fournisseur d’AMI.

  • Compte AWS Identifiants — Un ou plusieurs identifiants de Compte AWS à 12 chiffres

  • 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 de produit AWS Marketplace 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.

Pour connaître les valeurs valides et les contraintes pour chaque critère, consultez la section ImageCriterionRequest dans la Référence de l’API Amazon EC2.

Configuration des AMI autorisées

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 } }, ... }

Exemple d’ImageCriteria

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.

{ "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

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’Exemple d’ImageCriteria :

  • ImageCriterion 1 : autorise les AMI contenant le code du produit AWS Marketplace 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

Limites

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 Exemple d’ImageCriteria 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.

Opérations relatives aux AMI autorisées

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

Lors de la mise en œuvre des AMI autorisées, tenez compte des meilleures pratiques suivantes afin de vous assurer que la transition se fera de manière harmonieuse et de minimiser les perturbations potentielles de votre environnement AWS.

  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.

  2. 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 gérés par AWS tels qu’Amazon ECS ou Amazon EKS, nous vous recommandons de spécifier l’alias amazon pour autoriser les AMI créées par AWS. Ces services dépendent des AMI publiées par Amazon 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 d’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.

  3. 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 règle AWS Config ec2-instance-launched-with-allowed-ami pour vérifier si les instances en cours d’exécution ou arrêtées ont été lancées avec des AMI 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 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.

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

  5. Surveiller les lancements d’instances

    Continuez à surveiller les lancements d’instances à partir des AMI pour vos applications et les services gérés AWS que vous utilisez, tels que 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.

  6. Pilotez de nouvelles AMI

    Pour tester les AMI tierces qui ne sont pas conformes à vos paramètres AMI autorisées actuels, AWS recommande les approches suivantes :

    • Utilisation d’un Compte AWS distinct : créez un compte sans accès à vos ressources critiques pour 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.

    • Test dans une autre Région AWS : utilisez une région dans laquelle les AMI de tiers 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

Pour utiliser la fonctionnalité des AMI autorisées, vous devez disposer des autorisations IAM suivantes :

  • GetAllowedImagesSettings

  • EnableAllowedImagesSettings

  • DisableAllowedImagesSettings

  • ReplaceImageCriteriaInAllowedImagesSettings