Je souhaite contrôler l'accès aux instances Amazon Elastic Compute Cloud (Amazon EC2) par le biais d’identifications.
Résolution
Ajouter une identification à votre groupe d’instances Amazon EC2
Remarque : Les identifications présentent des exigences spécifiques, telles que la limite de caractères et le nombre d’identifications par ressource.
Ouvrez la console Amazon EC2. Puis, ajoutez des identifications au groupe d'instances EC2 pour les utilisateurs ou les groupes concernés. Si vous n’avez pas encore d’identification, créez-en une nouvelle.
Créer une politique IAM autorisant l’accès aux instances dotées d’une identification spécifique
Votre politique IAM doit remplir les conditions suivantes pour accorder l'accès aux instances dotées d’une identification spécifique :
- Autorisez le contrôle des instances dotées de l’identification.
- Contient une instruction conditionnelle qui autorise l’accès aux ressources EC2 lorsque la valeur de la clé de condition ec2:ResourceTag/UserName correspond à la variable de politique aws:username. Lorsque IAM évalue la politique, il remplace la variable de politique ${aws:username} par le nom convivial de l'utilisateur IAM actuel.
- Autorisez l'accès aux actions ec2:Describe* pour les ressources EC2.
- Refusez explicitement l'accès aux actions ec2:CreateTags et ec2:DeleteTags. Cela empêche les utilisateurs de créer ou de supprimer des identifications même lorsqu'ils ont accès à des instances de contrôle.
Dans votre éditeur JSON, copiez l'exemple de modèle de politique suivant :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:*",
"Resource": "*",
"Condition": {
"StringEquals": {
"ec2:ResourceTag/UserName": "${aws:username}"
}
}
},
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Effect": "Deny",
"Action": [
"ec2:CreateTags",
"ec2:DeleteTags"
],
"Resource": "*"
}
]
}
Remarque : Cette politique s’applique aux instances qui utilisent la clé de condition ec2:ResourceTag. Si vous souhaitez utiliser des identifications pour empêcher les utilisateurs de lancer de nouvelles instances, suivez les instructions figurant dans la section Comment utiliser les identifications de politique IAM pour restreindre la création et l'accès à une instance EC2 ou à un volume EBS ?
Pour les principaux qui ne sont pas des utilisateurs IAM, tels que les utilisateurs fédérés, utilisez la variable aws:userid à la place de aws:username. La valeur de la variable aws:userid est account:caller-specified-name. Pour en savoir plus, consultez les sections Éléments de la politique IAM : Variables et identifications et Comment utiliser des variables de politique IAM avec des utilisateurs fédérés ?
Associer la politique IAM aux utilisateurs ou aux groupes auxquels vous souhaitez accorder un accès aux instances
Pour associer la politique IAM à vos utilisateurs ou groupes, suivez les instructions figurant dans la section Ajouter des autorisations d'identité IAM (console). Vous pouvez également utiliser l’interface de la ligne de commande AWS (AWS CLI) ou l’API AWS.
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre les erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface.
Informations connexes
Octroi des autorisations requises pour les ressources Amazon EC2
Politiques basées sur l'identité sur Amazon EC2
Didacticiel IAM : Définir des autorisations d’accès aux ressources AWS en fonction des identifications
Ajouter des identifications aux ressources Amazon EC2