IAMautorisations requises pour les modèles de EC2 lancement Amazon - Amazon Elastic Compute Cloud

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.

IAMautorisations requises pour les modèles de EC2 lancement Amazon

Vous pouvez utiliser IAM les autorisations pour contrôler si les utilisateurs peuvent répertorier, afficher, créer ou supprimer des modèles de lancement ou des versions de modèles de lancement.

Important

Vous ne pouvez pas utiliser les autorisations au niveau des ressources pour restreindre les ressources que les utilisateurs peuvent spécifier dans un modèle de lancement lorsqu'ils créent un modèle de lancement ou une version de modèle de lancement. Par conséquent, assurez-vous que seuls les administrateurs de confiance sont autorisés à créer des modèles de lancement et des versions de modèles de lancement.

Vous devez accorder à toute personne qui utilisera un modèle de lancement les autorisations nécessaires pour créer et accéder aux ressources spécifiées dans le modèle de lancement. Par exemple :

  • Pour lancer une instance à partir d'une Amazon Machine Image privée partagée (AMI), l'utilisateur doit disposer de l'autorisation de lancement pourAMI.

  • Pour créer des EBS volumes avec des balises à partir d'instantanés existants, l'utilisateur doit disposer d'un accès en lecture aux instantanés et des autorisations nécessaires pour créer et étiqueter des volumes.

EC2 : CreateLaunchTemplate

Pour créer un modèle de lancement dans la console ou à l'aide duAPIs, le principal doit avoir l'ec2:CreateLaunchTemplateautorisation requise dans une IAM politique. Dans la mesure du possible, utilisez des balises pour contrôler l’accès aux modèles de lancement de votre compte.

Par exemple, la déclaration de IAM politique suivante donne au principal l'autorisation de créer des modèles de lancement uniquement si le modèle utilise la balise spécifiée (objectif=test).

{ "Sid": "IAMPolicyForCreatingTaggedLaunchTemplates", "Action": "ec2:CreateLaunchTemplate", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose": "testing" } } }

Les principaux qui créent des clés peuvent avoir besoin de certaines autorisations associées, telles que :

  • ec2 : CreateTags — Pour ajouter des balises au modèle de lancement pendant l'CreateLaunchTemplateopération, l'CreateLaunchTemplateappelant doit avoir l'ec2:CreateTagsautorisation spécifiée dans une IAM politique.

  • ec2 : RunInstances — Pour lancer des EC2 instances à partir du modèle de lancement qu'ils ont créé, le principal doit également disposer de l'ec2:RunInstancesautorisation spécifiée dans une IAM politique.

Pour les actions de création de ressources qui appliquent des balises, les utilisateurs doivent être autorisés à effectuer l’action ec2:CreateTags. La déclaration IAM de politique suivante utilise la clé de ec2:CreateAction condition pour permettre aux utilisateurs de créer des balises uniquement dans le contexte deCreateLaunchTemplate. Les utilisateurs ne peuvent pas étiqueter les modèles de lancement existants ou d’autres ressources. Pour de plus amples informations, veuillez consulter Accorder l'autorisation de baliser les EC2 ressources Amazon lors de la création.

{ "Sid": "IAMPolicyForTaggingLaunchTemplatesOnCreation", "Action": "ec2:CreateTags", "Effect": "Allow", "Resource": "arn:aws:ec2:region:account-id:launch-template/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateLaunchTemplate" } } }

L'IAMutilisateur qui crée un modèle de lancement n'est pas automatiquement autorisé à utiliser le modèle de lancement qu'il a créé. Comme tout autre responsable, le créateur du modèle de lancement doit obtenir une autorisation par le biais d'une IAM politique. Si un IAM utilisateur souhaite lancer une EC2 instance à partir d'un modèle de lancement, il doit en avoir l'ec2:RunInstancesautorisation. Lorsque vous accordez ces autorisations, vous pouvez spécifier que les utilisateurs ne peuvent utiliser que des modèles de lancement dotés de balises spécifiques ou spécifiquesIDs. Vous pouvez également contrôler les ressources AMI et les autres ressources auxquelles toute personne utilisant des modèles de lancement peut faire référence et utiliser lors du lancement d'instances en spécifiant des autorisations au niveau des ressources pour l'RunInstancesappel. Pour obtenir des exemples de politiques, consultez Modèles de lancement.

EC2 : DescribeLaunchTemplates

Pour répertorier et afficher les modèles de lancement dans le compte, le principal doit avoir l'ec2:DescribeLaunchTemplatesautorisation requise dans une IAM politique. Parce que les actions Describe ne prennent pas en charge les autorisations au niveau des ressources, vous devez les spécifier sans condition et la valeur de l’élément de ressource dans la politique doit être "*".

Par exemple, la déclaration de IAM politique suivante donne au principal l'autorisation de répertorier et d'afficher tous les modèles de lancement du compte.

{ "Sid": "IAMPolicyForDescribingLaunchTemplates", "Action": "ec2:DescribeLaunchTemplates", "Effect": "Allow", "Resource": "*" }

EC2 : DescribeLaunchTemplateVersions

Les responsables qui répertorient et consultent les modèles de lancement doivent également être ec2:DescribeLaunchTemplateVersions autorisés à récupérer l'ensemble complet des attributs qui constituent les modèles de lancement.

Pour répertorier et afficher les versions des modèles de lancement dans le compte, le principal doit avoir l'ec2:DescribeLaunchTemplateVersionsautorisation requise dans une IAM politique. Parce que les actions Describe ne prennent pas en charge les autorisations au niveau des ressources, vous devez les spécifier sans condition et la valeur de l’élément de ressource dans la politique doit être "*".

Par exemple, la déclaration de IAM politique suivante donne au principal l'autorisation de répertorier et d'afficher toutes les versions des modèles de lancement dans le compte.

{ "Sid": "IAMPolicyForDescribingLaunchTemplateVersions", "Effect": "Allow", "Action": "ec2:DescribeLaunchTemplateVersions", "Resource": "*" }

EC2 : DeleteLaunchTemplate

Important

Soyez prudent lorsque vous donnez aux principaux l’autorisation de supprimer une ressource. La suppression d'un modèle de lancement peut entraîner une défaillance d'une AWS ressource qui repose sur le modèle de lancement.

Pour supprimer un modèle de lancement, le principal doit avoir l'ec2:DeleteLaunchTemplateautorisation requise dans une IAM politique. Dans la mesure du possible, utilisez des clés de condition basées sur des balises pour limiter les autorisations.

Par exemple, la déclaration de IAM politique suivante donne au principal l'autorisation de supprimer des modèles de lancement uniquement si le modèle possède la balise spécifiée (objectif=test).

{ "Sid": "IAMPolicyForDeletingLaunchTemplates", "Action": "ec2:DeleteLaunchTemplate", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/purpose": "testing" } } }

Vous pouvez également l'utiliser ARNs pour identifier le modèle de lancement auquel s'applique la IAM politique.

Un modèle de lancement présente les caractéristiques suivantesARN.

"Resource": "arn:aws:ec2:region:account-id:launch-template/lt-09477bcd97b0d310e"

Vous pouvez en spécifier plusieurs ARNs en les plaçant dans une liste, ou vous pouvez spécifier une Resource valeur égale à "*" sans l'Conditionélément pour permettre au principal de supprimer tout modèle de lancement du compte.

Contrôler les autorisations de gestion des versions

Pour les administrateurs fiables, vous pouvez accorder l'accès pour créer et supprimer des versions d'un modèle de lancement, et pour modifier la version par défaut d'un modèle de lancement, en utilisant des IAM politiques similaires aux exemples suivants.

Important

Soyez prudent lorsque vous autorisez les principaux à créer des versions de modèles de lancement ou à modifier des modèles de lancement.

  • Lorsque vous créez une version du modèle de lancement, vous affectez toutes AWS les ressources qui permettent EC2 à Amazon de lancer des instances en votre nom avec Latest cette version.

  • Lorsque vous modifiez un modèle de lancement, vous pouvez changer de version Default et, par conséquent, affecter les AWS ressources qui permettent EC2 à Amazon de lancer des instances en votre nom avec cette version modifiée.

Vous devez également faire preuve de prudence dans la manière dont vous gérez les AWS ressources qui interagissent avec la version modèle Latest ou qui Default lancent une version, telles que EC2 Fleet et Spot Fleet. Lorsqu'une version différente du modèle de lancement est utilisée pour Latest ouDefault, Amazon EC2 ne revérifie pas les autorisations des utilisateurs pour les actions à effectuer lors du lancement de nouvelles instances afin d'atteindre la capacité cible du parc, car il n'y a aucune interaction de l'utilisateur avec la AWS ressource. En accordant à un utilisateur l'autorisation d'appeler le CreateLaunchTemplateVersion et ModifyLaunchTemplateAPIs, l'utilisateur obtient également cette iam:PassRole autorisation s'il oriente le parc vers une autre version du modèle de lancement contenant un profil d'instance (un conteneur pour un IAM rôle). Cela signifie qu'un utilisateur peut potentiellement mettre à jour un modèle de lancement pour transmettre un IAM rôle à une instance même s'il n'en a pas l'iam:PassRoleautorisation. Vous pouvez gérer ce risque en faisant preuve de prudence lorsque vous accordez des autorisations aux personnes habilitées à créer et à gérer les versions des modèles de lancement.

EC2 : CreateLaunchTemplateVersion

Pour créer une nouvelle version d'un modèle de lancement, le principal doit avoir l'ec2:CreateLaunchTemplateVersionautorisation d'utiliser le modèle de lancement dans une IAM politique.

Par exemple, la déclaration de IAM politique suivante donne au principal l'autorisation de créer des versions de modèles de lancement uniquement si la version utilise la balise spécifiée (environment=production). Vous pouvez également spécifier un ou plusieurs modèles de lancementARNs, ou vous pouvez spécifier une Resource valeur égale à "*" sans l'Conditionélément pour permettre au principal de créer des versions de n'importe quel modèle de lancement dans le compte.

{ "Sid": "IAMPolicyForCreatingLaunchTemplateVersions", "Action": "ec2:CreateLaunchTemplateVersion", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "production" } } }

EC2 : DeleteLaunchTemplateVersion

Important

Comme toujours, vous devez faire preuve de prudence lorsque vous autorisez les principaux à supprimer une ressource. La suppression d'une version du modèle de lancement peut entraîner une défaillance d'une AWS ressource qui repose sur la version du modèle de lancement.

Pour supprimer une version du modèle de lancement, le principal doit avoir l'ec2:DeleteLaunchTemplateVersionautorisation d'utiliser le modèle de lancement dans une IAM politique.

Par exemple, la déclaration de IAM politique suivante donne au principal l'autorisation de supprimer les versions du modèle de lancement uniquement si la version utilise la balise spécifiée (environment=production). Vous pouvez également spécifier un ou plusieurs modèles de lancementARNs, ou vous pouvez spécifier une Resource valeur égale à "*" sans l'Conditionélément pour permettre au principal de supprimer les versions de n'importe quel modèle de lancement dans le compte.

{ "Sid": "IAMPolicyForDeletingLaunchTemplateVersions", "Action": "ec2:DeleteLaunchTemplateVersion", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "production" } } }

EC2 : ModifyLaunchTemplate

Pour modifier la Default version associée à un modèle de lancement, le principal doit avoir l'ec2:ModifyLaunchTemplateautorisation d'utiliser le modèle de lancement dans une IAM politique.

Par exemple, la déclaration de IAM politique suivante donne au principal l'autorisation de modifier les modèles de lancement uniquement si le modèle de lancement utilise la balise spécifiée (environment=production). Vous pouvez également spécifier un ou plusieurs modèles de lancementARNs, ou vous pouvez spécifier une Resource valeur égale à "*" sans l'Conditionélément pour permettre au principal de modifier n'importe quel modèle de lancement du compte.

{ "Sid": "IAMPolicyForModifyingLaunchTemplates", "Action": "ec2:ModifyLaunchTemplate", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/environment": "production" } } }

Contrôler l’accès aux balises sur les modèles de lancement

Vous pouvez utiliser des clés de condition pour limiter les autorisations d’étiquetage lorsque la ressource est un modèle de lancement. Par exemple, la IAM politique suivante permet de supprimer uniquement le tag contenant la temporary clé des modèles de lancement dans le compte et la région spécifiés.

{ "Sid": "IAMPolicyForDeletingTagsOnLaunchTemplates", "Action": "ec2:DeleteTags", "Effect": "Allow", "Resource": "arn:aws:ec2:region:account-id:launch-template/*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": ["temporary"] } } }

Pour plus d'informations sur les clés de conditions que vous pouvez utiliser pour contrôler les clés de balise et les valeurs qui peuvent être appliquées aux EC2 ressources Amazon, consultezContrôler l’accès à des balises spécifiques.