3.12 Introduction IAM AWS
IAM signifie Identity and Access Management. C'est le service AWS qui gère tous les aspects de sécurité : utilisateurs, groupes, rôles et compte root. Le compte root, créé à l'inscription, ne doit jamais être utilisé pour des opérations courantes ni partagé : il sert uniquement à la première configuration et à créer les premiers utilisateurs IAM. Toutes les stratégies de sécurité IAM sont écrites au format JSON, et nous apprendrons à les rédiger au fil du cours.
IAM s'articule autour de quatre concepts. Les utilisateurs sont des personnes physiques. Les groupes rassemblent ces utilisateurs par fonction, métier ou équipe. Les rôles définissent l'usage interne des ressources AWS (un service qui en appelle un autre). Et les stratégies (policies) définissent ce que chacun peut ou ne peut pas faire. IAM est un service global : toutes les décisions prises s'appliquent à l'ensemble des services AWS, indépendamment de la région.
Bonnes pratiques essentielles
- Un compte IAM par personne physique — jamais de compte partagé.
- Un seul rôle IAM par habilitation (principe du moindre privilège).
- Ne jamais partager ses informations de connexion IAM.
- Ne jamais inscrire en dur les identifiants IAM dans le code.
- Ne jamais utiliser le compte root au quotidien après la configuration initiale.
- Activer une authentification forte de type MFA (Multi-Factor Authentication).
Il est tout à fait possible de fédérer IAM avec un annuaire d'entreprise existant via le standard SAML, ce qui est largement utilisé dans les déploiements Active Directory. Les utilisateurs peuvent ainsi se connecter à AWS avec leur compte d'entreprise. Dans le module suivant, nous verrons concrètement comment créer des utilisateurs, des rôles et des groupes, puis écrire des stratégies de sécurité au format JSON.