# 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)

<div _ngcontent-ng-c435055463="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr" id="bkmrk-c%27est-quoi-%3F-une-feu" style="--animation-duration: 400ms; --fade-animation-function: ease-out; font-family: Google Sans Text, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><div _ngcontent-ng-c2732813379="" class="code-block ng-tns-c2732813379-28 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiemKLF19uUAxUAAAAAHQAAAAAQrwE" style="display: block; font-family: Google Sans Text, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><div _ngcontent-ng-c2732813379="" class="formatted-code-block-internal-container ng-tns-c2732813379-28" style="font-family: Google Sans Text, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;">- **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."*

</div></div></div>##### Method B : La méthode "Bucket" (Bucket Policy)

<div _ngcontent-ng-c435055463="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr" id="bkmrk-c%27est-quoi-%3F-une-feu-1" style="--animation-duration: 400ms; --fade-animation-function: ease-out; font-family: Google Sans Text, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><div _ngcontent-ng-c2732813379="" class="code-block ng-tns-c2732813379-28 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" data-hveid="0" data-ved="0CAAQhtANahgKEwiemKLF19uUAxUAAAAAHQAAAAAQrwE" style="display: block; font-family: Google Sans Text, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"><div _ngcontent-ng-c2732813379="" class="formatted-code-block-internal-container ng-tns-c2732813379-28" style="font-family: Google Sans Text, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;">- **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."*

---

</div></div></div>#### **2. Comment S3 prend sa décision ?**

<div _ngcontent-ng-c435055463="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr" id="bkmrk--1" style="--animation-duration: 400ms; --fade-animation-function: ease-out; font-family: Google Sans Text, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"></div>Quand quelqu'un clique sur un fichier dans S3, AWS vérifie les permissions dans cet ordre :

1. **Y a-t-il une interdiction (`Deny`) ?** Si une règle dit "Interdit", c'est fini. L'accès est bloqué immédiatement, même si une autre règle disait oui.
2. **Y a-t-il une autorisation (`Allow`) ?** S'il n'y a pas de `Deny`, il faut au moins un `Allow` (soit sur l'utilisateur, soit sur le bucket) pour que ça passe.

---

#### **3. Trois 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.

<div _ngcontent-ng-c435055463="" aria-busy="false" aria-live="polite" class="markdown markdown-main-panel enable-updated-hr-color" dir="ltr" id="bkmrk--6" style="--animation-duration: 400ms; --fade-animation-function: ease-out; font-family: Google Sans Text, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important;"></div>