Accueil  ›  Glossaire  ›  S3 Object Lock

Qu'est-ce que S3 Object Lock ?

S3 Object Lock est une fonctionnalité d'Amazon S3 et des stockages objet compatibles S3 qui empêche d'écraser ou de supprimer une version d'objet pendant une durée définie — ou indéfiniment. C'est le mécanisme que la plupart des organisations utilisent aujourd'hui pour rendre les données réellement immuables, et c'est lui qui transforme un stockage objet ordinaire en archive WORM (écrire une fois, lire plusieurs fois) conforme.

Deux choix de conception expliquent sa robustesse. La protection s'applique à une version d'objet précise, et non à un nom de fichier, et elle est imposée par la plateforme de stockage, non par l'application qui a écrit les données. Comme la règle se situe sous la couche applicative, un serveur de sauvegarde compromis, un script malveillant ou un administrateur disposant de tous les droits ne peuvent pas effacer discrètement les données protégées.

Comment fonctionne S3 Object Lock

Object Lock repose sur le versioning. Il ne peut être utilisé que sur des buckets dont le versioning S3 est activé, et il protège des versions d'objet précises. Object Lock peut être activé à la création d'un bucket, ou ajouté à un bucket existant une fois le versioning activé — mais la décision est définitive : une fois Object Lock activé, il ne peut plus être désactivé et le versioning ne peut plus être suspendu.

Le bucket configuré, la rétention s'applique objet par objet à l'écriture, ou via une rétention par défaut du bucket exprimée en jours ou en années. Dès lors, la plateforme modifie sa réponse aux demandes d'écriture et de suppression :

  • Les écrasements deviennent de nouvelles versions. Écrire sur la même clé ne remplace pas les données protégées : cela ajoute une version supplémentaire à côté.
  • La suppression d'une version précise échoue. Un DELETE indiquant l'identifiant de la version verrouillée est refusé avec une erreur d'accès refusé.
  • La suppression simple crée un marqueur de suppression. Un DELETE sans identifiant de version aboutit et ajoute un marqueur de suppression, qui devient la version courante.

Ce dernier comportement est le détail le plus souvent ignoré. Les marqueurs de suppression ne sont pas eux-mêmes protégés par la rétention : un objet peut donc sembler supprimé alors que toutes les versions verrouillées situées en dessous restent intactes et parfaitement récupérables. L'objet est masqué, pas détruit.

Mode Compliance et mode Governance

Object Lock propose deux modes de rétention, et le choix entre les deux est le réglage le plus lourd de conséquences.

Le mode Compliance est absolu. Personne ne peut supprimer ni modifier une version d'objet verrouillée avant sa date de rétention : ni un administrateur, ni le propriétaire du compte, ni l'utilisateur root. La période de rétention peut être prolongée, mais jamais raccourcie ni supprimée. C'est le mode à retenir lorsqu'un auditeur exige la garantie que les enregistrements ne peuvent réellement pas être altérés.

Le mode Governance applique la même protection par défaut, mais laisse une porte de sortie assumée : un utilisateur détenant l'autorisation de contournement de la rétention Governance et demandant explicitement à contourner le verrou peut raccourcir la rétention ou supprimer la version. Il convient aux équipes dont la préoccupation première est la suppression accidentelle ou malveillante plutôt que la rétention réglementaire, et qui ont besoin d'un moyen contrôlé de corriger une erreur.

En pratique, beaucoup d'organisations utilisent le mode Governance en développement et en test, et réservent le mode Compliance à la production et aux données réglementées, où l'impossibilité d'intervenir est justement l'objectif recherché.

Périodes de rétention et conservation légale

Object Lock offre deux contrôles indépendants, et une version d'objet peut porter l'un, l'autre, les deux ou aucun.

Une période de rétention fixe une date de conservation. Elle est généralement appliquée par l'application qui écrit les données — le logiciel de sauvegarde, par exemple, définit la rétention selon sa propre politique — ou héritée de la rétention par défaut du bucket. À son expiration, la protection cesse et la version peut être supprimée selon la politique de cycle de vie habituelle.

Une conservation légale (legal hold) est un simple indicateur actif/inactif, sans date d'expiration. Elle reste en vigueur jusqu'à ce qu'une personne disposant de l'autorisation adéquate la retire explicitement, ce qui en fait l'outil approprié pour les litiges, les enquêtes et les audits dont la durée est inconnue au départ. Les deux contrôles étant indépendants, une conservation légale continue de protéger une version d'objet même après l'expiration de sa période de rétention.

Object Lock, WORM et immuabilité

Ces trois termes décrivent la même protection à des niveaux différents. L'immuabilité est la propriété : des données qui ne peuvent pas être modifiées. Le WORM (écrire une fois, lire plusieurs fois) est le modèle de stockage qui l'apporte. Object Lock est le mécanisme d'API concret qui applique la rétention WORM à chaque objet dans un stockage compatible S3. Object Lock est le moyen d'activer le WORM ; le WORM est le moyen d'obtenir l'immuabilité.

Il est utile de distinguer Object Lock de contrôles qui lui ressemblent sans être équivalents. Les politiques de bucket et les règles de refus IAM peuvent bloquer la suppression, mais il s'agit de configuration : un administrateur suffisamment privilégié peut les modifier. Object Lock en mode Compliance ne peut être modifié par personne. Les instantanés, le versioning seul et les copies isolées sont des protections complémentaires et non des substituts : le versioning conserve l'historique mais autorise la suppression définitive des versions, ce qui est précisément la faille que comble Object Lock.

S3 Object Lock et ARTESCA

Scality ARTESCA met en œuvre S3 Object Lock dans les modes Governance et Compliance, avec prise en charge des périodes de rétention et de la conservation légale : les données de sauvegarde et d'archivage écrites sur ARTESCA sont immuables dès leur arrivée. La rétention est appliquée au niveau de la couche de stockage et ne peut pas être désactivée par un compte administrateur compromis.

La sécurité est intégrée plutôt qu'ajoutée : immuabilité architecturale, système d'exploitation durci et contrôles de cyber-résilience de bout en bout entourent chaque objet et étendent la protection Object Lock à l'ensemble du chemin de données.

ARTESCA est validé avec les principales plateformes de sauvegarde — dont Veeam, Commvault et Rubrik — qui appliquent automatiquement la rétention Object Lock à l'écriture. Le résultat : une cible de stockage immuable, conforme et résiliente face aux rançongiciels, qui s'installe sur des serveurs standard.

FAQ sur S3 Object Lock

S3 Object Lock nécessite-t-il le versioning ?

Oui. Object Lock ne fonctionne que sur des buckets dont le versioning S3 est activé, car la protection s'applique à des versions d'objet précises et non à des noms de fichier.

Peut-on désactiver S3 Object Lock ?

Pas au niveau du bucket. Une fois Object Lock activé, il ne peut plus être désactivé et le versioning ne peut plus être suspendu. La rétention définie en mode Governance peut être contournée par un utilisateur spécifiquement habilité ; celle définie en mode Compliance ne peut être contournée par personne.

Un objet verrouillé peut-il quand même être supprimé ?

Une demande de suppression indiquant l'identifiant de la version verrouillée est refusée. Une demande sans identifiant de version aboutit et ajoute un marqueur de suppression : l'objet paraît supprimé alors que toutes les versions protégées restent intactes et récupérables.

Quelle est la différence entre les modes Compliance et Governance ?

Le mode Compliance n'admet aucune exception ni aucun raccourcissement de la rétention, même pour le propriétaire du compte. Le mode Governance permet aux utilisateurs détenant l'autorisation de contournement de raccourcir la rétention ou de supprimer une version verrouillée lorsqu'ils le demandent explicitement.

S3 Object Lock et le WORM sont-ils la même chose ?

Object Lock est le mécanisme ; le WORM est le modèle qu'il met en œuvre. C'est l'activation de la rétention Object Lock qui fait qu'un stockage compatible S3 se comporte comme une archive WORM.