L’IAM dans AWS peut être difficile à utiliser et à comprendre, surtout pour les nouveaux utilisateurs. Ne vous inquiétez pas cependant ! Si vous avez du mal à comprendre le fonctionnement de l’IAM dans la gestion des autorisations des utilisateurs dans AWS, vous êtes au bon endroit pour comprendre ce qui est possible avec l’IAM.
Dans ce tutoriel, vous apprendrez les concepts de base de l’IAM en vous guidant à travers une série d’exemples qui se complètent mutuellement.
Prêt ? Prenez une grande respiration et plongez !
Prérequis
Ce tutoriel sera une démonstration pratique. Si vous souhaitez suivre, assurez-vous d’avoir un PC et un compte AWS. Si vous n’avez pas de compte AWS, un compte de niveau gratuit est disponible.
Création d’utilisateurs IAM dans AWS
Avant de comprendre le fonctionnement de l’IAM, vous commencerez ce tutoriel en créant des utilisateurs. Les utilisateurs peuvent être utilisés pour toutes sortes de choses. Mais pour ce tutoriel, vous créerez des utilisateurs qui n’ont aucune autorisation, n’appartiennent à aucun groupe et n’ont accès à rien du tout.
1. Connectez-vous à la Console AWS. Cette démonstration utilise un nom d’utilisateur appelé cloud_user, mais votre nom d’utilisateur sera différent.

2. Dans la console AWS, tapez IAM dans la zone de recherche, puis cliquez sur le service IAM qui apparaît, comme indiqué ci-dessous. Votre navigateur sera redirigé vers le tableau de bord IAM.

IAM est un service mondial, ce qui signifie que les utilisateurs et leurs autorisations s’appliquent à l’ensemble de votre compte/région AWS. Si plusieurs personnes partagent un compte AWS (ce qui est très courant, par exemple dans le cas d’une équipe de développement à l’échelle de l’entreprise), vous devrez vous assurer d’une rotation adéquate du personnel IAM.
De plus, vous pouvez créer une instance EC dans la région us-east. Les instances sont régionales. Cependant, les contrôles de gestion des identités et des accès AWS ne sont pas régionaux. Les autorisations attribuées à un utilisateur s’appliqueront indépendamment de la région à laquelle l’instance EC à laquelle les utilisateurs se connectent est située.

4. Sur le tableau de bord IAM, cliquez sur Utilisateurs dans le volet de gauche, puis cliquez sur Ajouter des utilisateurs en haut à droite de la page pour initialiser l’ajout d’utilisateurs.

Maintenant, configurez les détails de l’utilisateur comme suit :
- Indiquez un nom d’utilisateur dans le champ Nom d’utilisateur indiqué ci-dessous. Pour cet exemple, le nom d’utilisateur est défini sur utilisateur-1.
- Activez l’option Mot de passe – accès à la console de gestion AWS pour permettre aux utilisateurs de se connecter à la console de gestion AWS.
- Sélectionnez l’option Mot de passe personnalisé pour le Mot de passe de la console, et fournissez un mot de passe sécurisé dans le champ texte.
- Décochez l’option Demander une réinitialisation du mot de passe afin que l’utilisateur ne soit pas invité à créer un nouveau mot de passe lors de la prochaine connexion, puis cliquez sur Suivant : Autorisation.

5. Ignorer le réglage des autorisations et cliquer sur Suivant: Tags car vous créez un utilisateur qui n’a pas de permissions.

6. Également ignorer l’ajout de tags et cliquer sur Suivant: Révision.

7. Examiner les détails de l’utilisateur et cliquer sur Créer l’utilisateur pour finaliser la création de l’utilisateur.

Après avoir créé l’utilisateur, vous obtiendrez un écran de Succès comme celui ci-dessous.

8. Revenez maintenant à la page Utilisateurs de votre tableau de bord IAM, et cliquez sur le nouvel utilisateur créé (utilisateur-1) pour afficher les informations de l’utilisateur. Ouvrir votre utilisateur-1

Ci-dessous, sous l’onglet Autorisations et Groupes, vous pouvez voir que utilisateur-1 n’a aucune autorisation associée et n’est membre d’aucun groupe.


Dans l’onglet Informations d’identification de sécurité, vous verrez différents clés d’accès que utilisateur-1 pourrait avoir. Vous pouvez télécharger une clé publique SSH sur cet onglet, ce qui est idéal pour vos instances AWS EC2.

L’onglet Conseiller d’accès vous montre les services auxquels utilisateur-1 a accédé, directement ou via d’autres services, ainsi que la dernière fois où utilisateur-1 a accédé à ce service.

9. Enfin, répétez le processus (étapes trois à sept) pour créer deux autres utilisateurs (utilisateur-2 et utilisateur-3). Retournez à la page Utilisateurs de votre tableau de bord IAM et vous verrez une liste similaire à celle ci-dessous.

Création des groupes d’utilisateurs
Maintenant que vous avez créé les utilisateurs, il est temps de créer des groupes. Vous créerez des groupes en utilisant la politique gérée par AWS et un fichier JSON.
Pour ce tutoriel, vous créerez trois groupes :
- EC2-Admin : Fournit des autorisations pour afficher, démarrer et arrêter les instances EC2
- EC2-Support : Fournit un accès en lecture seule à EC2
- S3-Support : Fournit un accès en lecture seule à S3
Pour commencer à créer des groupes d’utilisateurs :
1. Dans votre tableau de bord IAM, cliquez sur Groupes d’utilisateurs dans le volet de gauche, puis cliquez sur Créer un groupe.
2. Fournissez un Nom de groupe d’utilisateurs (EC2-Admin) sur la page Créer un groupe d’utilisateurs, comme indiqué ci-dessous.

Conservez les autorisations par défaut et cliquez sur Créer un groupe pour finaliser la création du groupe EC2-Admin.

Une fois que vous avez créé le nouveau groupe, vous obtiendrez le message Groupe d’utilisateurs EC2-Admin créé en haut de la page, comme indiqué ci-dessous. Votre navigateur redirige ensuite automatiquement vers la page Groupes d’utilisateurs (étape trois).

3. Cliquez sur le groupe EC2-Admin sous la colonne Nom du groupe pour afficher les informations récapitulatives du groupe où vous pouvez ajouter des stratégies intégrées (étape quatre).

4. Cliquez maintenant sur l’onglet Autorisations -> Ajouter des autorisations -> Créer une stratégie intégrée pour créer une stratégie intégrée. Les stratégies intégrées sont généralement associées directement aux utilisateurs et utilisées pour appliquer des autorisations dans des situations ponctuelles.
Par exemple, votre équipe migre un ancien environnement EC2 vers un nouveau. Vous voulez vous assurer que l’administrateur de l’ancienne instance EC2 a accès pour démarrer/arrêter et copier les paramètres du groupe de sécurité vers la nouvelle instance EC2.

5. Sur la page Créer une politique, cliquez sur l’onglet JSON ci-dessous pour ouvrir un éditeur JSON où vous allez créer une politique.

6. Collez le code (politique) ci-dessous dans le champ de l’éditeur et cliquez sur Examiner la politique pour créer une politique en ligne. Cette politique en ligne est préconstruite soit par AWS, soit par un administrateur à l’intérieur de votre compte AWS que vous pouvez utiliser, personnaliser ou modifier pour répondre exactement à vos besoins.
Avec cette politique, les membres du groupe EC2-Admin sont autorisés à démarrer ("ec2:StartInstances"
), arrêter ("ec2:StopInstances"
) et consulter ("ec2:Describe*"
) les instances EC2. Ils sont autorisés (”Effect”: “Allow”
) à effectuer des actions sur toutes les ressources ("Resource": "*"
). Ces actions sont liées aux appels programmatiques ou API d’AWS en essence.
Les membres du groupe EC2-Admin ont également l’autorisation de consulter tous les équilibreurs de charge élastiques (Action": "elasticloadbalancing:Describe
), de répertorier les métriques (cloudwatch:ListMetrics
), d’obtenir des statistiques sur les métriques cloudwatch:GetMetricStatistics
et de décrire les métriques (cloudwatch:Describe
).
Les métriques CloudWatch sont automatiquement configurées avec votre instance EC2, et la même chose s’applique au service Auto Scaling.

7. Passez en revue le résumé de la politique et cliquez sur Enregistrer les modifications pour sauvegarder la politique.

8. Maintenant, accédez à nouveau à votre tableau de bord IAM et initialisez la création d’un groupe comme vous l’avez fait à l’étape deux. Mais cette fois, nommez le nom du groupe d’utilisateurs comme EC2-Support.
Faites défiler vers le bas, recherchez AmazonEC2ReadOnlyAccess dans la boîte de recherche des politiques de permissions à attacher pour attacher cette politique au groupe (EC2-Support) :
AmazonEC2ReadOnlyAccess est une politique gérée similaire à une politique en ligne car elle peut également être attachée à plusieurs utilisateurs ou groupes d’utilisateurs. Mais contrairement à la politique en ligne, ce type de politique créé par les administrateurs est réutilisable et peut être partagé dans votre organisation ou avec tous les comptes AWS de votre compte.
A managed policy is a shared policy. As a result, all users or groups of users who use the shared policy will have updated permissions automatically when the policy is updated.
Cette fonctionnalité de mise à jour automatique rend les politiques gérées plus attrayantes que les politiques en ligne. Avec les politiques en ligne, chaque autorisation doit être mise à jour par l’administrateur si la politique est modifiée.
Cochez l’option AmazonEC2ReadOnlyAccess et cliquez sur Créer un groupe pour finaliser la création du groupe.

10. Maintenant, répétez les étapes huit à neuf pour créer le groupe S3-Support avec une politique gérée AmazonS3ReadOnlyAccess. Une fois que vous avez créé le groupe S3-Support, vous aurez une liste de groupes similaire à celle ci-dessous qui montre que chaque groupe a des permissions définies.

Ajout d’utilisateurs à leurs groupes appropriés
Vous avez créé les utilisateurs et les groupes avec des permissions définies. Maintenant, il est temps d’ajouter les utilisateurs à leurs groupes appropriés. Vous ouvrirez la page de résumé de chaque groupe et ajouterez manuellement un utilisateur à ce groupe.
Le tableau ci-dessous montre les groupes appropriés où vous ajouterez chaque utilisateur :
Users | In-group | Permissions |
---|---|---|
user-1 | S3-Support | Read-only access to S3 Bucket |
user-2 | EC2-Support | Read-only access to EC2 Instance |
user-3 | EC2-Admin | Full EC2 Access (View/Start/Stop) |
1. Dans votre tableau de bord IAM, accédez à la page des Groupes d’utilisateurs, puis cliquez sur le groupe S3-Support indiqué ci-dessous pour accéder à la page de résumé du groupe.

2. Ensuite, cliquez sur l’onglet Utilisateurs -> Ajouter des utilisateurs pour commencer à ajouter des utilisateurs au groupe. Votre navigateur vous redirige vers une page où vous verrez une liste d’utilisateurs qui n’appartiennent encore à aucun groupe (étape trois).

3. Cochez la case devant utilisateur-1, puis cliquez sur Ajouter des utilisateurs pour ajouter l’utilisateur au groupe S3-Support. Votre navigateur vous redirige alors automatiquement vers la page de résumé du groupe S3-Support.

Ci-dessous, vous pouvez voir que l’utilisateur-1 fait maintenant partie du groupe S3-Support.

4. Répétez les étapes un à trois pour ajouter l’utilisateur-2 et l’utilisateur-3 à leurs groupes respectifs.
5. Enfin, accédez à la page des Groupes d’utilisateurs et vous verrez que les groupes ont désormais un utilisateur chacun, comme sur la capture d’écran ci-dessous.

Tester les autorisations des utilisateurs fonctionnent correctement
Vous avez créé complètement des utilisateurs dans leurs propres groupes avec des autorisations définies. Mais comment savez-vous si cela fonctionne ? Il est temps de vérifier que les autorisations fonctionnent comme prévu, et il existe différentes façons de le faire. L’une des façons les plus courantes est d’utiliser la console de gestion AWS basée sur le Web.
1. Accédez à votre tableau de bord IAM et copiez l’URL de connexion de l’utilisateur IAM dans le panneau de droite, comme indiqué ci-dessous.

2. Sur votre navigateur Web, accédez à l’URL de connexion que vous avez notée précédemment (étape un), et connectez-vous avec les informations d’identification de l’utilisateur-1. Google Chrome et Firefox sont les navigateurs les plus recommandés pour cette tâche.

3. Tapez S3 dans la zone de recherche, et cliquez sur le lien S3 ci-dessous pour accéder à la page Amazon S3 Buckets.

4. Maintenant, cliquez sur Créer un bucket pour initialiser la création d’un bucket S3.

5. Entrez un nom de bucket dans la section Configuration générale, puis cliquez sur Créer un bucket pour tenter de créer un bucket S3.


Si vous vous en souvenez, vous avez attaché la politique AmazonS3ReadOnlyAccess à l’utilisateur-1, ce qui donne uniquement à l’utilisateur-1 la permission en lecture seule de visualiser les buckets S3. Par conséquent, si l’utilisateur-1 tente de créer, supprimer ou mettre à jour un bucket S3, le message d’erreur ci-dessous s’affichera.
Le message d’erreur ci-dessous indique que la permission que vous avez définie pour l’utilisateur-1 fonctionne correctement.

Notez également que l’utilisateur-1 n’a aucune permission EC2. Donc, pour vérification, accédez à votre tableau de bord EC2, et vous obtiendrez de nombreuses erreurs d’API qui apparaissent comme dans la capture d’écran ci-dessous.
Vous obtenez ces erreurs en raison du principe du moindre privilège (PoLP). PoLP est le concept selon lequel tout compte utilisateur ou processus d’un système d’exploitation doit avoir les privilèges absolument minimums nécessaires pour accomplir une tâche.

6. Maintenant, déconnectez-vous de l’utilisateur-1 et connectez-vous en tant qu’utilisateur-2, puis accédez à votre tableau de bord EC2.

7. Cliquez sur une instance EC2 en cours d’exécution pour afficher les autorisations de l’utilisateur-2. Comme indiqué ci-dessous, vous obtiendrez des informations sur l’instance comme l’ID d’instance, l’adresse IPv4 publique, etc.

8. Cliquez sur l’état de l’instance à l’extrême droite de la page et choisissez l’option Arrêter l’instance, Redémarrer l’instance ou Terminer l’instance pour tester les autorisations de l’utilisateur-2.

Il faut se rappeler que l’utilisateur-2 n’a que des droits en lecture seule pour les instances EC2 (AmazonEC2ReadOnlyAccess). Donc, si un utilisateur essaie de manipuler une instance EC2, le message d’erreur ci-dessous s’affiche.
Obtenir l’erreur ci-dessous indique que les autorisations de l’utilisateur-2 fonctionnent correctement.

9. Enfin, déconnectez-vous de l’utilisateur-2, puis connectez-vous en tant qu’utilisateur-3 et essayez de manipuler des instances EC2 qui s’exécutent dans votre compte. Étant donné que l’utilisateur-3 a des autorisations EC2 complètes, vous pouvez démarrer, arrêter ou terminer une instance sans obtenir de message d’erreur.
Conclusion
Tout au long de ce tutoriel, vous avez appris à créer des utilisateurs IAM et des groupes d’utilisateurs avec des politiques définies. Vous avez également abordé la vérification des autorisations en essayant de modifier l’état d’une instance EC2 et de créer un compartiment S3.
À ce stade, vous avez maintenant votre configuration de base pour les utilisateurs IAM et les groupes afin de gérer les autorisations des utilisateurs. Bien sûr, vous pouvez toujours ajouter plus d’utilisateurs à votre compte et appliquer d’autres politiques selon vos besoins.
Maintenant, quelle est la prochaine étape pour développer vos nouvelles connaissances? Peut-être envisager la configuration de vos services EC2 sur Auto-Scaling pour travailler avec IAM.