IAM : la fondation de la sécurité AWS

AWS Identity and Access Management (IAM) contrôle qui peut faire quoi sur votre compte AWS. Une mauvaise configuration IAM est la cause principale des incidents de sécurité cloud.

Lueur Externe audite et sécurise les configurations IAM de ses clients selon les recommandations AWS.

Principe du moindre privilège

Chaque utilisateur, rôle ou service ne doit avoir que les permissions strictement nécessaires.

Politique restrictive

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Action": [
      "s3:GetObject",
      "s3:PutObject"
    ],
    "Resource": "arn:aws:s3:::mon-bucket/uploads/*",
    "Condition": {
      "StringEquals": {
        "aws:RequestedRegion": "eu-west-3"
      }
    }
  }]
}

Éviter les wildcards

// ❌ Trop permissif
{ "Effect": "Allow", "Action": "s3:*", "Resource": "*" }

// ✅ Spécifique
{
  "Effect": "Allow",
  "Action": ["s3:GetObject", "s3:ListBucket"],
  "Resource": [
    "arn:aws:s3:::mon-bucket",
    "arn:aws:s3:::mon-bucket/*"
  ]
}

MFA obligatoire

Activez le MFA pour tous les utilisateurs, surtout le compte root :

{
  "Version": "2012-10-17",
  "Statement": [{
    "Sid": "DenyAllExceptMFA",
    "Effect": "Deny",
    "NotAction": [
      "iam:CreateVirtualMFADevice",
      "iam:EnableMFADevice",
      "iam:ListMFADevices",
      "iam:ResyncMFADevice",
      "sts:GetSessionToken"
    ],
    "Resource": "*",
    "Condition": {
      "BoolIfExists": {
        "aws:MultiFactorAuthPresent": "false"
      }
    }
  }]
}

Rôles plutôt qu’utilisateurs

Pour les applications et services, utilisez des rôles IAM :

// CDK — Rôle pour une Lambda
const lambdaRole = new iam.Role(this, 'LambdaRole', {
  assumedBy: new iam.ServicePrincipal('lambda.amazonaws.com'),
  managedPolicies: [
    iam.ManagedPolicy.fromAwsManagedPolicyName(
      'service-role/AWSLambdaBasicExecutionRole'
    ),
  ],
});

// Permission spécifique
lambdaRole.addToPolicy(new iam.PolicyStatement({
  actions: ['ses:SendEmail'],
  resources: ['arn:aws:ses:eu-west-3:*:identity/*'],
}));

Audit et monitoring

CloudTrail

CloudTrail enregistre tous les appels API AWS :

# Rechercher les accès non autorisés
aws cloudtrail lookup-events \
  --lookup-attributes AttributeKey=EventName,AttributeValue=ConsoleLogin \
  --start-time "2026-01-01" \
  --region eu-west-3

AWS Config

Vérifiez la conformité en continu :

  • MFA activé sur tous les utilisateurs
  • Pas de clés d’accès sur le compte root
  • Pas de politiques trop permissives
  • Rotation des clés d’accès

GuardDuty

Détection automatique des menaces :

  • Tentatives de brute force
  • Appels API depuis des IP suspectes
  • Exfiltration de données S3
  • Minage de cryptomonnaie

Checklist sécurité

ContrôlePriorité
MFA sur le compte rootCritique
Pas de clés d’accès rootCritique
MFA sur tous les utilisateursHaute
Politique de mots de passe forteHaute
Rotation des clés d’accès (90 jours)Haute
CloudTrail activéHaute
GuardDuty activéMoyenne
AWS Config activéMoyenne

Conclusion

La sécurité AWS est un processus continu qui commence par IAM. Lueur Externe audite et renforce la sécurité des infrastructures AWS de ses clients avec une approche méthodique et des outils automatisés.