

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.

# Autorisations IAM requises pour les modèles de lancement Amazon EC2
<a name="permissions-for-launch-templates"></a>

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

**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 autoriser toutes les personnes qui utiliseront un modèle de lancement à 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 (AMI) privée partagée, l’utilisateur doit disposer d’une autorisation de lancement pour l’AMI.
+ Pour créer des volumes EBS avec des balises provenant 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.

**Topics**
+ [EC2 : CreateLaunchTemplate](#permissions-for-launch-templates-create)
+ [EC2 : DescribeLaunchTemplates](#permissions-for-launch-templates-view)
+ [EC2 : DescribeLaunchTemplateVersions](#permissions-for-launch-template-versions-view)
+ [EC2 : DeleteLaunchTemplate](#permissions-for-launch-templates-delete)
+ [Contrôler les autorisations de gestion des versions](#permissions-for-launch-template-versions)
+ [Contrôler l’accès aux balises sur les modèles de lancement](#permissions-for-launch-templates-tags)

## EC2 : CreateLaunchTemplate
<a name="permissions-for-launch-templates-create"></a>

Pour créer un modèle de lancement dans la console ou à l'aide du APIs, le principal doit disposer de l'`ec2:CreateLaunchTemplate`autorisation requise dans une politique IAM. 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 politique IAM 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 ({{`purpose`}}={{`testing`}}).

```
{
    "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'`CreateLaunchTemplate`opération, l'`CreateLaunchTemplate`appelant doit avoir l'`ec2:CreateTags`autorisation requise dans une politique IAM.
+ **ec2 : RunInstances** — Pour lancer des instances EC2 à partir du modèle de lancement qu'elles ont créé, le principal doit également disposer de l'`ec2:RunInstances`autorisation prévue dans une politique IAM.

Pour les actions de création de ressources qui appliquent des balises, les utilisateurs doivent être autorisés à effectuer l’action `ec2:CreateTags`. L’instruction de politique IAM suivante utilise la clé de condition `ec2:CreateAction` pour permettre aux utilisateurs de créer des balises uniquement dans le contexte de `CreateLaunchTemplate`. Les utilisateurs ne peuvent pas étiqueter les modèles de lancement existants ou d’autres ressources. Pour de plus amples informations, veuillez consulter [Accordez l’autorisation de baliser les ressources Amazon EC2 lors de la création](supported-iam-actions-tagging.md).

```
{
    "Sid": "IAMPolicyForTaggingLaunchTemplatesOnCreation",
    "Action": "ec2:CreateTags",
    "Effect": "Allow",
    "Resource": "arn:aws:ec2:{{us-east-1}}:{{111122223333}}:launch-template/*",
    "Condition": {
        "StringEquals": {
            "ec2:CreateAction": "CreateLaunchTemplate"
        }
    }
}
```

L’utilisateur IAM 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 principal, le créateur du modèle de lancement doit obtenir une autorisation par le biais d’une politique IAM. Si un utilisateur IAM souhaite lancer une instance EC2 à partir d’un modèle de lancement, il doit disposer de l’autorisation `ec2:RunInstances`. 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écifiques IDs. Vous pouvez également contrôler l’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’appel à `RunInstances`. Pour obtenir des exemples de politiques, consultez [Modèles de lancement](ExamplePolicies_EC2.md#iam-example-runinstances-launch-templates).

## EC2 : DescribeLaunchTemplates
<a name="permissions-for-launch-templates-view"></a>

Pour répertorier et afficher les modèles de lancement dans le compte, le principal doit avoir l’autorisation `ec2:DescribeLaunchTemplates` dans une politique IAM. 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, l’instruction de politique IAM suivante donne au principal l’autorisation de dresser la liste de tous les modèles de lancement du compte.

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

## EC2 : DescribeLaunchTemplateVersions
<a name="permissions-for-launch-template-versions-view"></a>

Les principaux qui consultent les modèles de lancement doivent également disposer de l’autorisation `ec2:DescribeLaunchTemplateVersions` de récupérer l’ensemble complet des attributs qui constituent les modèles de lancement. 

Pour répertorier les versions de modèles de lancement dans le compte, le principal doit avoir l’autorisation `ec2:DescribeLaunchTemplateVersions` dans une politique IAM. 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, l’instruction de politique IAM suivante donne au principal l’autorisation de dresser la liste de toutes les versions de modèles de lancement dans le compte.

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

## EC2 : DeleteLaunchTemplate
<a name="permissions-for-launch-templates-delete"></a>

**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’autorisation `ec2:DeleteLaunchTemplate` dans une politique IAM. Dans la mesure du possible, utilisez des clés de condition basées sur des balises pour limiter les autorisations.

Par exemple, l’instruction de politique IAM suivante donne au principal l’autorisation de supprimer des modèles de lancement uniquement si le modèle utilise la balise spécifiée ({{`purpose`}}={{`testing`}}).

```
{
    "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 politique IAM.

Un modèle de lancement possède l’ARN suivant.

```
"Resource": "arn:aws:ec2:{{us-east-1}}:{{111122223333}}: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
<a name="permissions-for-launch-template-versions"></a>

Pour les administrateurs de confiance, vous pouvez accorder l’accès à la création et à la suppression des versions d’un modèle de lancement, ainsi qu’à la modification de la version par défaut d’un modèle de lancement, en utilisant des politiques IAM similaires aux exemples suivants.

**Important**  
Soyez prudent lorsque vous autorisez les principaux à créer ou à supprimer des versions de modèles de lancement ou à modifier des modèles de lancement.   
Lorsque vous créez ou supprimez une version d’un modèle de lancement, vous affectez toutes ressources AWS qui permettent à Amazon EC2 de lancer des instances en votre nom avec la version `Latest`. 
Lorsque vous modifiez un modèle de lancement, vous pouvez changer de version `Default` et, par conséquent, affecter les AWS ressources qui permettent à Amazon EC2 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 en pour `Latest` ou `Default`, Amazon EC2 ne revérifie pas les autorisations de l’utilisateur pour les actions à effectuer lors du lancement de nouvelles instances pour remplir la capacité cible de la flotte, car il n’y a pas d’interaction de l’utilisateur avec la ressource AWS . En accordant à un utilisateur l'autorisation d'appeler le `CreateLaunchTemplateVersion` et `ModifyLaunchTemplate` APIs, 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 rôle IAM). Cela signifie qu’un utilisateur peut potentiellement mettre à jour un modèle de lancement pour passer un rôle IAM à une instance même s’il n’a pas l’autorisation `iam:PassRole`. 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
<a name="permissions-for-launch-template-versions-create"></a>

Pour créer une nouvelle version d’un modèle de lancement, le principal doit disposer de l’autorisation `ec2:CreateLaunchTemplateVersion` pour le modèle de lancement dans une politique IAM.

Par exemple, l’instruction de politique IAM 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 lancement ARNs, 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
<a name="permissions-for-launch-template-versions-delete"></a>

**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 d’un modèle de lancement, le principal doit avoir l’autorisation `ec2:DeleteLaunchTemplateVersion` pour le modèle de lancement dans une politique IAM.

Par exemple, l’instruction IAM suivante donne au principal l’autorisation de supprimer 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 lancement ARNs, 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
<a name="permissions-for-launch-templates-update"></a>

Pour modifier la version `Default` associée à un modèle de lancement, le principal doit avoir l’autorisation `ec2:ModifyLaunchTemplate` pour le modèle de lancement dans une politique IAM.

Par exemple, l’instruction de politique IAM 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 lancement ARNs, 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
<a name="permissions-for-launch-templates-tags"></a>

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 politique IAM suivante permet de ne supprimer que la balise avec la clé `{{temporary}}` dans les 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:{{us-east-1}}:{{111122223333}}: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 ressources Amazon EC2, consultez [Contrôler l’accès à des balises spécifiques](supported-iam-actions-tagging.md#control-tagging).