> For the complete documentation index, see [llms.txt](https://docs.stoik.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.stoik.io/cyber-best-practices/fr/renforcez-votre-environnement/readme/immutable-s3-backups.md).

# Sauvegardes S3 immuables

Vous pouvez utiliser S3 Object Lock pour

1. **Stocker des objets à l’aide d’un modèle WORM** (Write-Once-Read-Many). Le verrouillage des objets peut aider à empêcher la suppression ou l’écrasement des objets pendant une période de temps spécifiée ou indéfiniment.
2. **Répondre aux exigences réglementaires** qui imposent un stockage WORM, ou pour ajouter une couche de protection supplémentaire contre les modifications et la suppression des sauvegardes.

Autorisations AWS requises pour effectuer l’opération :

* `s3:PutObjectLockConfiguration`
* `s3:PutBucketVersioning`

### Activation de la fonctionnalité Object Lock

* Object Lock ne peut être activé que pour de nouveaux buckets S3. Pour activer Object Lock sur un bucket existant, vous devez contacter le Support AWS pour obtenir un devis.
* Lorsque vous créez un bucket avec Object Lock activé, Amazon S3 active automatiquement le versioning pour le bucket.
* Si vous créez un bucket avec Object Lock activé, vous ne pouvez pas désactiver Object Lock ni suspendre le versioning pour le bucket.

{% stepper %}
{% step %}

### Le bucket S3 n’existe pas

Lorsque vous êtes dans le [bucket S3](https://s3.console.aws.amazon.com/s3/bucket/create) centre de gestion, cliquez sur Paramètres avancés, puis sélectionnez Activer :

![](https://content.gitbook.com/content/jlP9dfgnu6hj9gyZJG1g/blobs/yJvmXcrmrEIxchIO2g8P/image%20png%20Sep%2014%202023%2002%2000%2054%207804%20PM.png)

Configurez ensuite le reste de votre bucket. Vous avez alors deux options pour configurer Object Lock :

1. **Mode de gouvernance** : les objets du compartiment ne peuvent pas être supprimés sans privilèges élevés et l’autorisation AWS s3:BypassGovernanceRetention.
2. **Mode de conformité** : ce mode offre le plus haut niveau d’immuabilité disponible. Il est impossible de supprimer des buckets configurés dans ce mode, même avec les privilèges du compte racine AWS.

Nous vous recommandons de configurer vos sauvegardes essentielles en utilisant **Mode de conformité**.

![](https://content.gitbook.com/content/jlP9dfgnu6hj9gyZJG1g/blobs/UVxi6pyaLHjG26fP2MDX/image%20png%20Sep%2014%202023%2002%2027%2052%202103%20PM.png)

Enfin, choisissez votre période de rétention des objets en la configurant selon votre stratégie de sauvegarde.

Sources :

* <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-overview.html>
* <https://aws.amazon.com/fr/blogs/storage/how-to-manage-retention-periods-in-bulk-using-amazon-s3-batch-operations/>
  {% endstep %}

{% step %}

### Le bucket S3 existe

Vous avez contacté le Support AWS et la copie des objets de votre bucket existant vers le bucket avec Object Lock activé est trop coûteuse.

Nous vous recommandons de configurer vos futures sauvegardes en utilisant l’étape 1 de ce guide et d’appliquer les mesures de sécurité suivantes à vos sauvegardes précédentes :

Une fois que vous avez activé la suppression MFA, seul le ***root*** utilisateur peut supprimer définitivement des objets S3 ou modifier la configuration du versioning sur votre bucket S3. L’utilisateur root doit être authentifié par un dispositif MFA pour effectuer cette action.

**Pour activer la suppression MFA pour votre bucket, suivez ces étapes :**

* [Générez une clé d’accès et une clé secrète](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user_manage_add-key.html) pour l’utilisateur root.
* [Configurez un dispositif MFA pour l’utilisateur root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html#enable-virt-mfa-for-root) (si ce n’est pas déjà fait).
* Configurez l’AWS Command Line Interface (AWS CLI) avec les identifiants de l’utilisateur root.
* Utilisez l’ *PutBucketVersioning* API pour activer la fonctionnalité de suppression MFA :

```bash
aws s3api put-bucket-versioning --bucket mybucketname --versioning-configuration MFADelete=Enabled,Status=Enabled --mfa "arn:aws:iam::(accountnumber):mfa/root-account-mfa-device (pass)"
```

* Vérifiez ensuite que la configuration a réussi :
* Vérifiez dans la console Amazon S3 que le versioning est activé pour le bucket.
* Vérifiez que la suppression MFA est activée, en utilisant l’ *GetBucketVersioning* API :

```bash
aws s3api get-bucket-versioning --bucket mybucketname
{
  "Status": "Enabled",
  "MFADelete": "Enabled"
}
```

**Si le résultat de l’objet JSON MFADelete est Enabled, la configuration a été effectuée avec succès.**
{% endstep %}
{% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.stoik.io/cyber-best-practices/fr/renforcez-votre-environnement/readme/immutable-s3-backups.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
