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ôle | Priorité |
|---|---|
| MFA sur le compte root | Critique |
| Pas de clés d’accès root | Critique |
| MFA sur tous les utilisateurs | Haute |
| Politique de mots de passe forte | Haute |
| 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.