Application à trois niveaux : web, application, base de données. La base de données doit être inaccessible depuis Internet en toutes circonstances.
→Sous-réseaux publics pour le niveau web (ALB). Sous-réseaux privés pour les niveaux application et base de données. Le groupe de sécurité de la base de données autorise le trafic uniquement depuis le groupe de sécurité du niveau application (pas depuis des plages CIDR).
Pourquoi: Les tables de routage des sous-réseaux imposent l'accessibilité ; les références de groupe de sécurité à groupe de sécurité encodent le principe du moindre privilège au niveau du groupe de sécurité et survivent aux changements d'adresse IP.
Référence↗
Une instance EC2 doit accéder à S3. Éviter les identifiants intégrés.
→Rôle IAM attaché via un profil d'instance. Le SDK récupère des identifiants temporaires depuis IMDSv2.
Pourquoi: Les clés d'accès à longue durée de vie sur les instances sont la première cause de fuite d'identifiants. Les rôles sont renouvelés automatiquement et ne sont jamais persistés.
Référence↗
Bloquer les attaques SSRF qui tentent de lire les métadonnées d'instances EC2.
→Appliquer IMDSv2 (`HttpTokens=required`) lors du lancement de l'instance. Rejeter les requêtes non authentifiées d'IMDSv1.
Pourquoi: IMDSv2 nécessite un jeton de session via PUT avant que le point de terminaison des métadonnées ne réponde ; les attaques SSRF qui ne font que des GET sont bloquées.
Référence↗
Le service A du Compte A invoque une fonction Lambda dans le Compte B. Moindre privilège.
→Politique basée sur les ressources sur la fonction Lambda cible accordant `lambda:InvokeFunction` au principal du rôle du Compte A. L'appelant assume son propre rôle et invoque directement — aucune chaîne de rôles n'est nécessaire.
Pourquoi: Les politiques de ressources sont le modèle inter-comptes le plus simple pour les ressources à façade de service (Lambda, S3, SNS, SQS, KMS).
Référence↗
D'autres comptes AWS doivent télécharger des objets dans un compartiment S3 central.
→Politique de compartiment accordant `s3:PutObject` aux principaux de comptes externes. Ajouter une exigence d'ACL `bucket-owner-full-control` afin que le propriétaire du compartiment conserve le contrôle des objets.
Pourquoi: Sans `bucket-owner-full-control` (ou `BucketOwnerEnforced` pour la propriété d'objets), les objets téléchargés sont la propriété du compte de l'écriture.
Référence↗
Empêcher que tout compartiment S3 de l'organisation ne soit rendu public.
→Activer le Blocage de l'accès public à S3 au niveau du compte (et à l'échelle de l'organisation via des SCP). Cela remplace les ACL et les politiques au niveau du compartiment.
Pourquoi: Le paramètre au niveau du compte prévaut sur les paramètres par compartiment — une défense contre les erreurs de configuration accidentelles.
Référence↗
Les développeurs doivent pouvoir créer leurs propres rôles IAM mais ne peuvent pas accorder des autorisations au-delà d'un ensemble maximal défini.
→Limites d'autorisations (permission boundaries) sur le principal développeur. Permissions effectives = politique d'identité ∩ limite.
Pourquoi: Les SCP s'appliquent au niveau du compte/OU ; les limites d'autorisations ciblent les principaux individuels. Utilisez les limites d'autorisations pour les modèles d'administration déléguée.
Référence↗
Restreindre une OU à des Régions spécifiques pour la conformité à la résidence des données.
→Politique de contrôle des services (SCP) dans Organizations refusant toute action où `aws:RequestedRegion` ne figure pas dans la liste autorisée.
Pourquoi: Les SCP sont le seul mécanisme qui peut refuser des actions que le compte lui-même autorise. IAM ne peut pas refuser ce qu'un compte racine pourrait accorder.
Référence↗
Authentification unique des employés à travers de nombreux comptes AWS ; intégration avec un fournisseur d'identité d'entreprise (IdP).
→AWS IAM Identity Center (anciennement AWS SSO) avec fédération SAML/OIDC vers l'IdP d'entreprise. Les ensembles d'autorisations sont mappés à des rôles dans les comptes membres.
Pourquoi: Identity Center est l'identité canonique multi-comptes pour les employés. Cognito est destiné aux utilisateurs finaux d'applications, pas aux employés.
Référence↗
Choisir entre Cognito User Pool et Identity Pool.
→User Pool = inscription / connexion / émission de JWT pour les utilisateurs d'applications. Identity Pool = échange de jetons contre des identifiants AWS temporaires. La plupart des applications utilisent les deux : User Pool authentifie, Identity Pool autorise l'accès à AWS.
Référence↗
Ajouter une étape de validation personnalisée à la connexion Cognito (par exemple, liste blanche de domaines de messagerie).
→Déclencheurs Lambda : Pré-inscription, Pré-authentification, Définir/Créer/Vérifier le défi d'authentification. Valider ou rejeter dans la fonction Lambda.
Référence↗
Nécessité d'un contrôle total sur la rotation des clés, la suppression et la piste d'audit par clé.
→Clé KMS gérée par le client (CMK). Les clés gérées par AWS (`aws/<service>`) sont plus simples mais n'offrent aucun contrôle de politique de clé ni visibilité sur l'utilisation individuelle des clés.
Pourquoi: Les CMK vous permettent de définir l'étendue de l'accès par clé dans CloudTrail, de définir des politiques de clé pour une utilisation inter-comptes et de désactiver/planifier la suppression.
Référence↗
Le Compte B doit déchiffrer des objets S3 chiffrés avec la CMK du Compte A.
→La politique de clé sur la CMK accorde `kms:Decrypt` aux principaux du Compte B. L'IAM du Compte B a également besoin de `kms:Decrypt` sur l'ARN de la clé. Les deux parties sont requises.
Pourquoi: KMS inter-comptes nécessite une autorisation explicite à la fois sur la politique de clé et sur l'identité IAM de l'appelant (contrairement à la plupart des politiques de ressources).
Référence↗
Chiffrer des données dans `us-east-1` ; déchiffrer dans `us-west-2` après réplication, sans rechiffrer.
→Clé KMS multi-régions. Une clé primaire dans une Région, une réplique dans une autre, toutes deux avec le même matériel de clé et le même ID.
Pourquoi: Évite la nécessité de ré-encapsuler le texte chiffré pour un basculement ou une reprise après sinistre inter-régions.
Référence↗
Chiffrer de gros objets sans que les appels d'API KMS par objet ne dominent les coûts.
→Chiffrement par enveloppe. KMS génère une clé de données (un appel d'API) ; utiliser la clé de données pour chiffrer la charge utile localement ; stocker la clé de données chiffrée avec le texte chiffré.
Pourquoi: KMS est soumis à des limites de débit et est facturé par requête. Le modèle d'enveloppe est la méthode canonique pour chiffrer des données de plus de quelques Ko.
Référence↗
Choisir entre Secrets Manager et SSM Parameter Store SecureString.
→Identifiants de base de données avec rotation automatique, partage inter-comptes, secrets volumineux → Secrets Manager. Indicateurs de configuration, paramètres d'application, secrets simples, coût le plus bas → SSM Parameter Store.
Pourquoi: Secrets Manager dispose de fonctions Lambda de rotation intégrées pour RDS/Aurora/DocumentDB/Redshift ; Parameter Store n'a pas de rotation native mais est gratuit pour le niveau Standard.
Référence↗
Faire pivoter le mot de passe RDS automatiquement tous les 30 jours.
→Secrets Manager avec rotation gérée. Un modèle Lambda intégré gère la rotation d'un seul utilisateur sur le point de terminaison RDS. Les applications récupèrent le secret au moment de la connexion (mis en cache) — pas de redéploiement d'application.
Référence↗
Atténuer une inondation HTTP de couche 7 sans bloquer les pics légitimes.
→Règle basée sur le taux d'AWS WAF (par exemple, 2000 requêtes / 5 min par IP) sur l'ALB ou CloudFront. À combiner avec des groupes de règles gérés pour les adresses IP connues comme malveillantes.
Pourquoi: Les règles de taux WAF suivent par adresse IP source ; blocage automatique lorsque le seuil est dépassé ; libération après la fenêtre.
Référence↗
Application critique nécessitant une protection contre les coûts DDoS et un support SRT 24h/24 et 7j/7.
→AWS Shield Advanced sur CloudFront / ALB / NLB / Global Accelerator. Inclut une protection des coûts (remboursements pour les dépenses de mise à l'échelle pendant une attaque) + accès à l'équipe de réponse de Shield.
Pourquoi: Shield Standard est automatique et gratuit ; Advanced ajoute des protections et un SLA. CloudFront est toujours la porte d'entrée recommandée.
Référence↗
Choisir entre groupe de sécurité et NACL.
→Avec état, attachement à une ENI, autorise seulement → groupe de sécurité (par défaut). Sans état, au niveau du sous-réseau, autorise + refuse explicitement → NACL. Utilisez les NACL pour les règles de refus génériques (blocage de plages IP) ; les groupes de sécurité pour tout le reste.
Pourquoi: Les NACL évaluent le trafic entrant et sortant séparément. Les groupes de sécurité autorisent automatiquement le trafic de retour.
Référence↗
Les instances EC2 dans un sous-réseau privé doivent atteindre S3/DynamoDB sans les coûts de sortie du NAT.
→Endpoint de passerelle VPC pour S3 et DynamoDB. Gratuit, entrée dans la table de routage, pas de NAT.
Pourquoi: Les endpoints de passerelle sont uniquement pour S3/DynamoDB. Permet d'économiser les frais de traitement des données du NAT et maintient le trafic sur le backbone AWS.
Référence↗
Un sous-réseau privé doit atteindre les API de services AWS (KMS, Secrets Manager, ECR, etc.) de manière privée.
→Endpoint d'interface VPC (PrivateLink) par service. ENI dans votre VPC, facturé par heure + par Go.
Pourquoi: Les endpoints d'interface fonctionnent pour presque tous les services AWS. Utilisez-les pour supprimer la sortie NAT pour les appels de service.
Référence↗
Un fournisseur SaaS expose son service VPC aux comptes clients de manière privée, sans appairage VPC ni maintenance du routage client.
→Service de point de terminaison AWS PrivateLink adossé à un NLB. Les clients créent des points de terminaison d'interface pour consommer le service.
Pourquoi: Aucun problème de chevauchement de CIDR, pas de maillage d'appairage, exposition unidirectionnelle (le fournisseur ne voit pas le trafic client).
Référence↗
Connecter plus de 30 VPC à travers les comptes et les environnements sur site dans une topologie hub-and-spoke.
→AWS Transit Gateway. Un seul attachement par VPC ; les tables de routage segmentent le trafic.
Pourquoi: L'appairage full-mesh nécessite N×(N-1)/2 connexions. TGW évolue linéairement et prend en charge le cross-account via RAM.
Référence↗
Connectivité hybride nécessitant une bande passante prévisible, une faible latence et un chiffrement.
→Direct Connect avec un VPN Site-à-Site sur le DX (MACsec ou IPsec). DX seul n'est pas chiffré ; le VPN sur DX est privé + chiffré + faible gigue.
Pourquoi: Le VPN simple sur Internet est bon marché mais a une latence variable. DX seul est rapide mais en texte clair au niveau de la couche liaison.
Référence↗
Détection continue des menaces à travers les journaux de flux VPC, DNS, CloudTrail, audit EKS, événements de données S3.
→Amazon GuardDuty. À l'échelle de l'organisation via l'administrateur délégué d'Organizations.
Pourquoi: Détection des menaces gérée. Les résultats sont acheminés vers Security Hub ou EventBridge pour l'automatisation de la réponse.
Référence↗
Découvrir et classifier les informations personnelles identifiables (PII) / informations de santé protégées (PHI) dans les compartiments S3.
→Amazon Macie. Découverte de données sensibles basée sur le ML, limitée à S3, s'intègre avec Security Hub.
Référence↗
Scan continu des CVE pour EC2, les images ECR, les fonctions Lambda.
→Amazon Inspector v2. Découvre automatiquement les ressources via l'agent Systems Manager, scanne par rapport aux CVE publiées.
Référence↗
Agréger les résultats de GuardDuty, Inspector, Macie, IAM Access Analyzer dans un seul tableau de bord.
→AWS Security Hub. CSPM avec les AWS Foundational Security Best Practices et les normes CIS.
Référence↗
Assurer que tous les volumes EBS sont chiffrés ; remédier automatiquement aux ressources non conformes.
→Règles AWS Config (gérées `encrypted-volumes`) + Runbook d'automatisation Systems Manager pour la remédiation, déclenchées via l'action de remédiation Config.
Référence↗
Journal d'audit unique et inaltérable à travers tous les comptes de l'organisation.
→Piste d'organisation avec validation des fichiers journaux activée, écrite dans un compartiment S3 central avec une politique de compartiment interdisant la suppression.
Pourquoi: Les pistes d'organisation s'activent automatiquement dans tous les comptes membres (actuels et futurs). Les hachages de validation prouvent que les journaux n'ont pas été modifiés.
Référence↗
Plusieurs départements ont besoin d'un accès délimité à différents préfixes dans un compartiment S3 partagé.
→Points d'accès S3 — un par département, chacun avec sa propre politique d'accès et (optionnellement) une restriction VPC.
Pourquoi: Plus propre qu'une politique de compartiment tentaculaire ; les points d'accès ont leurs propres ARN et noms DNS.
Référence↗
Charge de travail PCI DSS — isolation stricte des comptes non-PCI.
→Compte AWS dédié au sein d'une unité d'organisation (OU) d'Organizations avec des SCP restreignant l'accès aux services/régions. VPC, clés KMS, rôles IAM séparés. Network Firewall ou GWLB pour l'inspection des sorties.
Pourquoi: La limite de compte est l'isolation de rayon d'impact la plus forte dans AWS.
Référence↗
Certificat TLS public pour `*.example.com` sur ALB et CloudFront. Renouvellement automatique.
→Certificat public AWS Certificate Manager (ACM) avec validation DNS dans Route 53. Se renouvelle automatiquement 60 jours avant l'expiration.
Pourquoi: Gratuit pour une utilisation avec les services intégrés à AWS. La validation par e-mail fonctionne mais la validation DNS est préférée pour l'automatisation.
Référence↗