02. S3 Security
Par défaut, quand tu crées un bucket S3, tout est fermé. Personne n'a accès à rien, sauf le créateur du compte.
1. Les deux outils pour ouvrir l'accès
Pour donner une permission, tu choisis l'une de ces deux méthodes (ou les deux) :
Method A : La méthode "Utilisateur" (IAM Policy)
-
C'est quoi ? Une feuille de permission que tu donnes à un utilisateur ou un rôle précis.
-
Logique : Tu dis à l'utilisateur : "Toi, tu as le droit d'aller lire le bucket X."
Method B : La méthode "Bucket" (Bucket Policy)
-
C'est quoi ? Une feuille de permission collée directement sur le bucket.
-
Logique : Le bucket dit : "J'autorise telle personne ou tel compte externe à venir chez moi."
2. TousComment lesS3 requisprend poursa avoirdécision accès à un objet (L'évaluation des politiques)?
Lorsqu'uneQuand applicationquelqu'un ouclique sur un utilisateur tente d'accéder à un objetfichier dans S3, AWS effectue une vérification stricte en plusieurs étapes. Pour que l'accès soit accordé, il faut que toutesvérifie les conditionspermissions suivantesdans soientcet réuniesordre :
LeYprincipea-t-ilduune"Deny"interdictionexplicite(Deny):? Sin'importeunequellerèglepolitiquedit "Interdit", c'est fini. L'accès est bloqué immédiatement, même si une autre règle disait oui.
Allow) DenyDenyAllow 3. Block Public Access (BPA)
Historiquement, de nombreuses entreprises ont subi des fuites de données massives parce qu'un administrateur avait mal configuré une Bucket Policy, rendant des données sensibles accessibles à la terre entière. Pour corriger cela, AWS a introduit S3 Block Public Access.
C'est quoi ? C'est un "bouton de sécurité centralisé" (un coupe-circuit) qui prévaut sur toutes les autres configurations.
Le fonctionnement : S'il est activé, il bloque immédiatement toute tentative de rendre le bucket ou ses objets publics, même si une Bucket Policy ou une ACL dit le contraire.
La nouveauté : Depuis avril 2023, AWS a renforcé la sécurité par défaut. Désormais, pour chaque nouveau bucket créé, l'option Block Public Access est activée par défaut. Si tu as besoin de créer un site web statique public ou d'exposer des images au public, tu dois explicitement aller décocher cette case.
4. Les Bucket Policies (Politiques de Bucket)
Une Bucket Policy est une règle de sécurité au format JSON qui est directement rattachée à un bucket S3 (c'est le composant principal du Resource-Based Access).
À quoi ça sert ?
Contrôle d'accès centralisé : Gérer les permissions pour tout le bucket en un seul endroit.
Accès Cross-Account : Autoriser un autre compte AWS à déposer ou lire des fichiers.
Sécuriser l'accès réseau : Restreindre l'accès au bucket pour qu'il ne soit accessible que depuis une adresse IP spécifique (l'IP de ton entreprise) ou depuis un VPC AWS spécifique (via un VPC Endpoint).
Forcer le chiffrement : Interdire l'upload d'un fichier si la requête n'inclut pas l'en-tête de chiffrement (x-amz-server-side-encryption).
3Trois cas particuliers pour l'examen
Scénario 1 : Bloquer les fuites de données sur Internet
-
Le besoin : Tu veux une sécurité absolue pour qu'aucun employé ne puisse rendre le bucket public par erreur.
-
La solution : Block Public Access (BPA). C'est un gros bouton de sécurité activé par défaut qui bloque tout Internet.
Scénario 2 : Partager un fichier privé avec un client externe
-
Le besoin : Un client (qui n'a pas de compte AWS) doit télécharger une facture privée ou uploader sa photo.
-
La solution : Presigned URL (URL Présignée). Tu lui génères un lien magique, sécurisé et temporaire (valable 15 minutes par exemple).
Scénario 3 : Connecter tes serveurs privés à S3
-
Le besoin : Tes serveurs AWS sont isolés du monde (pas d'Internet). Ils ont pourtant besoin de parler à S3.
-
La solution : VPC Gateway Endpoint. Un tunnel privé qui relie tes serveurs à S3 sans jamais passer par Internet.