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 :

  1.       créer un groupe correspondant à cette fonction ;
  2.       associer les permissions au groupe ;
  3.       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.