Je souhaite créer une politique de gestion des identités et des accès (IAM) AWS qui contrôle l'accès aux instances Amazon Elastic Compute Cloud (Amazon EC2) à l'aide de balises.
Brève description
Contrôlez l'accès à des déploiements plus restreints d'instances Amazon EC2 comme suit :
1. Ajoutez une balise spécifique aux instances auxquelles vous souhaitez donner accès aux utilisateurs ou aux groupes.
2. Créez une Politique IAM qui donne accès à toutes les instances disposant de la balise spécifiée.
3. Attachez la Politique IAM aux utilisateurs ou aux groupes auxquels vous souhaitez donner l'accès aux instances.
Solution
Ajouter une balise au groupe d'instances EC2
Ouvrez la console Amazon EC2, puis ajoutez des balises au groupe d'instances EC2 auxquelles les utilisateurs ou groupes doivent accéder. Si vous n'avez pas encore de tag, créez-en un nouveau.
Remarque : veillez à lire et comprendre les restrictions liées aux balises avant de baliser les ressources. Les balises Amazon EC2 sont sensibles à la casse.
Créer une stratégie IAM qui octroie l'accès aux instances avec la balise spécifique
Créez une stratégie IAM qui effectue les opérations suivantes :
- Autorise le contrôle sur les instances disposant de la balise.
- Contient une instruction conditionnelle qui permet d'accéder à des ressources Amazon EC2 si la valeur de la clé de condition ec2:ResourceTag/UserName correspond à la variable de stratégie aws:username. La variable de stratégie ${aws:username} est remplacée par le nom convivial de l’IAM actuelle lorsque la stratégie est évaluée par IAM.
- Autorise l'accès aux actions ec2:Describe* pour les ressources Amazon EC2.
- Refuse explicitement l'accès aux actions ec2:CreateTags et ec2:DeleteTags pour empêcher les utilisateurs de créer ou de supprimer des balises.
Remarque : cela empêche l'utilisateur de prendre le contrôle d'une instance EC2 en y ajoutant la balise spécifique.
La stratégie finie se présente comme suit :
{
"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 stratégie s'applique aux instances Amazon EC2 qui utilisent la clé de condition ec2:ResourceTag. Pour restreindre le lancement de nouvelles instances Amazon EC2 à l'aide de balises, consultez Comment utiliser les balises de stratégie IAM pour limiter le mode de création d'une instance EC2 ou d'un volume EBS ?
Associer la stratégie IAM aux utilisateurs ou groupes qui doivent accéder aux instances
Enfin, associez la stratégie IAM que vous avez créée aux utilisateurs ou groupes qui doivent accéder aux instances. Vous pouvez associer la stratégie IAM en utilisant AWS Management Console, l'interface de ligne de commande (CLI) AWS ou l’API AWS.
Informations connexes
Octroi des autorisations requises pour les ressources Amazon EC2
Stratégies IAM pour Amazon EC2