diff --git a/pages/storage_and_backup/object_storage/s3_managing_object_lock/guide.en-gb.md b/pages/storage_and_backup/object_storage/s3_managing_object_lock/guide.en-gb.md
index ea4890bc778..1e877220175 100644
--- a/pages/storage_and_backup/object_storage/s3_managing_object_lock/guide.en-gb.md
+++ b/pages/storage_and_backup/object_storage/s3_managing_object_lock/guide.en-gb.md
@@ -4,6 +4,20 @@ excerpt: Object Lock is a feature that allows you to store objects using a Write
updated: 2025-03-25
---
+
+
## Objective
Object Lock is a feature that allows you to store objects using a **W**rite **O**nce, **R**ead **M**any (WORM) model and can be used for scenarios where it is imperative that data is not changed or deleted after it has been written.
@@ -16,25 +30,9 @@ Object Lock provides two ways to manage object retention. The first is *retentio
### How does Object Lock work ?
-To understand how Object Lock lock works, we must first understand how deletion of objects and versioning work together. When a delete object operation is performed on an object in a versioning-enabled bucket, it does not delete the object permanently but it creates a delete marker on the object. This delete marker becomes the latest and current version of the object with a new version id.
-
-A delete marker has the following properties:
+Object Lock allows objects to be made immutable for a defined period (*Retention*) or indefinitely (*Legal hold*).
-- A key and version ID like any other object.
-- It does not have data associated with it, thus it does not retrieve anything from a GET request (you get a 404 error).
-- By default, it is not displayed in the Control Panel UI anymore.
-- The only operation you can use on a delete marker is DELETE, and only the bucket owner can issue such a request.
-
-To permanently delete an object, you have to specify the version-id in your delete object request:
-
-```bash
-aws s3api delete-object --bucket my-bucket --key an-object --version-id 123456huijw0
-```
-
-The Object Lock feature prevents objects, for a fixed amount of time (retention mode) or indefinitely (legal hold), from being:
-
-- deleted even if you specify the version id (you get an Access Denied error) ;
-- overwritten by using versioning.
+For the feature to work, versioning must be enabled on the bucket.
> [!primary]
>
@@ -43,22 +41,35 @@ The Object Lock feature prevents objects, for a fixed amount of time (retention
### Retention periods
-A retention period specifies a fixed period of time during which an object remains locked. During this period, your object is protected and can’t be overwritten or deleted. You apply a retention period either in number of days or number of years with the minimum being 1-day and no maximum limit.
+A retention period defines the length of time an object remains locked. During this period, the object is protected and cannot be modified or deleted. Retention can be defined in days or years, with a minimum of one day and no maximum limit.
-When setting a retention period for your objects or buckets, you can choose the retention mode you wish to apply to your objects. You can choose either the *Governance mode* or the *Compliance mode* for your objects.
+When defining a retention period for a bucket or its objects, you must choose the retention mode to apply: **Governance** or **Compliance**.
#### Governance mode
-You should use the Governance mode if you want to protect objects from being deleted by most users during a pre-defined retention period, while authorising some users with special permissions to have the flexibility to alter the retention settings or delete the objects. Users with the `s3:BypassGovernanceRetention` permission can override or remove governance-mode retention settings.
+**Governance** mode prevents most users from deleting or modifying objects during the retention period, while allowing certain users with specific rights to manage retention or delete objects.
+
+Authorized users with `s3:BypassGovernanceRetention` can thus replace or delete objects in **Governance** mode.
+
+> [!primary]
+>
+> **Best practice:** Use **Governance** mode when you want to protect your data while maintaining operational flexibility for specific administrative roles.
+>
#### Compliance mode
-You should use the Compliance mode if you have a requirement to store compliant data.
-When this mode is set, an object version cannot be overwritten or deleted by any user. If this mode is configured for an object, then its retention mode cannot be changed, and its retention period can’t be shortened.
+**Compliance** mode ensures that objects cannot be modified or deleted by any user, including administrators, during the entire retention period.
+
+Once this mode is enabled for an object, its retention mode and duration cannot be changed.
+
+> [!primary]
+>
+> **Best practice:** Only use **Compliance** mode if you need to ensure strict immutability for compliance or regulatory purposes.
+>
> [!warning]
>
-> You should only use the Compliance mode if you never want any user, including the administrator user, to be able to delete the objects during a pre-defined retention period.
+> Compliance mode should only be selected if no user, including the administrator, should be able to delete or modify objects during the retention period.
>
### Legal hold
@@ -99,56 +110,75 @@ See our [Getting started with Object Storage](/pages/storage_and_backup/object_s
### Object Lock configuration
-To use Object Lock, you have to create a bucket that supports the feature with the `--object-lock-enabled-for-bucket` flag. If a bucket is created without `--object-lock-enabled-for-bucket`, the flag cannot be added later.
-
> [!primary]
>
-> The following command does not apply Object Lock to the bucket’s objects, it only activates the feature.
->
-
-```bash
-aws s3api create-bucket \
- --bucket object-lock-bucket \
- --object-lock-enabled-for-bucket
-```
-
-> [!primary]
+> Enabling Object Lock does not automatically apply to existing or future objects in the bucket. It only enables the feature at the bucket level; a retention configuration must then be defined for objects to be effectively protected.
>
> This action also enables versioning of the bucket.
>
+> [!tabs]
+> Via AWS cli
+>> To use Object Lock, you have to create a bucket that supports the feature with the `--object-lock-enabled-for-bucket` flag. If a bucket is created without `--object-lock-enabled-for-bucket`, the flag cannot be added later.
+>>
+>> ```bash
+>> aws s3api create-bucket \
+>> --bucket object-lock-bucket \
+>> --object-lock-enabled-for-bucket
+>> ```
+>>
+> Via the OVHcloud Control Panel
+>> To manage an Object Storage bucket, first log in to your [OVHcloud Control Panel](/links/manager) and open your `Public Cloud`{.action} project.
+>>
+>> Click on `Object Storage`{.action} in the navigation bar, then click on `Create object container`{.action}.
+>>
+>> When creating an Object Storage bucket, a dedicated step allows you to enable Object Lock in order to store objects in WORM (Write Once, Read Many) mode.
+>>
+>> Once Object Lock is enabled, the setting is irreversible for the bucket concerned. All stored objects are therefore guaranteed to remain immutable until the end of the defined retention period.
+>>
+
### How to configure Object Lock on bucket
The lock configuration enables you to set a lock configuration on a specified bucket. Once set, the rule specified in the Object Lock configuration is applied by default to every new object placed in the specified bucket.
-```bash
-aws s3api put-object-lock-configuration \
- --bucket object-lock-bucket \
- --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "GOVERNANCE", "Days": 60 }}}'
-```
-
-To view the Object Lock configuration of a bucket, run:
-
-```bash
-aws s3api get-object-lock-configuration \
- --bucket object-lock-bucket
-```
-
-The result should look like this:
-
-```json
-{
- "ObjectLockConfiguration": {
- "ObjectLockEnabled": "Enabled",
- "Rule": {
- "DefaultRetention": {
- "Mode": "GOVERNANCE",
- "Days": 60
- }
- }
- }
-}
-```
+> [!tabs]
+> Via AWS cli
+>> ```bash
+>> aws s3api put-object-lock-configuration \
+>> --bucket object-lock-bucket \
+>> --object-lock-configuration '{ "ObjectLockEnabled": "Enabled", "Rule": { "DefaultRetention": { "Mode": "GOVERNANCE", "Days": 60 }}}'
+>> ```
+>>
+>> To view the Object Lock configuration of a bucket, run:
+>>
+>> ```bash
+>> aws s3api get-object-lock-configuration \
+>> --bucket object-lock-bucket
+>> ```
+>>
+>> The result should look like this:
+>>
+>> ```json
+>> {
+>> "ObjectLockConfiguration": {
+>> "ObjectLockEnabled": "Enabled",
+>> "Rule": {
+>> "DefaultRetention": {
+>> "Mode": "GOVERNANCE",
+>> "Days": 60
+>> }
+>> }
+>> }
+>> }
+>> ```
+>>
+> Via the OVHcloud Control Panel
+>> To manage an Object Storage bucket, first log in to your [OVHcloud control panel](/links/manager) and open your `Public Cloud`{.action} project.
+>>
+>> Click on `Object Storage`{.action} in the navigation bar, then on the `My containers`{.action} tab, and then on the `name of your container`{.action}.
+>>
+>> From the `General Information`{.action} tab, click `Configure Retention`{.action}, enable retention, and then set the applicable retention mode and period. Next, click the `Save`{.action} button.
+>>
### How to configure an Object Lock retention period on an object
@@ -241,6 +271,54 @@ The result should look like this:
}
```
+### Object Lock and Object Deletion
+
+When versioning is enabled, deleting an object does not delete the object immediately but creates a **delete flag**. This flag becomes the current version of the object with a new ID.
+
+A delete flag:
+
+- Has a key and version ID like any other object.
+- Does not contain data (GET returns 404).
+- Is not displayed by default in the customer area.
+- Can only be manipulated by DELETE, by the bucket owner.
+
+The **Object Lock** feature prevents objects from being:
+
+- Deleted even with a version ID (returns `Access Denied`).
+- Overwritten by versioning.
+
+#### How deletions work with Object Lock
+
+When Object Lock is enabled and an object is protected by a retention period or legal hold, deletion attempts behave differently depending on the type of request:
+
+/// details | **Deletion with version ID (permanent DELETE)**
+
+- Deletion is blocked during the retention period.
+- The response returned is 403 Forbidden (Access denied).
+- This protection applies to all users, even administrators, depending on the retention mode.
+
+To permanently delete an object, you must specify the version ID in your request:
+
+```bash
+aws s3api delete-object --bucket my-bucket --key an-object --version-id 123456huijw0
+```
+
+> [!primary]
+>
+> This command will fail if the object is protected by Object Lock in Compliance or Governance mode without the appropriate bypass.
+>
+
+///
+
+/// details | **Deletion without version ID (simple DELETE)**
+- The request returns 200 OK.
+- A deletion token is created in the bucket and becomes the current version of the object.
+- The object remains protected by the retention period.
+
+**Note:** Deletion markers and access errors can be managed via the corresponding APIs/CLIs.
+
+///
+
## Go further
If you need training or technical assistance to implement our solutions, contact your sales representative or click on [this link](/links/professional-services) to get a quote and ask our Professional Services experts for assisting you on your specific use case of your project.
diff --git a/pages/storage_and_backup/object_storage/s3_managing_object_lock/guide.fr-fr.md b/pages/storage_and_backup/object_storage/s3_managing_object_lock/guide.fr-fr.md
index 440fd203c33..784d6ccb127 100644
--- a/pages/storage_and_backup/object_storage/s3_managing_object_lock/guide.fr-fr.md
+++ b/pages/storage_and_backup/object_storage/s3_managing_object_lock/guide.fr-fr.md
@@ -4,6 +4,20 @@ excerpt: "Object Lock est une fonctionnalité qui vous permet de stocker des obj
updated: 2025-03-25
---
+
+
## Objectif
Object Lock est une fonctionnalité qui vous permet de stocker des objets en utilisant un modèle WORM (**W**rite **O**nce, **R**ead **M**any) et peut être utilisé dans des scénarios où il est impératif que les données ne soient pas modifiées ou supprimées après avoir été écrites.
@@ -16,25 +30,9 @@ Object Lock fournit deux façons de gérer la rétention des objets. La premièr
### Comment fonctionne Object Lock ?
-Pour comprendre le fonctionnement de Object Lock, nous devons d'abord comprendre comment la suppression d'objets et le *versioning* fonctionnent ensemble. Lorsqu'une opération de suppression d'objet est effectuée sur un objet dans un bucket sur lequel le *versioning* est activé, elle ne supprime pas l'objet de manière permanente, mais crée un marqueur de suppression sur l'objet. Ce marqueur de suppression devient la version la plus récente et la version actuelle de l'objet avec un nouvel ID de version.
-
-Un marqueur de suppression possède les propriétés suivantes :
-
-- Une clé et un ID de version comme tout autre objet.
-- Il n'a pas de données associées, donc il ne récupère rien d'une requête GET (vous obtenez une erreur 404).
-- Par défaut, il n'est plus affiché dans l'espace client.
-- La seule opération que vous pouvez utiliser sur un marqueur de suppression est DELETE, et seul le propriétaire du bucket peut effectuer une telle demande.
-
-Pour supprimer définitivement un objet, vous devez spécifier l'ID de version dans votre demande de suppression d'objet :
-
-```bash
-aws s3api delete-object --bucket my-bucket --key an-object --version-id 123456huijw0
-```
-
-La fonction Object Lock empêche les objets, pendant une durée fixe (mode de rétention) ou indéfiniment (conservation légale), d'être :
-
-- supprimés même si vous spécifiez le *version id* (vous obtenez une erreur « Access Denied ») ;
-- écrasés par le *versioning*.
+Object Lock permet de rendre les objets immuables pendant une période définie (*Rétention*) ou indéfinie (*Legal hold*).
+
+Pour que la fonctionnalité fonctionne, le *versioning* doit être activé sur le bucket.
> [!primary]
>
@@ -43,22 +41,35 @@ La fonction Object Lock empêche les objets, pendant une durée fixe (mode de r
### Périodes de rétention
-Une période de rétention spécifie une période de temps fixe pendant laquelle un objet reste verrouillé. Pendant cette période, votre objet est protégé et ne peut pas être écrasé ou supprimé. Vous pouvez appliquer une période de rétention en nombre de jours ou en nombre d'années, avec un minimum d'un jour et aucune limite maximale.
+Une période de rétention définit une durée pendant laquelle un objet reste verrouillé. Pendant cette période, l’objet est protégé et ne peut ni être modifié ni supprimé. La rétention peut être définie en jours ou en années, avec un minimum d’un jour et sans limite maximale.
-Lorsque vous définissez une période de rétention pour vos objets ou vos buckets, vous pouvez choisir le mode de rétention que vous souhaitez appliquer à vos objets. Vous pouvez choisir soit le mode *Governance*, soit le mode *Compliance* pour vos objets.
+Lors de la définition d’une période de rétention pour un bucket ou ses objets, vous devez choisir le mode de rétention à appliquer : **Governance** ou **Compliance**.
#### Mode Governance
-Vous devriez utiliser le mode *Governance* si vous souhaitez empêcher la suppression des objets par la plupart des utilisateurs au cours d'une période de rétention prédéfinie, tout en permettant à certains utilisateurs disposant d'autorisations spéciales de modifier les paramètres de rétention ou de supprimer les objets. Les utilisateurs disposant de l'autorisation `s3:BypassGovernanceRetention` peuvent remplacer ou supprimer les paramètres de rétention en mode *Governance*.
+Le mode **Governance** empêche la plupart des utilisateurs de supprimer ou modifier les objets pendant la période de rétention, tout en permettant à certains utilisateurs disposant de droits spécifiques de gérer la rétention ou de supprimer des objets.
+
+Les utilisateurs autorisés possédant `s3:BypassGovernanceRetention` peuvent ainsi remplacer ou supprimer des objets en mode **Governance**.
+
+> [!primary]
+>
+> **Bonne pratique :** utilisez le mode **Governance** lorsque vous souhaitez protéger vos données tout en conservant une certaine flexibilité opérationnelle pour des rôles administratifs spécifiques.
+>
#### Mode Compliance
-Vous devriez utiliser le mode *Compliance* si vous avez l'obligation de stocker des données conformes.
-Lorsque ce mode est activé, la version d'un objet ne peut être écrasée ou supprimée par aucun utilisateur. Si ce mode est configuré pour un objet, son mode de rétention ne peut pas être modifié et sa période de rétention ne peut pas être raccourcie.
+Le mode **Compliance** garantit que les objets ne peuvent être ni modifiés ni supprimés par aucun utilisateur, y compris les administrateurs, pendant toute la période de rétention.
+
+Une fois ce mode activé pour un objet, son mode de rétention et sa durée ne peuvent pas être modifiés.
> [!primary]
>
-> Vous ne devez utiliser le mode *Compliance* que si vous ne voulez jamais qu'un utilisateur, y compris l'utilisateur administrateur, puisse supprimer les objets pendant une période de rétention prédéfinie.
+> **Bonne pratique :** utilisez le mode **Compliance** uniquement si vous devez assurer une immutabilité stricte pour des besoins de conformité ou réglementaires.
+>
+
+> [!warning]
+>
+> Le mode Compliance doit être choisi uniquement si aucun utilisateur, y compris l’administrateur, ne doit pouvoir supprimer ou modifier les objets pendant la période de rétention.
>
### Legal hold
@@ -99,56 +110,76 @@ Consultez notre guide « [Débuter avec Object Storage](/pages/storage_and_backu
### Configuration d'Object Lock
-Pour utiliser Object Lock, vous devez créer un bucket qui supporte la fonctionnalité avec le flag `--object-lock-enabled-for-bucket`. Si un bucket est créé sans ce flag, il ne pourra pas être ajouté ultérieurement.
-
> [!primary]
>
-> La commande suivante n'applique pas l'Object Lock aux objets du bucket, elle active seulement la fonctionnalité.
->
-
-```bash
-aws s3api create-bucket \
- --bucket object-lock-bucket \
- --object-lock-enabled-for-bucket
-```
-
-> [!primary]
+> L’activation de l’Object Lock ne s’applique pas automatiquement aux objets existants ou futurs du bucket. Elle permet uniquement d’activer la fonctionnalité au niveau du bucket ; une configuration de rétention doit ensuite être définie pour que les objets soient effectivement protégés.
>
> Cette action active également le versioning du bucket.
>
+> [!tabs]
+> Via AWS cli
+>> Pour utiliser Object Lock, vous devez créer un bucket qui supporte la fonctionnalité avec le flag `--object-lock-enabled-for-bucket`. Si un bucket est créé sans ce flag, il ne pourra pas être ajouté ultérieurement.
+>>
+>>
+>> ```bash
+>> aws s3api create-bucket \
+>> --bucket object-lock-bucket \
+>> --object-lock-enabled-for-bucket
+>> ```
+>>
+> Via l'espace client OVHcloud
+>> Pour gérer un bucket Object Storage, connectez-vous d'abord à votre [espace client OVHcloud](/links/manager) et ouvrez votre projet `Public Cloud`{.action}.
+>>
+>> Cliquez sur `Object Storage`{.action} dans la barre de navigation, puis cliquez sur `Créer un conteneur d'objets`{.action}.
+>>
+>> Lors de la création d’un bucket Object Storage, une étape dédiée permet d’activer l’Object Lock afin de stocker les objets en mode WORM (Write Once, Read Many).
+>>
+>> Une fois l’Object Lock activé, le paramètre est irréversible pour le bucket concerné. Tous les objets stockés bénéficient ainsi d’une immutabilité garantie jusqu’à la fin de la période de rétention définie.
+>>
+
### Configuration d'Object Lock sur un bucket
Object Lock vous permet de définir une période de rétention sur un bucket spécifique. Une fois définie, la règle spécifiée est appliquée par défaut à chaque nouvel objet placé dans le bucket spécifié.
-```bash
-aws s3api put-object-lock-configuration \
- --bucket object-lock-bucket \
- --object-lock-configuration '{ "ObjectLockEnabled" : "Enabled", "Rule" : { "DefaultRetention" : { "Mode" : "GOVERNANCE", "Days" : 60 }}}'
-```
-
-Pour afficher la configuration Object Lock d'un bucket, exécutez :
-
-```bash
-aws s3api get-object-lock-configuration \
- --bucket object-lock-bucket
-```
-
-Le résultat devrait ressembler à ceci :
-
-```json
-{
- "ObjectLockConfiguration" : {
- "ObjectLockEnabled" : "Enabled",
- "Rule" : {
- "DefaultRetention" : {
- "Mode" : "GOVERNANCE",
- "Days" : 60
- }
- }
- }
-}
-```
+> [!tabs]
+> Via AWS cli
+>> ```bash
+>> aws s3api put-object-lock-configuration \
+>> --bucket object-lock-bucket \
+>> --object-lock-configuration '{ "ObjectLockEnabled" : "Enabled", "Rule" : { "DefaultRetention" : { "Mode" : "GOVERNANCE", "Days" : 60 }}}'
+>> ```
+>>
+>> Pour afficher la configuration Object Lock d'un bucket, exécutez :
+>>
+>> ```bash
+>> aws s3api get-object-lock-configuration \
+>> --bucket object-lock-bucket
+>> ```
+>>
+>> Le résultat devrait ressembler à ceci :
+>>
+>> ```json
+>> {
+>> "ObjectLockConfiguration" : {
+>> "ObjectLockEnabled" : "Enabled",
+>> "Rule" : {
+>> "DefaultRetention" : {
+>> "Mode" : "GOVERNANCE",
+>> "Days" : 60
+>> }
+>> }
+>> }
+>> }
+>> ```
+>>
+> Via l'espace client OVHcloud
+>> Pour gérer un bucket Object Storage, connectez-vous d'abord à votre [espace client OVHcloud](/links/manager) et ouvrez votre projet `Public Cloud`{.action}.
+>>
+>> Cliquez sur `Object Storage`{.action} dans la barre de navigation, sur l'onglet `Mes conteneurs`{.action}, puis cliquez sur le `nom de votre conteneur`{.action}.
+>>
+>> Depuis l’onglet `Informations générales`{.action}, cliquez sur `Configurer la rétention`{.action}, activez la rétention, puis définissez le mode et la période de rétention applicables. Cliquez ensuite sur le bouton `Sauvegarder`{.action}.
+>>
### Comment configurer une période de rétention sur un objet
@@ -241,6 +272,54 @@ Le résultat devrait ressembler à ceci :
}
```
+### Object Lock et suppression d'objets
+
+Lorsque le *versioning* est activé, une suppression d'objet ne supprime pas l'objet immédiatement mais crée un **marqueur de suppression**. Ce marqueur devient la version actuelle de l’objet avec un nouvel ID.
+
+Un marqueur de suppression :
+
+- A une clé et un ID de version comme tout autre objet.
+- Ne contient pas de données (GET retourne 404).
+- N'est pas affiché par défaut dans l’espace client.
+- Ne peut être manipulé que par DELETE, par le propriétaire du bucket.
+
+La fonction **Object Lock** empêche les objets d’être :
+
+- Supprimés même avec un ID de version (renvoie `Access Denied`).
+- Écrasés par le versioning.
+
+#### Fonctionnement des suppressions avec Object Lock
+
+Lorsque l’Object Lock est activé et qu’un objet est protégé par une période de rétention ou une conservation légale, les tentatives de suppression se comportent différemment selon le type de requête :
+
+/// details | **Suppression avec ID de version (DELETE permanente)**
+
+- La suppression est bloquée pendant la période de rétention.
+- La réponse renvoyée est 403 Forbidden (Accès refusé).
+- Cette protection s’applique à tous les utilisateurs, même les administrateurs, selon le mode de rétention.
+
+Pour supprimer définitivement un objet, vous devez spécifier l’ID de version dans votre demande :
+
+```bash
+aws s3api delete-object --bucket my-bucket --key an-object --version-id 123456huijw0
+```
+
+> [!primary]
+>
+> Cette commande échouera si l’objet est protégé par Object Lock en mode Compliance ou Governance sans le contournement adéquat.
+>
+
+///
+
+/// details | **Suppression sans ID de version (DELETE simple)**
+- La requête renvoie 200 OK.
+- Un marqueur de suppression est créé dans le bucket et devient la version actuelle de l’objet.
+- L’objet reste protégé par la période de rétention.
+
+**Remarque :** la gestion des marqueurs de suppression et des erreurs d’accès peut se faire via les API/CLI correspondantes.
+
+///
+
## Aller plus loin
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur [ce lien](/links/professional-services) pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.