Contrôle des versions du stockage d'objets

Voyez comment utiliser le contrôle des versions d'objet pour appliquer la protection des données contre la mise à jour ou la suppression accidentelle ou malveillante d'objets de stockage d'objets.

Le contrôle des versions d'objet est activé au niveau du seau. Le contrôle des versions indique au service Stockage d'objets de créer automatiquement une version d'objet chaque fois qu'un nouvel objet est chargé, qu'un objet existant est remplacé ou qu'un objet est supprimé. Vous pouvez activer le contrôle des versions d'objet lors de la création du seau ou l'activer sur un seau existant pour lequel le contrôle des versions d'objet n'a jamais été activé auparavant ou dont le contrôle des versions d'objet a été suspendu.

Un seau pour lequel le contrôle des versions d'objet est activé peut contenir de nombreuses versions d'objet. Il y a toujours une dernière version de l'objet et aucune ou plusieurs versions précédentes.

Chaque version d'objet a un ID version unique. Certaines tâches lors de l'utilisation de l'interface de ligne de commande ou de l'API, telles que la suppression ou la récupération d'une version d'objet, nécessitent d'inclure l'ID version d'objet. Vous pouvez trouver l'ID version en exécutant les commandes ou opérations suivantes :

Voir Liste des versions d'objet dans un seau pour plus d'informations sur l'obtention de l'ID version d'un objet.

Important

La tarification standard pour Oracle Cloud Infrastructure s'applique à chaque seau activé pour le contrôle des versions d'objet. Vous êtes facturé pour toutes les versions d'objets les plus récentes et les versions précédentes (y compris les versions supprimées) stockées dans le seau. Les versions d'objet précédentes sont conservées jusqu'à ce que vous les supprimiez explicitement.

Le contrôle des versions d'objet augmente vos coûts de stockage. Envisagez d'utiliser la gestion du cycle de vie des objets pour vous aider à gérer les versions d'objet automatiquement.

Tâches de contrôle des versions

Vous pouvez effectuer les tâches suivantes de contrôle des versions d'objet :

Statut du contrôle des versions d'objet

Chaque seau du service de stockage d'objets a un statut du contrôle des versions d'objet désactivé, activé ou suspendu. Par défaut, le contrôle des versions d'objet est désactivé sur un seau. Il est important de comprendre le comportement associé à chaque statut du contrôle des versions d'objet.

Désactivé

Si le contrôle des versions d'objet est désactivé sur un seau :

  • Le contrôle des versions d'objet n'a jamais été activé sur le seau.

  • Lorsque vous chargez un objet portant le même nom qu'un objet existant, l'objet est remplacé et l'objet remplacé n'est ni conservé ni récupérable.

  • Lorsque vous supprimez un objet, la suppression est permanente et les objets ne sont pas récupérables.

Enabled

Si le contrôle des versions d'objet est activé sur un seau :

  • Lorsque vous chargez un objet portant le même nom qu'un objet existant, l'objet existant devient une version précédente et l'objet nouvellement chargé devient la version la plus récente.

  • Un identificateur de version unique est affecté à chaque objet chargé. L'identificateur vous permet de diriger les actions du service Stockage d'objets vers une version spécifique.

  • Lorsque vous supprimez un objet, le service Stockage d'objets conserve une version de l'objet supprimé. Pour plus d'informations sur la suppression d'objet, voir Suppression de version d'objet.

  • Vous ne pouvez pas désactiver le contrôle des versions d'objets. Vous pouvez toutefois le suspendre.

Suspendues

Si le contrôle des versions d'objet est suspendu sur un seau :

  • Le comportement de chargement et de suppression est le même que pour un seau pour lequel le contrôle des versions d'objet est désactivé.

  • Les versions d'objet créées avant la suspension du contrôle des versions d'objet sont conservées, à moins que vous ne preniez des mesures explicites pour les supprimer.

  • Vous pouvez réactiver le contrôle des versions d'objet à tout moment.

Suppression de la version d'objet

Aucun objet n'est physiquement supprimé d'un seau pour lequel le contrôle des versions est activé jusqu'à ce que vous preniez des mesures explicites pour le faire. Lorsque vous supprimez un objet sans cibler une version spécifique, la dernière version d'objet devient une version d'objet précédente et un indicateur de suppression spécial est créé pour marquer le point de suppression. Un marqueur de suppression ne contient que des métadonnées minimales. Si vous supprimez un dossier, un marqueur de suppression est créé pour chaque objet du dossier. Supprimez le marqueur de suppression pour que cette version supprimée devienne la dernière version de l'objet.

Lorsque vous chargez un objet portant le même nom que le marqueur de suppression, l'objet chargé devient la dernière version de l'objet. Le marqueur de suppression demeure. Il peut y avoir plusieurs marqueurs de suppression pour un objet et vous pouvez récupérer l'une des versions d'objet précédentes.

La suppression de version d'objet est différente. Lorsque vous supprimez une version d'objet, la version est supprimée de façon permanente. La suppression permanente se produit également si vous supprimez explicitement la dernière version par ID version. Toutes les opérations de suppression qui ciblent un ID version d'objet spécifique suppriment définitivement les données.

Politiques GIA requises

Pour utiliser Oracle Cloud Infrastructure, un administrateur doit être membre d'un groupe auquel l'accès de sécurité est accordé dans une politique par un administrateur de location. Cet accès est requis que vous utilisiez la console ou l'API REST avec une trousse SDK, l'interface de ligne de commande ou un autre outil. Si vous obtenez un message indiquant que vous ne disposez pas de l'autorisation requise, vérifiez auprès de l'administrateur de la location quel type d'accès vous avez et dans quel compartiment votre accès fonctionne.

Pour en savoir plus sur les politiques, voir Gestion des domaines d'identité et Politiques communes.

Pour les administrateurs :

  • Vous pouvez créer une politique qui permet au groupe GIA indiqué de gérer les espaces de noms du stockage d'objets, les seaux et les objets associés dans tous les compartiments de la location. Par exemple, pour permettre au groupe GIA StorageAdmins d'effectuer toutes les opérations dans la location :
    Allow group StorageAdmins to manage object-family in tenancy
  • Vous pouvez aussi créer des politiques qui réduisent la portée de l'accès. Par exemple, vous pouvez créer des politiques pour permettre au groupe StorageAdmins de gérer uniquement les seaux et les objets d'un compartiment nommé ObjectStore dans la location :
    Allow group StorageAdmins to manage buckets in compartment ObjectStore
    Allow group StorageAdmins to manage objects in compartment ObjectStore
  • Si vous créez des politiques plus restrictives qui accordent des autorisations individuelles, BUCKET_UPDATE est nécessaire pour activer le contrôle des versions d'objet. Le chargement, le remplacement d'objets existants ou la suppression d'objets nécessitent les autorisations standard nécessaires à ces opérations. OBJECT_VERSION_DELETE est nécessaire pour supprimer les versions d'objet. Par exemple, pour permettre à un groupe appelé StorageSupport de gérer les ressources de stockage d'objets, mais empêcher ce groupe de supprimer définitivement des versions d'objet :
    Allow group StorageSupport to manage object-family in tenancy where request.operation != 'DeleteObjectVersion'

Pour plus d'informations sur d'autres alternatives pour l'écriture de politiques, voir Informations détaillées sur les services de stockage d'archives, de stockage d'objets et de transfert de données.

Portée et contraintes

  • Le contrôle des versions d'objet peut être activé sur un seau dans le niveau standard (stockage d'objets) ou le niveau stockage d'archives.
  • La restauration d'un objet archivé est une opération sur place qui ne crée pas de version d'objet.
  • Vous pouvez renommer la dernière version d'un objet, mais vous ne pouvez pas renommer une version d'objet précédente. Le fait de renommer un objet crée un objet.

Interaction entre le contrôle des versions d'objet et les autres fonctions du stockage d'objets

Cette section fournit des informations que vous devez connaître sur l'interaction entre le contrôle des versions d'objet et d'autres fonctions du stockage d'objets.

Rechiffrement de seau

Le rechiffrement d'un seau (à l'aide de la clé Oracle ou de votre propre clé de chiffrement principale) rechiffre également toutes les versions d'objet existantes.

Gestion du cycle de vie

Les politiques de cycle de vie peuvent archiver la dernière version ou les versions précédentes d'un objet. Lorsque les politiques de cycle de vie suppriment la dernière version d'un objet, celui-ci devient une version précédente et un marqueur de suppression est créé. Lorsque les politiques de cycle de vie suppriment une version précédente d'un objet, cette suppression est définitive.

Copie d'objets

Si vous copiez la dernière version d'un objet vers un autre seau, seul l'objet est copié. Aucune des versions précédentes de l'objet n'est copiée. Vous pouvez copier une version précédente d'un objet vers un autre seau, mais cette action crée soit la dernière version d'un nouvel objet, soit une nouvelle version dans le seau de destination.

Réplication

  • La réplication ne peut pas répliquer les versions d'objet précédentes.
  • Vous ne pouvez pas activer le contrôle des versions d'objet sur un seau de destination de réplication. Un seau de destination est en lecture seule.

Règles de conservation

  • Vous ne pouvez pas ajouter des règles de conservation à un seau pour lequel le contrôle des versions d'objet est activé.
  • Vous ne pouvez pas activer le contrôle des versions d'objet sur un seau pour lequel des règles de conservation sont actives.
  • Vous pouvez ajouter des règles de conservation à un seau pour lequel le contrôle des versions d'objet est suspendu. Cependant, vous ne pouvez pas reprendre le contrôle des versions d'objet avec des règles de conservation actives.