IAM et sécurité du compte
Utilisateurs, groupes, rôles, politiques : qui peut faire quoi sur quelles ressources.
1. Le compte root : à verrouiller en premier
Le compte root possède tous les droits sans restriction. Dès la création du compte : supprimez ses clés d'accès, activez le MFA (authentification multifacteur), créez un utilisateur administrateur IAM pour l'usage quotidien et ne réutilisez le root que pour les tâches qui l'exigent (changement de support, fermeture du compte).
2. Utilisateurs, groupes et rôles
- Utilisateur IAM : identité permanente (humaine ou applicative) avec mot de passe console et/ou clés d'accès.
- Groupe IAM : on n'attache jamais une politique directement à un utilisateur en production, on l'ajoute à un groupe (ex. : Dev, Ops, Compta).
- Rôle IAM : identité temporaire sans identifiants permanents. Une instance EC2 ou une fonction Lambda assume un rôle via STS pour obtenir des droits : c'est la méthode examen pour « donner des droits à une application sans stocker de clés ».
3. Politiques : le langage des permissions
Document JSON avec Effect (Allow/Deny), Action et Resource. Un Deny explicite l'emporte toujours sur un Allow. Politiques gérées par AWS (ex. : ReadOnlyAccess), gérées par le client, et inline. Principe du moindre privilège : n'accorder que les actions strictement nécessaires.
aws iam create-user --user-name alice
aws iam create-group --group-name dev
aws iam add-user-to-group --user-name alice --group-name dev
aws iam attach-group-policy --group-name dev --policy-arn arn:aws:iam::aws:policy/ReadOnlyAccess
aws iam create-role --role-name ec2-s3-read --assume-role-policy-document file://trust.json
aws iam attach-role-policy --role-name ec2-s3-read --policy-arn arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess
aws iam list-users
aws iam get-role --role-name ec2-s3-read
- Root : MFA + pas de clés + usage minimal.
- Application sur EC2 qui accède à S3 : rôle IAM (jamais de clés en dur dans le code).
- Deny explicite prioritaire ; IAM est global (non régional).
- STS AssumeRole pour l'accès inter-comptes et les identités fédérées.
Voir la réponse
Créez un rôle IAM avec une politique qui n'autorise que PutItem et UpdateItem sur la table visée, attachez-le à l'instance via un profil d'instance. Aucune clé stockée, droits limités, rotation automatique par STS.