Demo Instructions : Créer et gérer des utilisateurs et groupes AWS IAM
Instruction de Labs
Créer et gérer des utilisateurs et groupes AWS IAM
Présentation
AWS Identity and Access Management (AWS IAM) permet de contrôler qui peut accéder aux ressources AWS et quelles actions peuvent être effectuées.
IAM permet notamment de gérer :
- des identités ;
- des utilisateurs IAM ;
- des groupes d’utilisateurs ;
- des rôles ;
- des policies ;
- des permissions.
Dans ce lab, vous allez explorer un environnement IAM déjà configuré.
Afin de travailler sur IAM sans créer de nouvelles identités ni modifier les permissions du compte, plusieurs utilisateurs, groupes et policies ont été pré-provisionnés.
Vous allez comparer trois utilisateurs disposant de permissions différentes :
- un utilisateur disposant de permissions de lecture sur Amazon S3 ;
- un utilisateur disposant de permissions de lecture sur Amazon EC2 ;
- un utilisateur appartenant aux deux groupes et cumulant les permissions correspondantes.
Vous observerez comment les permissions sont accordées aux utilisateurs à travers leur appartenance à des groupes IAM.
Aucune ressource IAM ne sera créée, modifiée ou supprimée pendant ce lab.
Niveau : Débutant
Difficulté : Facile
Durée estimée : 15 à 20 minutes
Région AWS : Global
AWS IAM n’est pas un service régional.
Les utilisateurs, groupes et policies IAM sont définis au niveau du compte AWS.
Services AWS utilisés
- AWS Identity and Access Management — IAM
Notions CLF-C02 couvertes
Security and Compliance : IAM, permissions, principe du moindre privilège
Impact coût : Aucun coût additionnel pour les ressources IAM utilisées dans ce lab.
Nettoyage manuel requis : Non.
Aucune ressource n’est créée ou modifiée pendant ce lab.
Environnement du lab
Plusieurs ressources IAM sont automatiquement créées avant le démarrage du lab.
Elles sont utilisées uniquement à des fins pédagogiques.
Ressources préinitialisées
Utilisateurs IAM préinitialisés
Utilisateur S3
Nom :
lab-user-s3
Cet utilisateur appartient au groupe :
lab-group-s3-readers
Il reçoit ainsi des permissions de lecture sur Amazon S3.
Utilisateur EC2
Nom :
lab-user-ec2
Cet utilisateur appartient au groupe :
lab-group-ec2-readers
Il reçoit ainsi des permissions permettant de consulter des informations sur les ressources Amazon EC2.
Utilisateur multi-groupes
Nom :
lab-user-multi
Cet utilisateur appartient aux deux groupes :
lab-group-s3-readers
172.
lab-group-ec2-readers
Il reçoit donc les permissions accordées par les deux groupes.
Groupes IAM préinitialisés
Groupe S3
Nom :
lab-group-s3-readers
Policy associée :
lab-policy-s3-readonly
La DB instance elle-même ne sera toutefois exécutée que dans une seule Availability Zone dans ce lab.
Cette policy autorise uniquement certaines actions de consultation sur Amazon S3.
Groupe EC2
Nom :
lab-group-ec2-readers
Policy associée :
lab-policy-ec2-readonly
Cette policy autorise uniquement certaines actions de consultation sur Amazon EC2.
Policies préinitialisées
Policy S3
Nom :
lab-policy-s3-readonly
Cette policy contient des autorisations de lecture sur Amazon S3.
Elle autorise notamment des actions permettant de :
- lister les buckets ;
- consulter leur localisation ;
- lister les objets ;
- lire des objets.
Elle n’accorde pas de permission permettant de créer ou de supprimer des ressources S3.
Policy EC2
Nom :
lab-policy-ec2-readonly
Cette policy contient principalement des actions :
ec2:Describe*
Ces actions permettent de consulter les informations relatives aux ressources Amazon EC2.
Elles ne permettent pas de lancer, arrêter, modifier ou supprimer des instances.
Sécurité de l’environnement
Les utilisateurs IAM utilisés dans ce lab sont des identités pédagogiques.
Ils ne disposent pas :
- de mot de passe permettant une connexion à la console AWS ;
- d’Access Keys pour un accès programmatique.
Vous ne vous connecterez jamais avec ces utilisateurs.
Votre propre session de lab possède uniquement les permissions nécessaires pour consulter les utilisateurs, groupes et policies IAM nécessaires à cet exercice.
Les actions permettant de créer, modifier ou supprimer des ressources IAM ne sont pas nécessaires dans ce lab.
Important
Dans un environnement réel, AWS recommande généralement d’utiliser des identités fédérées et des credentials temporaires pour les utilisateurs humains plutôt que de créer des utilisateurs IAM disposant de credentials permanents.
Les utilisateurs IAM présents ici existent uniquement pour illustrer le fonctionnement d’IAM.
Objectifs pédagogiques
À la fin de ce lab, vous serez capable de :
- identifier un utilisateur IAM ;
- identifier un groupe IAM ;
- identifier une policy IAM ;
- comprendre la relation entre utilisateurs, groupes et policies ;
- comprendre comment un utilisateur hérite des permissions de ses groupes ;
- comparer les permissions de plusieurs utilisateurs ;
- comprendre qu’un utilisateur peut appartenir à plusieurs groupes ;
- lire les éléments essentiels d’une policy IAM ;
- comprendre le principe du moindre privilège ;
- comprendre qu’une action non autorisée est refusée par défaut.
Vérification avant de démarrer
Étape 1 — Accéder à AWS IAM
Connectez-vous à la console AWS.
Dans la barre de recherche, saisissez :
IAM
Sélectionnez :
IAM — Identity and Access Management
Vous arrivez sur le tableau de bord IAM.
Étape 2 — Observer que IAM est global
Contrairement à Amazon EC2, Amazon RDS ou Amazon VPC, IAM n’utilise pas une Région particulière pour gérer les utilisateurs et les groupes du compte.
Vous n’avez donc pas besoin de sélectionner :
eu-west-1
pour retrouver les ressources de ce lab.
À retenir
IAM est un service global.
Les utilisateurs et groupes IAM appartiennent au compte AWS et ne sont pas créés séparément dans chaque Région.
Étape 3 — Vérifier les utilisateurs du lab
Dans le menu IAM, sélectionnez :
Users
Vous devriez retrouver :
lab-user-s3
lab-user-ec2
lab-user-multi
Ne modifiez aucun utilisateur.
Si les trois utilisateurs sont présents, l’environnement du lab est correctement initialisé.
Étape 4 — Vérifier les groupes du lab
Dans le menu IAM, ouvrez :
User groups
Vous devriez retrouver :
lab-group-s3-readers
lab-group-ec2-readers
Ne modifiez aucun groupe.
Explorer le premier utilisateur
Étape 5 — Ouvrir lab-user-s3
Retournez dans :
IAM → Users
Sélectionnez :
lab-user-s3
La page de l’utilisateur s’affiche.
Prenez quelques instants pour observer les informations disponibles.
Étape 6 — Identifier les groupes de l’utilisateur
Dans la page de :
lab-user-s3
ouvrez la section ou l’onglet affichant les groupes de l’utilisateur.
Vous devriez constater qu’il appartient à :
lab-group-s3-readers
Il n’appartient pas à :
lab-group-ec2-readers
Étape 7 — Examiner ses permissions
Ouvrez :
Permissions
Vous devriez constater que les permissions de cet utilisateur proviennent du groupe :
lab-group-s3-readers
La policy concernée est :
lab-policy-s3-readonly
L’utilisateur n’a pas besoin d’une policy directement attachée à son identité.
À retenir
Un utilisateur IAM peut recevoir des permissions grâce aux groupes auxquels il appartient.
Cela permet de gérer les permissions de plusieurs utilisateurs de manière centralisée.
Explorer le groupe S3
Étape 8 — Ouvrir le groupe
Accédez à :
IAM → User groups
Sélectionnez :
lab-group-s3-readersla possibilité de restaurer les données sont des éléments importants de la stratégie de résilience.
Étape 9 — Observer les utilisateurs du groupe
Dans :
Users
vous devriez retrouver :
lab-user-s3
173.
lab-user-multi
Ces deux utilisateurs bénéficient donc des permissions accordées au groupe.
Étape 10 — Observer la policy du groupe
Ouvrez :
Permissions
Repérez :
lab-policy-s3-readonly
Sélectionnez cette policy afin d’en consulter le contenu.
Étape 11 — Explorer la policy S3
Dans les informations de la policy, ouvrez la vue permettant d’afficher ses permissions ou son document JSON.
Repérez notamment :
Effect
Allow
Service
Amazon S3
Actions
Vous devriez retrouver des actions de lecture telles que :
s3:ListAllMyBuckets
s3:GetBucketLocation
s3:ListBucket
s3:GetObject
À retenir
Une policy IAM décrit les permissions accordées ou refusées.
Les policies IAM sont représentées sous forme de documents JSON.
Étape 12 — Identifier l’effet de la policy
La policy contient :
“Effect”: “Allow”
Cela signifie que les actions indiquées dans la policy sont autorisées lorsque les autres conditions applicables sont satisfaites.
L’utilisateur :
lab-user-s3
peut donc effectuer les actions S3 autorisées par cette policy.
En revanche, cette policy ne lui donne pas automatiquement des permissions sur Amazon EC2.
Explorer le deuxième utilisateur
Étape 13 — Ouvrir lab-user-ec2
Retournez dans :
IAM → Users
Sélectionnez :
lab-user-ec2
Étape 14 — Identifier son groupe
Consultez ses groupes.
Vous devriez voir :
lab-group-ec2-readers
Cet utilisateur n’appartient pas au groupe S3.
Étape 15 — Examiner ses permissions
Ouvrez :
Permissions
Repérez la policy héritée du groupe :
lab-policy-ec2-readonly
Explorer le groupe EC2
Étape 16 — Ouvrir le groupe
Dans :
IAM → User groups
sélectionnez :
lab-group-ec2-readers
Étape 17 — Observer les membres
Vous devriez retrouver :
lab-user-ec2
174.
lab-user-multi
Étape 18 — Examiner la policy EC2
Dans :
Permissions
sélectionnez :
lab-policy-ec2-readonly
Consultez les permissions ou le document JSON.
Vous devriez notamment observer des actions correspondant à :
ec2:Describe*
Le caractère :
*
est utilisé ici comme caractère générique.
Il représente plusieurs actions EC2 commençant par :
Describe
Par exemple, ces permissions permettent de consulter des informations relatives aux ressources EC2.
Elles ne donnent pas pour autant la permission de lancer ou supprimer une instance.
À retenir
Une permission de lecture ne signifie pas que l’utilisateur peut modifier la ressource.
IAM permet de définir précisément les actions qu’une identité est autorisée à effectuer.
Comparer les deux utilisateurs
Étape 19 — Comparer lab-user-s3 et lab-user-ec2
Vous pouvez maintenant comparer leurs permissions.
Les deux utilisateurs appartiennent au même compte AWS, mais ils ne disposent pas des mêmes permissions.
À retenir
IAM permet de donner des permissions différentes à différentes identités dans un même compte AWS.
Explorer l’utilisateur multi-groupes
Étape 20 — Ouvrir lab-user-multi
Dans :
IAM → Users
sélectionnez :
lab-user-multi
Étape 21 — Examiner ses groupes
Consultez les groupes de cet utilisateur.
Vous devriez retrouver :
lab-group-s3-readers
et :
lab-group-ec2-readers
Cet utilisateur appartient donc simultanément à deux groupes.
Étape 22 — Examiner ses permissions
Ouvrez :
Permissions
Observez les policies dont l’utilisateur bénéficie grâce à ses groupes.
Vous devriez retrouver :
lab-policy-s3-readonly
et :
lab-policy-ec2-readonly
Étape 23 — Comprendre le cumul des permissions
Puisque :
lab-user-multi
appartient aux deux groupes, il bénéficie des permissions accordées par les deux ensembles de policies.
Il peut donc disposer :
- des permissions de lecture Amazon S3 définies dans lab-policy-s3-readonly ;
- des permissions de consultation Amazon EC2 définies dans lab-policy-ec2-readonly.
À retenir
Un utilisateur IAM peut appartenir à plusieurs groupes.
Les permissions accordées par ces groupes peuvent se combiner.
Comparer les trois profils
Étape 24 — Résumer les permissions
Vous disposez maintenant de trois profils distincts.
Cette configuration permet de comprendre pourquoi il est utile d’utiliser des groupes pour organiser les permissions.
Comprendre utilisateurs, groupes et policies
Étape 25 — Identifier le rôle de chaque composant
Utilisateur IAM
Représente une identité dans un compte AWS.
Exemple :
lab-user-s3
Groupe IAM
Regroupe plusieurs utilisateurs ayant des besoins de permissions similaires.
Exemple :
lab-group-s3-readers
Policy IAM
Décrit les permissions.
Exemple :
lab-policy-s3-readonly
La relation observée dans ce lab est donc :
Utilisateur → Groupe → Policy → Permissions
Étape 26 — Comprendre l’intérêt des groupes
Imaginez qu’une organisation dispose de 50 personnes qui doivent toutes consulter des ressources Amazon EC2.
Au lieu d’associer la même policy individuellement à chaque utilisateur, l’organisation peut :
- créer un groupe correspondant à cette fonction ;
- associer les permissions au groupe ;
- placer les utilisateurs concernés dans ce groupe.
Une modification des permissions du groupe peut alors s’appliquer à tous ses membres.
À retenir
Les groupes simplifient l’administration des permissions lorsque plusieurs utilisateurs ont des besoins similaires.
Comprendre le moindre privilège
Étape 27 — Comparer les besoins des utilisateurs
Considérez :
lab-user-s3
Cet utilisateur a uniquement besoin de consulter des ressources S3.
Il n’est donc pas nécessaire de lui accorder des permissions permettant :
- de gérer Amazon EC2 ;
- de supprimer des buckets ;
- de modifier IAM ;
- d’administrer le compte AWS.
Cette approche correspond au principe du :
moindre privilège
ou :
least privilege
À retenir
Le principe du moindre privilège consiste à accorder uniquement les permissions
nécessaires pour accomplir une tâche.
Comprendre les permissions par défaut
Étape 28 — Comprendre le refus implicite
Supposons que :
lab-user-s3
Par défaut, cette action n’est pas autorisée.
C’est ce que l’on appelle un :
implicit deny
ou :
refus implicite
Il n’est pas nécessaire d’écrire une règle Deny pour chaque action que l’utilisateur ne doit pas effectuer.
À retenir
Dans IAM, une action doit être explicitement autorisée pour être permise.
En l’absence d’autorisation applicable, la demande est refusée par défaut.
Comprendre Allow et Deny
Étape 29 — Observer Effect
Retournez dans l’une des policies du lab.
Repérez :
"Effect": "Allow"
IAM permet également d’utiliser :
"Effect": "Deny"
Un refus explicite peut être utilisé pour interdire certaines actions.
À retenir
Une règle Deny explicite applicable prend priorité sur une règle Allow.
Vous n’avez pas besoin de modifier les policies pour observer ce mécanisme.
Observer les credentials
Étape 30 — Revenir sur un utilisateur
Ouvrez par exemple :
IAM → Users → lab-user-s3
Consultez la section relative aux :
Security credentials
Observez que cet utilisateur pédagogique ne dispose pas de credentials utilisables pour se connecter ou effectuer des appels programmatiques.
Il ne possède notamment aucune Access Key créée pour ce lab.
Vous n’avez rien à modifier.
Étape 31 — Comprendre identité et credentials
Un utilisateur IAM et ses credentials représentent deux concepts différents.
L’utilisateur :
lab-user-s3
est une identité IAM.
Des credentials pourraient permettre à cette identité de s’authentifier.
Par exemple :
- un mot de passe console ;
- une Access Key.
Dans ce lab, aucun credential permanent n’est configuré pour les utilisateurs pédagogiques.
Bonnes pratiques pour les utilisateurs humains :
Les utilisateurs IAM permettent de comprendre les mécanismes fondamentaux d’IAM.
Cependant, pour les utilisateurs humains d’une organisation, AWS recommande aujourd’hui de privilégier l’accès fédéré avec des credentials temporaires, notamment via AWS IAM Identity Center, plutôt que de multiplier les utilisateurs IAM utilisant des credentials permanents.
Les utilisateurs de ce lab servent donc uniquement à visualiser le fonctionnement des identités, groupes et policies IAM.
Coût du lab :
AWS IAM est fourni sans frais supplémentaires.
Ce lab ne crée également aucune ressource dans un autre service AWS.
Le coût direct des ressources utilisées par ce lab est donc :
≈ 0 $
Nettoyage du lab :
Aucune ressource n’a été créée pendant ce lab.
Vous ne devez donc :
- supprimer aucun utilisateur ;
- supprimer aucun groupe ;
- détacher aucune policy ;
- supprimer aucune policy ;
- créer aucun credential.
Les ressources préinitialisées seront automatiquement supprimées lors de la destruction de l’environnement de lab.
Validation du lab
Vous avez terminé le lab si vous avez réussi à :
- accéder à AWS IAM ;
- comprendre que IAM est un service global ;
- identifier les trois utilisateurs du lab ;
- identifier les deux groupes IAM ;
- identifier les deux policies ;
- déterminer à quel groupe appartient lab-user-s3 ;
- déterminer à quel groupe appartient lab-user-ec2 ;
- constater que lab-user-multi appartient aux deux groupes ;
- comprendre comment les permissions sont héritées des groupes ;
- consulter le contenu d’une policy ;
- identifier Effect, Action et les permissions accordées ;
- comprendre le principe du moindre privilège ;
- comprendre le refus implicite ;
- comprendre qu’un refus explicite prend priorité sur une autorisation ;
- constater qu’aucun credential n’est créé pour les utilisateurs du lab ;
- terminer le lab sans modifier aucune ressource IAM.
En cas de problème
Je ne trouve pas les utilisateurs
Ouvrez :
IAM → Users
Recherchez :
lab-user-s3
lab-user-ec2
lab-user-multi
IAM étant global, il n’est pas nécessaire de changer de Région.
Si les utilisateurs n’apparaissent pas, l’environnement du lab n’a peut-être pas été correctement initialisé.
Je ne trouve pas les groupes
Ouvrez :
IAM → User groups
Recherchez :
lab-group-s3-readers
et :
lab-group-ec2-readers
Je ne trouve pas les policies
Ouvrez directement les groupes du lab puis consultez :
Permissions
Les policies associées doivent être visibles depuis les groupes.
Je ne peux pas modifier un utilisateur
C’est le comportement attendu.
Ce lab est volontairement configuré en lecture seule pour IAM.
Vous ne devez créer, modifier ou supprimer aucune identité ou permission IAM.
Je ne peux pas créer une Access Key
C’est également le comportement attendu.
La création de credentials n’est pas nécessaire pour atteindre les objectifs de ce lab.
Je ne peux pas ajouter un utilisateur à un groupe
C’est normal.
Les appartenances aux groupes ont été préconfigurées avant le démarrage du lab.
L’objectif est de comprendre leur fonctionnement sans modifier la configuration IAM.
Lab terminé
Vous savez maintenant :
- expliquer le rôle général d’AWS IAM ;
- identifier un utilisateur IAM ;
- identifier un groupe IAM ;
- comprendre le rôle d’une policy IAM ;
- comprendre comment des permissions peuvent être attribuées via un groupe ;
- comprendre qu’un utilisateur peut appartenir à plusieurs groupes ;
- comparer plusieurs niveaux de permissions ;
- comprendre le principe du moindre privilège ;
- comprendre le refus implicite ;
- comprendre la priorité d’un refus explicite ;
- distinguer identité, permissions et credentials ;
- comprendre pourquoi la gestion des identités doit être réalisée avec précaution.