Bonne pratique3 min de lecture · Mis à jour le 29 sept. 2026

AWS IAM — bonnes pratiques du moindre privilège

Structurer les identités AWS, écrire des politiques minimales, utiliser les rôles et détecter les droits excessifs.

  • #least-privilege
  • #aws
  • #mfa

Principes

  1. Pas d'utilisateurs IAM à clés longues pour les humains : fédération (IAM Identity Center) + MFA.
  2. Rôles pour les workloads (instance profile, IRSA sur EKS, rôles Lambda) : identifiants temporaires.
  3. Moindre privilège : partir de zéro et ajouter, pas l'inverse.
  4. Compte racine : MFA matériel, aucune clé d'accès, usage exceptionnel.

Anatomie d'une politique

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "LectureRapports",
      "Effect": "Allow",
      "Action": ["s3:GetObject"],
      "Resource": "arn:aws:s3:::rapports-prod/exports/*",
      "Condition": { "Bool": { "aws:SecureTransport": "true" } }
    },
    {
      "Sid": "ListerPrefixe",
      "Effect": "Allow",
      "Action": "s3:ListBucket",
      "Resource": "arn:aws:s3:::rapports-prod",
      "Condition": { "StringLike": { "s3:prefix": ["exports/*"] } }
    }
  ]
}

Évaluation : Deny explicite > Allow explicite > Deny implicite. Les SCP d'Organizations et les permission boundaries plafonnent ce qu'une politique peut accorder.

Anti-patterns

  • "Action": "*" ou "Resource": "*" hors administration.
  • iam:PassRole sur * : permet l'escalade de privilèges.
  • Politiques inline dupliquées partout → préférer des politiques gérées versionnées (IaC).
  • Clés d'accès dans le code ou les variables CI.

Outils de contrôle

aws iam generate-credential-report && aws iam get-credential-report
aws accessanalyzer list-findings --analyzer-arn <arn>
aws iam simulate-principal-policy --policy-source-arn <role-arn> \
  --action-names s3:DeleteObject --resource-arns arn:aws:s3:::rapports-prod/exports/x

IAM Access Analyzer peut générer une politique minimale à partir de l'activité CloudTrail réelle.

Revue périodique

Trimestriellement : identifiants inutilisés > 90 jours, rôles sans usage, politiques *, accès cross-compte, conformité MFA.

Autres labs de cette technologie