Utilisez l'API REST S3 pour configurer StorageGRID S3 Object Lock
Si le paramètre global S3 Object Lock est activé pour votre système StorageGRID, vous pouvez créer des compartiments avec S3 Object Lock activé. Vous pouvez spécifier une rétention par défaut pour chaque compartiment ou des paramètres de rétention pour chaque version d'objet.
${post_edited_translations.segment}
Si le paramètre de verrouillage global des objets S3 est activé pour votre système StorageGRID, vous pouvez éventuellement activer le verrouillage des objets S3 lors de la création de chaque compartiment.
Le verrouillage d'objet S3 est un paramètre permanent qui ne peut être activé que lors de la création d'un compartiment. Vous ne pouvez pas ajouter ni désactiver le verrouillage d'objet S3 après la création d'un compartiment.
${post_edited_translations.segment}
-
Créez le compartiment à l'aide du Tenant Manager. Voir "Créer un compartiment S3".
-
Créez le compartiment à l'aide d'une requête CreateBucket avec l'
x-amz-bucket-object-lock-enableden-tête de requête. Voir "Opérations sur les compartiments".
S3 Object Lock requiert le versionnement du compartiment, qui est activé automatiquement lors de la création du compartiment. Vous ne pouvez pas suspendre le versionnement pour le compartiment. Voir "Versionnage d’objets".
${post_edited_translations.segment}
Lorsque le verrouillage d'objet S3 est activé pour un compartiment, vous pouvez éventuellement activer la rétention par défaut pour le compartiment et spécifier un mode de rétention par défaut et une période de rétention par défaut.
Mode de rétention par défaut
-
En mode CONFORMITÉ :
-
L'objet ne peut pas être supprimé tant que sa date de conservation n'est pas atteinte.
-
La date de conservation de l'objet peut être augmentée, mais elle ne peut pas être diminuée.
-
La date de conservation de l'objet ne peut pas être supprimée avant que cette date ne soit atteinte.
-
-
En mode GOUVERNANCE :
-
Les utilisateurs disposant de l' `s3:BypassGovernanceRetention`autorisation peuvent utiliser l' `x-amz-bypass-governance-retention: true`en-tête de requête pour contourner les paramètres de rétention.
-
Ces utilisateurs peuvent supprimer une version d'objet avant que sa date de conservation ne soit atteinte.
-
Ces utilisateurs peuvent augmenter, diminuer ou supprimer la date de conservation d'un objet.
-
Période de conservation par défaut
${post_edited_translations.segment}
Comment définir la rétention par défaut pour un compartiment
${post_edited_translations.segment}
-
Gérez les paramètres du compartiment depuis le Gestionnaire de locataires. Voir "Créez un compartiment S3" et "Mettre à jour la rétention par défaut du verrouillage d'objet S3".
-
Envoyez une requête PutObjectLockConfiguration pour le compartiment afin de spécifier le mode par défaut et le nombre de jours ou d'années par défaut.
PutObjectLockConfiguration
La requête PutObjectLockConfiguration vous permet de définir et de modifier le mode de rétention par défaut et la période de rétention par défaut pour un compartiment ayant le verrouillage d’objets S3 activé. Vous pouvez également supprimer les paramètres de rétention par défaut précédemment configurés.
Lors de l'ingestion de nouvelles versions d'objets dans le compartiment, le mode de rétention par défaut est appliqué si x-amz-object-lock-mode et x-amz-object-lock-retain-until-date ne sont pas spécifiés. La période de rétention par défaut est utilisée pour calculer la date limite de rétention si x-amz-object-lock-retain-until-date n'est pas spécifié.
Si la période de conservation par défaut est modifiée après l’ingestion d’une version d’objet, la date de fin de conservation de la version d’objet reste la même et n’est pas recalculée en utilisant la nouvelle période de conservation par défaut.
Vous devez disposer de l' `s3:PutBucketObjectLockConfiguration`autorisation, ou être account root, pour effectuer cette opération.
L' `Content-MD5`en-tête de requête doit être spécifié dans la requête PUT.
Exemple de requête
Cet exemple active le verrouillage d'objet S3 pour un compartiment et définit le mode de rétention par défaut sur COMPLIANCE et la période de rétention par défaut sur 6 ans.
PUT /bucket?object-lock HTTP/1.1
Accept-Encoding: identity
Content-Length: 308
Host: host
Content-MD5: request header
User-Agent: s3sign/1.0.0 requests/2.24.0 python/3.8.2
X-Amz-Date: date
X-Amz-Content-SHA256: authorization-string
Authorization: authorization-string
<ObjectLockConfiguration>
<ObjectLockEnabled>Enabled</ObjectLockEnabled>
<Rule>
<DefaultRetention>
<Mode>COMPLIANCE</Mode>
<Years>6</Years>
</DefaultRetention>
</Rule>
</ObjectLockConfiguration>
${post_edited_translations.segment}
Pour déterminer si le verrouillage d'objet S3 est activé pour un compartiment et pour afficher le mode de rétention et la période de rétention par défaut, utilisez l'une de ces méthodes :
-
Consultez le compartiment dans le Gestionnaire de locataires. Voir "Afficher les compartiments S3".
-
Envoyez une demande GetObjectLockConfiguration.
GetObjectLockConfiguration
La requête GetObjectLockConfiguration vous permet de déterminer si S3 Object Lock est activé pour un compartiment et, s'il est activé, de voir si un mode de rétention et une période de rétention par défaut sont configurés pour le compartiment.
Lorsque de nouvelles versions d'objets sont ingérées dans le compartiment, le mode de rétention par défaut est appliqué si x-amz-object-lock-mode n'est pas spécifié. La période de rétention par défaut est utilisée pour calculer la date limite de conservation si x-amz-object-lock-retain-until-date n'est pas spécifié.
Vous devez disposer de l `s3:GetBucketObjectLockConfiguration`autorisation, ou être account root, pour effectuer cette opération.
Exemple de requête
GET /bucket?object-lock HTTP/1.1 Host: host Accept-Encoding: identity User-Agent: aws-cli/1.18.106 Python/3.8.2 Linux/4.4.0-18362-Microsoft botocore/1.17.29 x-amz-date: date x-amz-content-sha256: authorization-string Authorization: authorization-string
Exemple de réponse
HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIXk=
x-amz-request-id: B34E94CACB2CEF6D
Date: Fri, 04 Sep 2020 22:47:09 GMT
Transfer-Encoding: chunked
Server: AmazonS3
<?xml version="1.0" encoding="UTF-8"?>
<ObjectLockConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<ObjectLockEnabled>Enabled</ObjectLockEnabled>
<Rule>
<DefaultRetention>
<Mode>COMPLIANCE</Mode>
<Years>6</Years>
</DefaultRetention>
</Rule>
</ObjectLockConfiguration>
${post_edited_translations.segment}
Un compartiment avec le verrouillage d'objets S3 activé peut contenir une combinaison d'objets avec et sans paramètres de rétention de verrouillage d'objets S3.
Les paramètres de rétention au niveau de l'objet sont définis à l'aide de l'API REST S3. Les paramètres de rétention d'un objet remplacent tous les paramètres de rétention par défaut du compartiment.
Vous pouvez spécifier les paramètres suivants pour chaque objet :
-
Mode de rétention : soit COMPLIANCE, soit GOVERNANCE.
-
Retain-until-date : une date spécifiant la durée pendant laquelle la version de l’objet doit être conservée par StorageGRID.
-
En mode COMPLIANCE, si la date de conservation est dans le futur, l'objet peut être récupéré, mais il ne peut pas être modifié ou supprimé. La date de conservation peut être augmentée, mais cette date ne peut pas être diminuée ou supprimée.
-
En mode GOVERNANCE, les utilisateurs disposant d'une autorisation spéciale peuvent contourner le paramètre retain-until-date. Ils peuvent supprimer une version d'objet avant l'expiration de sa période de conservation. Ils peuvent également augmenter, diminuer ou même supprimer le retain-until-date.
-
-
Conservation légale : L’application d’une conservation légale à une version d’objet verrouille immédiatement cet objet. Par exemple, vous pourriez avoir besoin d’appliquer une conservation légale à un objet lié à une enquête ou à un litige. Une conservation légale n’a pas de date d’expiration, mais reste en place jusqu’à ce qu’elle soit explicitement levée.
Le paramètre de conservation légale d'un objet est indépendant du mode de conservation et de la date limite de conservation. Si une version d'un objet est soumise à une conservation légale, personne ne peut supprimer cette version.
Pour spécifier les paramètres de S3 Object Lock lors de l'ajout d'une version d'objet à un compartiment, émettez une requête "PutObject", "CopyObject" ou "CreateMultipartUpload".
${post_edited_translations.segment}
-
x-amz-object-lock-mode, qui peut être COMPLIANCE ou GOVERNANCE (sensible à la casse).Si vous spécifiez x-amz-object-lock-mode, vous devez également spécifierx-amz-object-lock-retain-until-date. -
x-amz-object-lock-retain-until-date-
La valeur de conservation jusqu'à la date doit être au format
2020-08-10T21:46:00Z. Les fractions de seconde sont autorisées, mais seules trois décimales sont conservées (précision à la milliseconde). Les autres formats ISO 8601 ne sont pas autorisés. -
${post_edited_translations.segment}
-
-
x-amz-object-lock-legal-holdSi la conservation légale est ON (sensible à la casse), l'objet est placé sous conservation légale. Si la conservation légale est OFF, aucune conservation légale n'est appliquée. Toute autre valeur entraîne une erreur 400 Bad Request (InvalidArgument).
Si vous utilisez l'un de ces en-têtes de requête, tenez compte des restrictions suivantes :
-
L' `Content-MD5`en-tête de requête est requis si un `x-amz-object-lock-*`en-tête de requête est présent dans la requête PutObject. `Content-MD5`n'est pas requis pour CopyObject ou CreateMultipartUpload.
-
Si le compartiment n'a pas activé S3 Object Lock et qu'un en-tête de requête
x-amz-object-lock-*est présent, une erreur 400 Bad Request (InvalidRequest) est renvoyée. -
La requête PutObject prend en charge l'utilisation de
x-amz-storage-class: REDUCED_REDUNDANCYpour correspondre au comportement d'AWS. Toutefois, lorsqu'un objet est ingéré dans un compartiment avec S3 Object Lock activé, StorageGRID effectue toujours une ingestion dual-commit. -
Une réponse GET ou HeadObject de version ultérieure inclura les en-têtes
x-amz-object-lock-mode,x-amz-object-lock-retain-until-dateetx-amz-object-lock-legal-hold, s'ils sont configurés et si l'expéditeur de la requête dispose des autorisationss3:Get*correctes.
Vous pouvez utiliser la clé de condition de politique s3:object-lock-remaining-retention-days pour limiter les périodes de rétention minimales et maximales autorisées pour vos objets.
${post_edited_translations.segment}
${post_edited_translations.segment}
-
PutObjectLegalHoldSi la nouvelle valeur de conservation légale est ON, l'objet est placé sous conservation légale. Si la valeur de conservation légale est OFF, la conservation légale est levée.
-
PutObjectRetention-
La valeur du mode peut être COMPLIANCE ou GOVERNANCE (sensible à la casse).
-
La valeur de conservation jusqu'à la date doit être au format
2020-08-10T21:46:00Z. Les fractions de seconde sont autorisées, mais seules trois décimales sont conservées (précision à la milliseconde). Les autres formats ISO 8601 ne sont pas autorisés. -
Si une version d'objet possède déjà une date de conservation (retain-until), vous pouvez uniquement l'augmenter. La nouvelle valeur doit être dans le futur.
-
Comment utiliser le mode GOVERNANCE
Les utilisateurs qui disposent de l'autorisation s3:BypassGovernanceRetention peuvent contourner les paramètres de rétention active d'un objet qui utilise le mode GOVERNANCE. Toutes les opérations DELETE ou PutObjectRetention doivent inclure l'en-tête de requête x-amz-bypass-governance-retention:true. Ces utilisateurs peuvent effectuer ces opérations supplémentaires :
-
Exécutez les opérations DeleteObject ou DeleteObjects pour supprimer une version d'objet avant que sa période de rétention ne soit écoulée.
Les objets soumis à une conservation légale ne peuvent pas être supprimés. La conservation légale doit être désactivée.
-
Effectuez des opérations PutObjectRetention qui modifient le mode d'une version d'objet de GOVERNANCE à COMPLIANCE avant que la période de rétention de l'objet ne soit écoulée.
Il est strictement interdit de passer du mode COMPLIANCE au mode GOVERNANCE.
-
Effectuez des opérations PutObjectRetention pour augmenter, diminuer ou supprimer la période de conservation d'une version d'objet.