Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

IAM Role

cloud

Définition

Un rôle IAM est une identité AWS qui peut être assumée temporairement par des services AWS, des instances EC2, des fonctions Lambda, des conteneurs ECS/EKS, des utilisateurs IAM d'autres comptes, ou des identités fédérées externes (SAML, OIDC). Contrairement aux utilisateurs IAM qui ont des credentials permanents (clés d'accès long-lived), les rôles IAM fournissent des credentials temporaires via AWS STS (Security Token Service), valables de 15 minutes à 12 heures. L'usage des rôles IAM plutôt que des clés d'accès long-lived est une best practice fondamentale de sécurité AWS. Les credentials temporaires fournis par un rôle expirent automatiquement, réduisant drastiquement le risque de compromission en cas de fuite. Les Instance Profiles permettent aux instances EC2 d'assumer automatiquement un rôle sans stocker de credentials dans le code ou les fichiers de configuration. La structure d'un rôle IAM comprend deux éléments critiques : la trust policy (politique de confiance) qui définit qui peut assumer le rôle (les "principals" : services AWS, comptes AWS, IdP OIDC/SAML), et les permission policies qui définissent les droits accordés une fois le rôle assumé. La trust policy est souvent négligée malgré son importance critique pour la sécurité. Les vecteurs d'attaque sur les rôles IAM incluent : l'assumption non autorisée via une trust policy trop permissive (sts:AssumeRole avec Principal: "*"), l'escalade de privilèges via iam:PassRole (permettre à une instance EC2 ou Lambda d'assumer un rôle plus privilégié), la persistance via la création de nouveaux rôles de backdoor, et l'abus des rôles de service-linked roles mal configurés. Pour les environnements Kubernetes (EKS), l'intégration IAM Roles for Service Accounts (IRSA) permet aux pods Kubernetes d'assumer des rôles IAM via des annotations sur les ServiceAccounts, en utilisant la fédération OIDC entre le cluster EKS et AWS STS. Cette approche est préférable à l'utilisation des credentials de l'instance EC2 sous-jacente.

Least Privilege et rôles IAM

Appliquez le principe du moindre privilège à chaque rôle : définissez uniquement les actions nécessaires sur les ressources spécifiques (évitez les wildcards comme ec2:* ou s3:*). Utilisez les conditions IAM (aws:RequestedRegion, aws:SourceVpc, s3:prefix) pour restreindre davantage. L'outil AWS IAM Access Advisor indique les services effectivement utilisés pour vous aider à éliminer les permissions inutiles.

Cross-account role assumption

L'assomption de rôles inter-comptes permet aux workloads d'un compte AWS d'accéder aux ressources d'un autre compte. La trust policy du rôle cible doit explicitement autoriser le compte source. Ajoutez des conditions ExternalId pour les accès accordés à des tiers (fournisseurs de sécurité, partenaires) pour prévenir les attaques confused deputy. AWS Organizations facilite la gestion de ces trusts via les SCP.

Détection des abus de rôles IAM

Surveillez les événements AssumeRole inhabituels dans CloudTrail : nouvelles sources IP, horaires inhabituels, comptes rarement vus. AWS GuardDuty détecte spécifiquement les comportements de reconnaissance IAM (ListRoles, GetPolicy) et les assomptions de rôles depuis des IPs suspectes. Configurez des alertes sur sts:AssumeRole depuis des entités non prévues dans votre architecture.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis