Configurer un Object Lock par défaut sur un bucket

Vous pouvez utiliser la fonctionnalité Object Lock pour empêcher la suppression ou la modification d’objets dans un bucket pendant une période donnée.

Object Lock vous permet d’appliquer un modèle WORM (write once read many). Vous pouvez utiliser Object Lock pour répondre à certains besoins de conformité réglementaire ou de sécurité.

Une fois la configuration Object Lock appliquée à un bucket, le verrouillage par défaut est appliqué à tout objet futur déposé dans le bucket. Néanmoins, vous pouvez également appliquer des verrous spécifiques à des objets spécifiques dans le bucket. Pour en savoir plus, voir Configurer un Object Lock spécifique sur un object.

Configurer un Object Lock par défaut sur un bucket avec AWS CLI (s3api)

Activer Object Lock sur un bucket

Avant de commencer : Installez et configurez AWS CLI et définissez votre profil. Pour en savoir plus, voir Installer et configurer AWS CLI.

Pour activer Object Lock sur un bucket, vous devez utiliser la commande create-bucket avec l’attribut object-lock-enabled-for-bucket. Vous ne pouvez activer Object Lock que sur de nouveaux buckets. Pour en savoir plus, voir Créer un bucket.

Quand vous créez un bucket avec Object Lock activé, le bucket versioning est également automatiquement activé et ne peut pas être désactivé. Pour en savoir plus, voir Utiliser le bucket versioning.

Exemple de requête
$ aws s3api create-bucket \
    --profile YOUR_PROFILE \
    --bucket BUCKET \
    --object-lock-enabled-for-bucket \
    --endpoint https://oos.eu-west-2.outscale.com

Le bucket avec Object Lock activé est créé.

Étant donné que le versioning est automatiquement activé sur un bucket avec Object Lock activé, la suppression d’un objet verrouillé ne fait que créer un delete marker.

En effet, le versioning garantit que chacune des versions d’un objet est préservée, tandis qu’Object Lock se charge d’empêcher certaines versions d’être modifiées ou supprimées.

Cela signifie que lorsqu’une opération de suppression est tentée sur un objet verrouillé, l’objet reste en réalité stocké et protégé, et ce même si le delete marker donne l’impression que l’objet a été supprimé. Notez également qu’un delete marker ne peut pas être protégé par un WORM et peut donc être supprimé.

Appliquer une configuration Object Lock sur un bucket

Pour appliquer une configuration Object Lock sur un bucket, utilisez la commande put-object-lock-configuration en suivant cette syntaxe :

Exemple de requête
$ aws s3api put-object-lock-configuration \
    --profile YOUR_PROFILE \
    --bucket BUCKET \
    --object-lock-configuration file://path/to/configuration/file \
    --endpoint https://oos.eu-west-2.outscale.com

Cette commande contient les attributs suivants que vous devez spécifier :

  • (optionnel) profile : Le profil nommé que vous voulez utiliser, créé pendant la configuration d’AWS CLI. Pour en savoir plus, voir Installer et configurer AWS CLI.

  • bucket : Le nom du bucket dans lequel vous voulez ajouter la configuration Object Lock.

  • object-lock-configuration : Le chemin vers le fichier de configuration JSON qui contient les règles Object Lock à appliquer à vos objets. Pour en savoir plus sur l’écriture de ce fichier, voir Référence pour la configuration d’Object Lock.

    Vous pouvez également spécifier ces éléments directement sur la même ligne, sous la forme d’une chaîne JSON.

  • endpoint : Le endpoint correspondant à la Région à laquelle vous voulez envoyer la requête.

La configuration Object Lock est appliquée aux nouveaux objets placés dans votre bucket.

Vous pouvez modifier la configuration par défaut d’Object Lock de votre bucket avec la même commande. Néanmoins, la nouvelle configuration ne s’appliquera alors qu’aux objets déposés après la modification de la configuration. Les objets déposés avant la modification conserveront l’ancienne configuration.

Obtenir des informations sur une configuration Object Lock

Pour obtenir des informations sur la configuration Object Lock de votre bucket, utilisez la commande get-object-lock-configuration en suivant cette syntaxe :

Exemple de requête
$ aws s3api get-object-lock-configuration \
    --profile YOUR_PROFILE \
    --bucket BUCKET \
    --endpoint https://oos.eu-west-2.outscale.com

Cette commande contient les attributs suivants que vous devez spécifier :

  • (optionnel) profile : Le profil nommé que vous voulez utiliser, créé pendant la configuration d’AWS CLI. Pour en savoir plus, voir Installer et configurer AWS CLI.

  • bucket : Le nom du bucket avec Object Lock activé.

  • endpoint : Le endpoint correspondant à la Région à laquelle vous voulez envoyer la requête.

La commande list-object-versions renvoie les éléments suivants :

Exemple de résultat
{
    "ObjectLockConfiguration": {
        "ObjectLockEnabled": "Enabled",
        "Rule": {
            "DefaultRetention": {
                "Mode": "COMPLIANCE",
                "Days": 2
            }
        }
    }
}
  • ObjectLockEnabled : Indique qu’Object Lock a été activé sur le bucket.

  • Rule : La règle de rétention spécifique appliquée par défaut aux objets placés dans les buckets.

  • DefaultRetention : Définit les paramètres de rétention par défaut pour les nouveaux objets placés dans le bucket.

  • Mode : Le mode de rétention pour le bucket. La valeur est toujours COMPLIANCE, ce qui empêche tout utilisateur, y compris l’utilisateur root, de supprimer ou modifier des objets dans le bucket jusqu’à expiration de la période de rétention.

    OUTSCALE Object Storage ne prend actuellement pas en charge le mode GOVERNANCE.

  • Days or Years : La période, en jours ou en années, après laquelle vos objets ne seront plus protégés. Le minimum est d’un jour.

    Gardez à l’esprit qu’en mode COMPLIANCE, il n’est pas possible de contourner la période de rétention jusqu’à son expiration. Cela signifie que vous serez facturé pour la totalité de la période de rétention définie.

Pages connexes

AWS™ et Amazon Web Services™ sont des marques de commerce d’Amazon Technologies, Inc. ou de ses affiliées aux États-Unis et/ou dans les autres pays.