Protéger les versions avec Object Lock
Object Lock protège des versions contre la suppression définitive. Une rétention les protège jusqu’à une date ; une conservation légale les protège sans date d’expiration. Ces protections sont indépendantes : retirer l’une ne retire pas l’autre.
Une nouvelle version ou un marqueur peut être créé sous la même clé sans supprimer la version protégée. Object Lock ne dispense pas de conserver les clés de chiffrement nécessaires à sa lecture.
Capacités et permissions
Ouvrez File > Accounts…, sélectionnez le compte, cliquez sur Edit…, puis ouvrez Capabilities > Data protection. Configurez séparément la lecture du bucket, son activation, la rétention par défaut, la lecture et la modification de chaque protection, les protections envoyées avec les transferts et le contournement Governance. Voir les capacités du compte. Ces capacités exigent Object versions et n’accordent aucun droit aux identifiants.
| Action | Permissions usuelles |
|---|---|
| Lire l’état du bucket | s3:GetBucketObjectLockConfiguration. |
| Activer ou modifier la configuration | s3:PutBucketObjectLockConfiguration, et s3:PutBucketVersioning pour l’activation côté service. |
| Lire les protections | s3:GetObjectRetention, s3:GetObjectLegalHold, accès aux propriétés de la version. |
| Modifier les protections | s3:PutObjectRetention, s3:PutObjectLegalHold. |
| Réduire une rétention Governance active | s3:BypassGovernanceRetention, plus les permissions de modification de la rétention. |
Si S3Client ne peut pas lire la rétention ou la conservation légale, il bloque la modification de cette protection, même si vos identifiants autorisent son écriture. Les politiques du service peuvent imposer d’autres restrictions.
Choisir la protection avant activation
| Protection | Conséquence |
|---|---|
| Governance | Protection jusqu’à la date. Réduire ou enlever une rétention active exige un contournement explicitement demandé et autorisé. |
| Compliance | Avant l’échéance, la rétention ne peut être réduite, retirée ni changée de mode, même par le propriétaire du compte. Elle peut être prolongée. |
| Legal hold | Protection jusqu’à son retrait explicite. Elle subsiste après expiration d’une rétention et reste active même en cas de contournement du mode Governance. |
Activer Object Lock sur un bucket est permanent, active le versionnement et interdit sa suspension. Une rétention Compliance engage la durée de conservation des versions concernées. Voir la documentation AWS Object Lock.
Activer dès la création du bucket
Dans le panneau S3, ouvrez Create bucket depuis la liste des buckets. Si le compte permet Create buckets with Object Lock, cochez Enable Object Lock avant de créer le bucket. Cette option, décochée par défaut, active définitivement Object Lock et le versionnement. Elle ne définit aucune rétention par défaut. Configurez ensuite celle-ci dans les propriétés du bucket si la capacité correspondante est disponible.
Activer et définir la règle du bucket
Cet onglet concerne un seul bucket General purpose non externe. Enable Object Lock on existing buckets permet l’activation ; Change default retention permet de définir ou retirer la règle. L’activation côté service active également le versionnement, sans appel séparé de S3Client à son API de modification.
- Dans le panneau S3, sélectionnez un seul bucket et ouvrez Properties.
- Ouvrez Versioning / Object Lock et attendez la lecture.
- Cochez Enable Object Lock s’il n’est pas déjà activé.
- Pour protéger les futures versions, cochez Apply a default retention period to new object versions.
- Choisissez Default mode:, Governance ou Compliance.
- Saisissez Default duration:, un entier positif, avec days ou years.
- Cliquez sur OK et confirmez Enable Object Lock permanently lors d’une première activation.
- Rouvrez l’onglet après l’opération et contrôlez l’état et la règle.
Enable versioning reflète le versionnement et reste activé avec Object Lock. Enable Object Lock n’est plus modifiable après activation. Si la configuration ne peut pas être lue, sa modification et une éventuelle suspension du versionnement sont bloquées jusqu’à lecture réussie.
La règle par défaut concerne seulement les versions créées après sauvegarde. La décocher retire la règle future sans retirer les protections existantes. Elle ne configure pas de conservation légale.
Sans règle existante, la rétention par défaut est décochée et les valeurs proposées sont Governance, 1 et days. Les champs de mode et de durée deviennent disponibles lorsque Enable Object Lock et Apply a default retention period to new object versions sont cochés. Default duration: accepte de 1 à 2 147 483 647 ; le service peut imposer une limite plus basse.
S3Client relit la configuration avant écriture. Object Lock configuration changed propose Yes pour remplacer l’état distant par vos réglages, ou No pour le recharger et abandonner vos changements locaux. Unable to verify Object Lock bloque l’enregistrement et conserve vos saisies ; corrigez l’accès puis relisez la configuration.
Protéger une version
Les marqueurs de suppression ne reçoivent pas ces protections. Pour une cible stable, choisissez une version identifiée avec Show versions. Sans cette option, les propriétés partent de l’objet courant et observent sa version.
Si vous modifiez aussi les métadonnées ou la classe de stockage de la dernière version, S3Client effectue une copie. Les changements Object Lock préparés dans la même fenêtre s’appliquent alors à l’objet résultant de cette copie. Pour modifier uniquement les protections de la version sélectionnée, laissez les métadonnées et la classe inchangées.
- Dans le panneau S3, activez Show versions sur le bucket, puis ouvrez le dossier voulu. Ses dossiers héritent du mode du bucket.
- Sélectionnez la version de contenu et ouvrez Properties.
- Vérifiez General > Version ID:, puis ouvrez Object Lock.
- Cochez Retain this object version pour définir une rétention.
- Choisissez Mode: et une date future dans Retain until:, en respectant (UTC) ou (local time).
- Cochez Apply a legal hold to this object version si nécessaire.
- Cliquez sur OK et attendez la fin de l’opération.
- Rouvrez la même version et vérifiez les deux protections. Si vous avez aussi demandé une copie par changement de métadonnées ou de classe, vérifiez l’objet résultant de cette copie.
Sans protections existantes, les cases de rétention et de conservation légale sont décochées, le mode proposé est Governance, la date est l’instant courant plus un jour et la case de contournement est décochée. Les valeurs existantes sont reprises lorsqu’elles sont disponibles. En Compliance active, seule une prolongation est possible : case et mode bloqués, date au moins égale à l’échéance actuelle.
Décochez Apply a legal hold to this object version, puis OK, pour la retirer ; cela ne retire pas la rétention. L’expiration de la rétention ne supprime pas automatiquement la version.
La rétention et la conservation légale sont enregistrées par des requêtes distinctes. Si une étape échoue, une autre peut déjà avoir réussi ; relisez les deux protections sur la même version avant de recommencer.
Contourner Governance
Pour réduire ou retirer Governance active, cochez Use Governance bypass permission to shorten or remove the current retention avant OK. Cette case apparaît si la version possède une rétention Governance encore active dont les réglages sont modifiables dans ce dialogue. La cocher ne vous accorde pas s3:BypassGovernanceRetention : vos identifiants doivent déjà disposer de cette permission.
Sans ce choix, To shorten or remove active Governance retention, explicitly enable Governance bypass. bloque la modification. Le contournement ne retire ni Compliance ni une conservation légale.
Les suppressions en lot peuvent proposer Bypass Governance-mode retention, ou une option équivalente dans la confirmation de plusieurs versions. Voir la suppression avec options. Une version refusée reste protégée, mais d’autres suppressions peuvent réussir.
Réécriture et lecture impossible
Changer les métadonnées ou la classe peut créer une nouvelle version. S3Client doit lire la rétention et la conservation légale pour les conserver lors de cette copie. Si cette lecture n’est pas autorisée, il bloque la réécriture et demande les permissions nécessaires. L’ancienne version garde ses protections.
Une version protégée ne peut pas être chiffrée en place par UpdateObjectEncryption. Sur un objet courant, une copie peut être nécessaire et produit alors une autre version. Voir le chiffrement.
Après rechargement, un changement de compte ou de permissions peut conserver les valeurs saisies tout en bloquant leur application. Corrigez l’accès, rouvrez et vérifiez la cible avant de recommencer.
Object Lock exige Object versions et ses capacités dédiées. Son activation ne nécessite pas les capacités locales Read bucket versioning ou Change bucket versioning.
Les contrôles restent en lecture seule lorsque seule la lecture est disponible. Bypass Governance retention doit être disponible dans les capacités du compte pour proposer un contournement ; une demande explicite et les permissions distantes restent nécessaires. Une réécriture qui préserve une protection exige aussi Protect server-side copies, Protect multipart uploads ou Protect simple uploads, selon le transfert retenu.