Cours
Le service Identity and Access Management (IAM) est le socle de tout ce que vous faites sur AWS. Il protège vos données et vous permet de contrôler qui peut accéder à vos ressources AWS et ce qu'il peut en faire.
Sans IAM, toute personne accédant à votre compte AWS pourrait perturber vos environnements en modifiant des configurations, en supprimant des ressources ou en accédant à des données sensibles.
Ce guide rassemble tout ce qu'il faut savoir pour configurer et utiliser IAM afin de sécuriser votre environnement AWS.
Si vous débutez sur AWS, envisagez de suivre notre cours Introduction to AWS pour vous familiariser avec les bases.
Qu'est-ce qu'AWS IAM ?
IAM signifie Identity and Access Management. Il a été lancé en 2011 et permet de gérer qui peut accéder à vos ressources AWS et quelles actions sont autorisées.
Voici les quatre composants essentiels d'IAM :
- Users (utilisateurs) sont des personnes ou des applications qui ont besoin d'accéder à vos ressources AWS. Chaque utilisateur reçoit des identifiants uniques, comme des mots de passe et des clés d'accès.
- Groups (groupes) sont des ensembles d'utilisateurs. Plutôt que d'attribuer des autorisations individuellement, vous regroupez les utilisateurs et affectez les autorisations au groupe. Cela simplifie la gestion des droits pour plusieurs utilisateurs à la fois.
- Roles (rôles) ne sont pas liés à une personne en particulier : ils sont conçus pour être assumés par tout entité qui en a besoin. Par exemple, une instance EC2 peut « assumer un rôle » pour accéder à des buckets S3 sans identifiants permanents. Les rôles utilisent des identifiants de sécurité temporaires qui expirent automatiquement, ce qui est excellent pour la sécurité.
- Policies (politiques) sont des documents JSON qui définissent les autorisations. Elles précisent quelles actions sont autorisées ou refusées sur quelles ressources. Les politiques peuvent être associées à des utilisateurs, des groupes ou des rôles.
Si vous débutez sur AWS, envisagez de suivre notre cours Introduction to AWS pour vous familiariser avec les bases de cette vaste plateforme.
Premiers pas avec IAM
Si ce n'est pas déjà fait, créez un compte AWS et connectez-vous.
Pour trouver le service IAM, saisissez le mot-clé « iam » dans la barre de recherche en haut de la console AWS et sélectionnez le premier résultat.

Recherche du service IAM dans la console AWS
Vous arrivez alors sur le tableau de bord IAM, où vous pouvez créer et gérer tous les composants IAM.

Tableau de bord IAM
Le panneau de gauche du tableau de bord permet de créer des utilisateurs, des rôles et des politiques, ainsi que d'accéder aux rapports et aux outils de gestion et de suivi.
Les recommandations de sécurité apparaissent généralement au centre du tableau de bord IAM. AWS fournit de nombreuses bonnes pratiques et facilite les actions correctives si nécessaire.
Politiques AWS IAM
Passons maintenant à l'un des concepts clés d'IAM : les politiques.
Qu'est-ce qu'une politique IAM ?
Les politiques définissent qui peut disposer de quelles autorisations pour accéder à vos ressources AWS.

Vue d'ensemble des politiques IAM
Les politiques sont rédigées au format JSON et comprennent quelques éléments clés.
À titre d'exemple, voici le document JSON de la politique gérée par AWS nommée « AmazonS3FullAccess » :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
- L'élément
Versionprécise la version du langage de politique. - Le
Statementcontient le cœur de la politique. Une politique peut comporter plusieurs statements. Chaque statement comprend quelques champs essentiels : Effect: indique si l'accès est autorisé ou refusé. La valeur peut être "Allow" ou "Deny".Action: définit les actions autorisées ou refusées. Il s'agit généralement des opérations réalisables sur une ressource. AWS propose des actions spécifiques pour chaque service, à renseigner correctement.Resource: précise les ressources AWS sur lesquelles s'appliquent les actions. Les ressources sont identifiées par des Amazon Resource Names (ARN), qui identifient une ressource de manière unique.
Types de politiques : gérées vs inline
Voyons maintenant les types de politiques, en commençant par les gérées, qui peuvent être gérées par AWS ou par le client.
Les politiques gérées par AWS sont créées et maintenues par AWS, ce qui en fait un excellent point de départ pour des ensembles d'autorisations courants. Les politiques gérées par le client sont celles que vous créez et administrez vous-même, offrant plus de souplesse pour rédiger des documents JSON sur mesure.
Les politiques inline, quant à elles, sont directement rattachées à un utilisateur, un groupe ou un rôle unique. Elles sont utiles pour des droits très ciblés qui ne doivent pas être réutilisés. Cependant, leur gestion devient complexe lorsqu'elles se multiplient, d'où une préférence générale pour les politiques gérées.
Créer et associer des politiques aux utilisateurs, groupes et rôles
Créer et associer des politiques aux utilisateurs, groupes et rôles dans AWS est assez simple. Voici un guide pas à pas :
1. Créer une politique
Pour créer une politique, cliquez sur « Policies » dans le menu de gauche de la console IAM puis sur « Create Policy ».
Vous pouvez définir votre politique via l'éditeur visuel ou l'onglet JSON. L'éditeur visuel est plus simple si vous n'êtes pas à l'aise avec JSON. Par exemple, pour créer une politique d'accès en lecture seule à S3, sélectionnez le service « S3 » puis les actions « read-only ».
Pour en savoir plus sur S3, consultez notre tutoriel sur le stockage AWS.

Créer une nouvelle politique
Une fois la politique définie, cliquez sur « Review policy ». Donnez ensuite un nom et une description à votre politique, puis cliquez sur « Create policy ». À ce stade, votre politique personnalisée est créée.
Notez qu'il existe plus d'un millier de politiques gérées par AWS couvrant la plupart des cas d'usage. Vous n'aurez peut-être jamais besoin d'en créer sur mesure.

Liste des politiques gérées par AWS
2. Associer des politiques à des utilisateurs
Pour associer une politique à un utilisateur, allez dans « Users » dans la console IAM et sélectionnez l'utilisateur concerné.
Cliquez sur l'onglet « Permissions », puis sur « Add permissions ».
Choisissez « Attach policies directly », recherchez la politique que vous avez créée (ou toute politique existante à associer) et sélectionnez-la.

Associer une politique à un utilisateur
Cliquez sur « Next » pour vérifier les autorisations, puis sur « Add permissions ».
3. Associer des politiques à des groupes
Pour associer une politique à un groupe, allez dans « User groups » dans la console IAM et sélectionnez le groupe souhaité, ou cliquez sur « Create new group » pour en créer un nouveau.
Cliquez sur l'onglet « Permissions » puis sur « Add permissions ».
Comme pour les utilisateurs, sélectionnez « Attach policies directly », puis recherchez et choisissez la politique à associer (créée ou existante).
Cliquez sur « Next » pour vérifier les autorisations, puis sur « Add permissions ».
4. Associer des politiques à des rôles
Allez dans « Roles » dans la console IAM et sélectionnez le rôle auquel vous souhaitez associer une politique.
Cliquez sur l'onglet « Permissions » puis sur « Add permissions ». Cette étape diffère légèrement des précédentes : vous voyez les politiques actuellement attachées et la liste complète des autres politiques disponibles.

Associer une politique à un rôle
Sélectionnez les politiques à attacher puis cliquez sur « Add permissions ». Rappelez-vous qu'un rôle peut comporter jusqu'à 10 politiques gérées.
Rôles AWS IAM
Les rôles IAM vous aident à gérer les autorisations pour vos services et applications.
Contrairement aux utilisateurs IAM, associés à une personne précise, les rôles sont conçus pour être assumés par toute entité qui en a besoin, ce qui les rend extrêmement flexibles.
Considérez un rôle comme un ensemble d'autorisations pouvant être temporairement attribuées à des entités comme des services AWS (p. ex. EC2, Lambda) ou même des utilisateurs d'un autre compte AWS. C'est idéal pour la sécurité, car les rôles utilisent des identifiants temporaires qui expirent automatiquement.
Consultez notre tutoriel sur la maîtrise des Step Functions sur AWS, où vous verrez comment les rôles IAM sont un élément essentiel pour orchestrer des workflows.
Comment fonctionnent les rôles IAM ?
Lorsque vous créez un rôle, vous définissez deux éléments principaux : les politiques d'approbation (trust policies) et les politiques d'autorisations :
- Les politiques d'approbation définissent qui peut assumer le rôle. Par exemple, vous pouvez autoriser une instance EC2 ou une fonction AWS Lambda à assumer le rôle. Cette politique précise les entités de confiance (services ou utilisateurs) autorisées à utiliser le rôle.
- Les politiques d'autorisations définissent les actions autorisées ou refusées lorsque le rôle est assumé. Elles fonctionnent comme les politiques attachées aux utilisateurs IAM, en précisant les ressources accessibles et les actions possibles.
Une entité doit assumer un rôle pour l'utiliser. Lorsqu'une instance EC2 ou une fonction Lambda assume un rôle, elle obtient des identifiants temporaires pour envoyer des requêtes aux services AWS.
Voici un exemple simple : vous avez une application qui s'exécute sur une instance EC2 et qui doit lire un bucket S3. Plutôt que de stocker des clés d'accès sur l'instance, créez un rôle IAM avec une politique autorisant la lecture depuis S3, puis attachez ce rôle à l'instance EC2. À l'exécution, l'instance assume le rôle et obtient des identifiants temporaires pour accéder au bucket S3.
Ces identifiants temporaires sont fournis via le AWS Security Token Service (STS). Ils incluent un access key ID, une secret access key et un session token, valides pour une courte durée (généralement quelques heures).
L'usage des rôles facilite aussi la gestion des droits : vous mettez à jour les politiques du rôle en un seul endroit, et cela s'applique automatiquement à toutes les entités qui l'assument.
Comment créer un rôle IAM
Pour créer un rôle IAM, cliquez sur « Roles » dans le menu de gauche de la console IAM puis sur « Create Role ». Suivez ensuite ces étapes :
1. Choisir l'entité de confiance
Choisissez qui ou quoi utilisera ce rôle. Vous avez plusieurs options : services AWS (p. ex. EC2, Lambda), un autre compte AWS ou une identité web. Supposons que nous créions un rôle accordant un accès complet à S3.
Sélectionnez « S3 » comme service et « S3 » comme cas d'utilisation. Cliquez sur « Next ».

Sélectionner une entité de confiance
2. Attacher des politiques
Ici, vous ajoutez des autorisations à votre rôle. Vous pouvez choisir parmi les politiques existantes ou en créer une nouvelle.
Pour ce rôle, recherchez et sélectionnez la politique « AmazonS3FullAccess », puis cliquez sur « Next ».

Ajouter des autorisations à un rôle IAM
3. Nommer, vérifier et créer
Donnez à votre rôle un nom explicite, par exemple « FullS3Access ».

Nommer, vérifier et créer un rôle
Vérifiez les détails du rôle pour vous assurer que tout est correct : entité de confiance, politiques attachées et éventuels tags ajoutés.
Les tags sont facultatifs, mais utiles pour organiser et gérer vos rôles. Par exemple, ajoutez un tag avec la clé « Environment » et la valeur « Production ».
Cliquez sur « Create role ».
Comment gérer les rôles IAM
La gestion des rôles IAM peut devenir chaotique si vous en avez beaucoup, mais voici quelques bonnes pratiques pour rester organisé :
- Utilisez des noms explicites pour vos rôles. Cela permet de comprendre leur usage d'un coup d'œil. Par exemple, au lieu d'un nom générique comme « Role1 », préférez « EC2_S3_ReadOnly » pour indiquer qu'il s'agit d'un accès en lecture seule à S3 pour des instances EC2.
- Regroupez les rôles similaires. Utilisez des tags pour organiser par département, projet ou environnement. Par exemple : « Environment : Production » ou « Department : Finance ».
- Passez en revue vos rôles régulièrement. Vérifiez périodiquement s'ils sont toujours nécessaires et supprimez ceux qui ne le sont plus. Vous réduisez ainsi l'encombrement et limitez les risques de sécurité.
- Utilisez AWS IAM Access Analyzer. Cet outil vous aide à identifier les rôles et politiques trop permissifs pouvant présenter des risques. Il fournit des insights pour affiner les autorisations et rendre vos rôles aussi spécifiques que possible.
Cas d'usage : accès inter-comptes
L'accès inter-comptes avec des rôles IAM permet d'accorder des autorisations à des utilisateurs ou des ressources d'un compte AWS pour accéder à des ressources d'un autre compte.
Imaginez deux comptes AWS : « Compte A » pour la production et « Compte B » pour le développement. Vous souhaitez que des utilisateurs ou applications du « Compte B » accèdent à des ressources du « Compte A » sans créer un utilisateur IAM distinct dans le « Compte A » pour chacun.
Vous pouvez créer un rôle dans le « Compte A » avec les autorisations nécessaires et autoriser des utilisateurs ou ressources du « Compte B » à assumer ce rôle.
Voici les étapes à suivre pour ce scénario :
- Créez un rôle dans le « Compte A » en allant dans la console IAM du « Compte A » puis « Roles ».
- Cliquez sur « Create role » et choisissez « AWS account » comme entité de confiance. Saisissez l'ID de compte du « Compte B ». Cela crée une relation d'approbation, permettant aux utilisateurs du « Compte B » d'assumer le rôle.

Accès inter-comptes IAM
- Attachez au rôle les politiques d'autorisations nécessaires. Par exemple, pour autoriser l'accès à un bucket S3, vous pouvez attacher la politique « AmazonS3ReadOnlyAccess ».
- Dans le « Compte B », créez une politique IAM autorisant l'assomption du rôle dans le « Compte A ». La politique ressemblera à ceci :
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "arn:aws:iam::AccountA_ID:role/RoleName"
}
]
}
- Remplacez
AccountA_IDpar l'ID AWS réel du « Compte A » etRoleNamepar le nom du rôle créé. - Attachez cette politique aux utilisateurs ou groupes du « Compte B » qui ont besoin d'accès.
Les utilisateurs ou applications du « Compte B » peuvent désormais assumer le rôle du « Compte A » pour accéder aux ressources. Cela peut se faire via l'AWS CLI, les SDK ou la console.
Bonnes pratiques AWS IAM
Les bonnes pratiques IAM sont essentielles pour sécuriser votre environnement AWS. Concentrez-vous sur les points suivants :
Activer l'authentification multifacteur (MFA)
La MFA ajoute une couche de sécurité supplémentaire à votre compte AWS. Même si quelqu'un obtient votre mot de passe, il lui faudra une seconde forme de vérification pour se connecter. Activez-la pour le compte racine et tout utilisateur critique.
Privilégier les rôles IAM aux utilisateurs IAM quand c'est possible
Les rôles fournissent des identifiants temporaires qui se renouvellent automatiquement, réduisant le risque d'exposition d'identifiants à long terme. Par exemple, utilisez des rôles plutôt que des clés codées en dur pour des applications exécutées sur des instances EC2.
Appliquer le principe du moindre privilège
N'accordez aux utilisateurs et rôles que les autorisations strictement nécessaires. Vous limitez ainsi les risques d'actions accidentelles ou malveillantes. Révisez et mettez à jour régulièrement les droits.
Faire tourner régulièrement les clés d'accès
Si vous devez utiliser des clés d'accès, faites-les tourner régulièrement. AWS autorise deux clés actives par utilisateur : créez une nouvelle clé, mettez à jour vos applications, puis désactivez l'ancienne sans interruption de service.
Utiliser des groupes IAM pour gérer les autorisations
Au lieu d'attribuer des droits utilisateur par utilisateur, créez des groupes et attachez-leur des politiques. La gestion est ainsi plus simple, surtout quand le nombre d'utilisateurs augmente.
Surveiller et auditer les activités IAM
Activez AWS CloudTrail pour journaliser tous les appels d'API, y compris ceux effectués par des utilisateurs IAM. Analysez régulièrement ces journaux pour détecter toute activité inhabituelle ou non autorisée, afin de maintenir sécurité et conformité.
Appliquer des politiques de mot de passe robustes
Faites respecter des mots de passe forts (majuscules, minuscules, chiffres et caractères spéciaux). Imposez également des changements réguliers et empêchez la réutilisation d'anciens mots de passe.
Limiter l'usage du compte racine
Le compte racine dispose d'un accès illimité à toutes les ressources. Utilisez-le avec parcimonie et créez des utilisateurs IAM pour les tâches quotidiennes. Activez toujours la MFA sur le compte racine.
Fonctionnalités avancées d'AWS IAM
Si vous utilisez AWS IAM en entreprise, deux fonctionnalités avancées méritent votre attention.
Fédération d'identité
La fédération d'identité permet d'utiliser des identités existantes (annuaire d'entreprise ou fournisseurs d'identité sociaux) pour accéder aux ressources AWS. Plutôt que de créer des utilisateurs IAM distincts, vous laissez les utilisateurs se connecter avec leurs identifiants existants.
Pour activer la fédération, vous devez établir une relation de confiance entre AWS et le fournisseur d'identité.
Quand un utilisateur tente d'accéder à AWS, il s'authentifie d'abord auprès du fournisseur d'identité. Si l'authentification réussit, il reçoit des identifiants temporaires pour accéder aux ressources AWS.
Ces identifiants sont gérés par le Security Token Service (STS) d'AWS et sont valides pour une courte durée, réduisant le risque d'exposition à long terme.
IAM Identity Center
L'IAM Identity Center, aussi appelé AWS Single Sign-On (SSO), est le centre névralgique pour contrôler qui accède à quoi dans votre environnement AWS, sans multiplier les identifiants.
Vous pouvez le connecter à vos sources d'identité existantes comme Microsoft Active Directory ou d'autres fournisseurs compatibles SAML 2.0. Vos utilisateurs se connectent à AWS avec leurs identifiants d'entreprise.
Une fois en place, les utilisateurs accèdent à un portail personnalisé listant tous les comptes et applications AWS auxquels ils ont droit. Une seule connexion suffit, puis ils peuvent basculer entre comptes et applications sans se reconnecter.
Vous pouvez configurer IAM Identity Center en l'activant dans l'AWS Management Console, en le connectant à votre source d'identité et en configurant les accès. AWS propose des tutoriels pas à pas pour vous guider, même si vous débutez avec IAM ou le SSO.
Conclusion
Maîtriser IAM est essentiel : c'est la base de tout sur AWS. Vous contrôlez l'accès aux ressources, protégez vos données et réduisez les portes d'entrée pour les attaquants.
Pour approfondir AWS, commencez par vous inscrire à notre cours AWS Cloud Technology and Services. Ensuite, faites progresser votre carrière en obtenant une certification AWS !
Découvrez également notre webinar d'introduction à la data science dans le cloud avec Python, AWS et boto3.
FAQs
Quelle est la différence entre les rôles IAM et les utilisateurs IAM sur AWS ?
Les utilisateurs IAM sont des individus ou des applications disposant d'identifiants permanents, généralement rattachés à une personne ou à un service précis. Les rôles IAM, quant à eux, sont destinés à être assumés par toute entité qui en a besoin et fournissent des identifiants temporaires qui expirent rapidement. Les rôles sont donc plus flexibles et plus sûrs pour des accès temporaires, par exemple pour des applications s'exécutant sur des instances EC2.
Comment créer une politique IAM personnalisée sur AWS ?
Pour créer une politique IAM personnalisée, accédez à la console IAM, cliquez sur « Policies » dans le menu de gauche, puis sur « Create Policy ». Définissez votre politique via l'éditeur visuel ou JSON. Après avoir déterminé les autorisations, cliquez sur « Review policy », donnez un nom et une description à la politique, puis cliquez sur « Create policy ». Vous pourrez ensuite l'attacher à des utilisateurs, groupes ou rôles.
Pourquoi est-il important d'activer l'authentification multifacteur (MFA) pour mon compte AWS ?
Activer la MFA ajoute une couche de sécurité supplémentaire à votre compte AWS. Même si quelqu'un obtient votre mot de passe, il devra saisir une seconde preuve (par exemple un code sur votre smartphone) pour se connecter. Cela réduit fortement le risque d'accès non autorisé et protège vos données et ressources sensibles.
Comment les groupes IAM peuvent-ils m'aider à gérer plus efficacement les autorisations sur AWS ?
Les groupes IAM vous permettent d'attribuer des autorisations à plusieurs utilisateurs en une seule fois, ce qui facilite la gestion et la mise à jour des droits. Plutôt que d'attacher des politiques à chaque utilisateur, créez des groupes par rôle ou par département (p. ex. Admins, Developers) et attachez-leur les politiques nécessaires. Cette approche simplifie la gestion des autorisations, surtout quand le nombre d'utilisateurs augmente.
Quels sont les avantages d'utiliser des rôles IAM AWS pour l'accès inter-comptes ?
L'utilisation de rôles IAM pour l'accès inter-comptes permet d'accorder des permissions à des utilisateurs ou ressources d'un compte pour accéder à un autre, sans créer d'utilisateurs IAM distincts dans le compte cible. Cette méthode renforce la sécurité grâce à des identifiants temporaires qui expirent automatiquement, réduit la charge de gestion liée à de multiples comptes utilisateurs et simplifie l'octroi comme la révocation des accès entre comptes.
