Comment créer une stratégie IAM pour contrôler l'accès aux ressources Amazon EC2 en utilisant des balises ?

Date de la dernière mise à jour : 18/08/2020

Comment créer une stratégie AWS Identity and Access Management (IAM) qui contrôle l'accès aux instances Amazon Elastic Compute Cloud (Amazon EC2) en utilisant des balises ?

Brève description

Vous pouvez contrôler l'accès aux petits déploiements d'instances Amazon EC2 comme suit :

  1. Ajoutez une balise spécifique pour les instances auxquelles les utilisateurs ou les groupes sont autorisés à accéder.
  2. Créez une stratégie IAM qui autorise l’accès aux instances avec la balise spécifique.
  3. Associez la stratégie IAM aux utilisateurs ou groupes que vous voulez autoriser à accéder 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 ne disposez pas déjà d’une balise, créez-en une.

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


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?