Comment puis-je créer une politique IAM pour contrôler l’accès aux ressources Amazon EC2 par le biais de balises ?

Lecture de 3 minute(s)
0

Je souhaite créer une politique AWS Identity and Access Management (AWS IAM) qui contrôle l’accès aux instances Amazon Elastic Compute Cloud (Amazon EC2) par le biais de balises.

Brève description

Contrôlez l’accès aux petits déploiements d’instances Amazon EC2 comme suit :

  1. Ajoutez une balise spécifique aux instances auxquelles vous souhaitez autoriser les utilisateurs ou les groupes à accéder.
  2. Créez une politique IAM qui autorise l’accès à toutes les instances dotées de la balise spécifique.
  3. Attachez la politique IAM aux utilisateurs ou aux groupes auxquels vous souhaitez accorder un accès aux instances.

Résolution

Ajouter une balise à votre groupe d’instances EC2

Ouvrez la console Amazon EC2. Ensuite, ajoutez des balises au groupe d’instances EC2 auquel vous souhaitez que les utilisateurs ou les groupes puissent accéder. Si vous n’avez pas encore de balise, créez-en une nouvelle.
Remarque : assurez-vous de lire et de comprendre les restrictions relatives aux balises avant de baliser vos ressources. Les balises Amazon EC2 sont sensibles à la casse.

Créer une politique IAM autorisant l’accès aux instances dotées de la balise spécifique

Créez une politique IAM qui :

  • Autorise le contrôle des instances dotées de la balise.
  • Contient une instruction conditionnelle qui autorise l’accès aux ressources Amazon EC2 si la valeur de la clé de condition ec2:ResourceTag/UserName correspond à la variable de politique aws:username. La variable de politique ${aws:username} est remplacée par le nom convivial de l’utilisateur IAM actuel lorsque la politique 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. Cette mesure empêche l’utilisateur de prendre le contrôle d’une instance EC2 en y ajoutant la balise spécifique.

La politique finale ressemble à l’exemple suivant :

Remarque : cette politique 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 la page Comment puis-je utiliser les balises de politique IAM pour restreindre le mode de création d’une instance EC2 ou d’un volume EBS ?

{
  "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 : pour les principaux qui ne sont pas des utilisateurs IAM, tels que les jeux d’autorisations IAM Identity Center ou les utilisateurs fédérés, utilisez la variable aws:userid au lieu de aws:username. La valeur de la variable aws:userid est account:caller-specified-name. Pour en savoir plus, consultez les pages Éléments de politique IAM : variables et balises et Comment utiliser des variables de politique IAM avec des utilisateurs fédérés ?

Attacher la politique IAM aux utilisateurs ou aux groupes auxquels vous souhaitez accorder un accès aux instances

Attachez la politique IAM aux utilisateurs ou aux groupes auxquels vous souhaitez accorder un accès aux instances. Vous pouvez attacher la politique IAM à l’aide de la console de gestion AWS, de l’interface de la ligne de commande AWS ou de l’API AWS.

Informations connexes

Octroi des autorisations requises pour les ressources Amazon EC2

Politiques IAM pour Amazon EC2

Tutoriel IAM : définition des autorisations d’accès aux ressources AWS en fonction des balises

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 4 mois