Controllo delle versioni storage degli oggetti

Scopri come utilizzare il controllo delle versioni degli oggetti per applicare la protezione dei dati all'aggiornamento o all'eliminazione accidentale o dannoso degli oggetti dello storage degli oggetti.

Il controllo delle versioni dell'oggetto è abilitato a livello di bucket. Il controllo delle versioni indica allo storage degli oggetti di creare automaticamente una versione dell'oggetto ogni volta che viene caricato un nuovo oggetto, sovrascritto o eliminato un oggetto esistente. Puoi abilitare il controllo delle versioni degli oggetti al momento della creazione del bucket o abilitarlo in un bucket esistente per cui il controllo delle versioni degli oggetti non è mai stato abilitato in precedenza oppure in un bucket per cui il controllo delle versioni degli oggetti è stato sospeso.

Un bucket abilitato per il controllo delle versioni può avere molte versioni di un oggetto. È sempre disponibile una versione più recente dell'oggetto e zero o più versioni precedenti.

Ogni versione dell'oggetto ha un ID versione univoco. Alcuni task quando si utilizza l'interfaccia CLI o l'API, ad esempio l'eliminazione o il recupero di una versione dell'oggetto, richiedono di includere l'ID della versione dell'oggetto. È possibile trovare l'ID versione eseguendo i comandi o le operazioni seguenti:

Per ulteriori informazioni su come ottenere l'ID versione di un oggetto, vedere Elenco delle versioni oggetto in un bucket.

Importante

I prezzi standard di Oracle Cloud Infrastructure si applicano a ogni bucket abilitato per il controllo delle versioni. Ti vengono addebitate tutte le versioni più recenti degli oggetti e le versioni precedenti degli oggetti (incluse le versioni eliminate) memorizzate nel bucket. Le versioni degli oggetti precedenti vengono conservate finché non vengono eliminate in modo esplicito.

Il controllo delle versioni degli oggetti aumenta i costi di storage. Prendere in considerazione l'utilizzo di Object Lifecycle Management per facilitare la gestione automatica delle versioni degli oggetti.

È possibile eseguire i task di controllo delle versioni degli oggetti riportati di seguito.

Elencare gli oggetti e le relative versioni in un bucket.

Abilitare il controllo delle versioni degli oggetti durante la creazione di un bucket.

Ottenere i dettagli della versione di un oggetto.

Abilitare o disabilitare il controllo delle versioni in un bucket esistente.

Eliminazione di una versione di oggetto.

Stato controllo versione oggetto

Ogni bucket di storage degli oggetti ha lo stato di controllo delle versioni degli oggetti disabilitato, abilitato o sospeso. Per impostazione predefinita, il controllo delle versioni degli oggetti è disabilitato in un bucket. Nella tabella seguente viene descritto il funzionamento associato a ogni stato di controllo delle versioni dell'oggetto.

Stato controllo versioni oggetto
Stato Descrizione
Disabilitato Se il controllo delle versioni degli oggetti è disabilitato in un bucket:
  • Il controllo delle versioni degli oggetti non è mai stato abilitato nel bucket.
  • Quando si carica un oggetto con lo stesso nome di un oggetto esistente, l'oggetto viene sovrascritto e l'oggetto sovrascritto non viene conservato o recuperabile.
  • Quando si elimina un oggetto, l'eliminazione è permanente e gli oggetti non possono essere recuperati.
Abilitato Se il controllo delle versioni dell'oggetto è abilitato in un bucket:
  • Quando si carica un oggetto con lo stesso nome di un oggetto esistente, l'oggetto esistente diventa una versione precedente e l'oggetto appena caricato diventa la versione più recente.
  • A ogni oggetto caricato viene assegnato un identificativo di versione univoco. L'identificativo consente di indirizzare le azioni dello storage degli oggetti a una versione specifica.
  • Quando si elimina un oggetto, lo storage degli oggetti conserva una versione dell'oggetto eliminato. Per ulteriori informazioni sull'eliminazione degli oggetti, vedere Eliminazione della versione dell'oggetto.
  • Impossibile disabilitare il controllo delle versioni dell'oggetto. È tuttavia possibile sospendere il controllo delle versioni.
Sospeso Se il controllo delle versioni dell'oggetto è sospeso in un bucket:
  • Il funzionamento di caricamento ed eliminazione è uguale a quello di un bucket con controllo delle versioni disabilitato.
  • Le versioni degli oggetti create prima della sospensione del controllo delle versioni vengono conservate, a meno che non si intraprenda un'azione esplicita per eliminarle.
  • È possibile riabilitare il controllo delle versioni degli oggetti in qualsiasi momento.

Eliminazione versione oggetto

Nessun oggetto viene eliminato fisicamente da un bucket per il quale è abilitato il controllo delle versioni fino a quando non si esegue un'azione esplicita per farlo. Quando si elimina un oggetto senza indirizzare una versione specifica, la versione più recente dell'oggetto diventa una versione precedente dell'oggetto e viene creato un indicatore di eliminazione speciale che segna il punto di eliminazione. Un indicatore di eliminazione contiene solo metadati minimi. Se si elimina una cartella, viene creato un indicatore di eliminazione per ogni oggetto della cartella. Eliminare l'indicatore di eliminazione per fare in modo che la versione eliminata diventi l'ultima versione dell'oggetto.

Quando carichi un oggetto con lo stesso nome dell'indicatore di eliminazione, l'oggetto caricato diventa la versione più recente dell'oggetto. L'indicatore di eliminazione rimane. Ci possono essere diversi indicatori di eliminazione per un oggetto e puoi recuperare una qualsiasi delle versioni precedenti dell'oggetto.

L'eliminazione della versione dell'oggetto è diversa. Quando si elimina una versione dell'oggetto, la versione viene eliminata definitivamente. L'eliminazione permanente si verifica anche se si elimina in modo esplicito la versione più recente in base all'ID versione. Tutte le operazioni di eliminazione destinate a un ID versione oggetto specifico eliminano definitivamente i dati.

Suggerimento

Si consiglia di eliminare le versioni di oggetti precedenti o non necessarie per ridurre i costi di storage. Prendere in considerazione l'utilizzo di Object Lifecycle Management per facilitare la gestione automatica delle versioni degli oggetti.

Criteri IAM necessari

Per utilizzare Oracle Cloud Infrastructure, un amministratore deve essere membro di un gruppo a cui è stato concesso l'accesso di sicurezza in un criterio da un amministratore della tenancy. Questo accesso è necessario, indipendentemente dal fatto che si stia utilizzando la console o l'API REST con un SDK, un'interfaccia CLI o unaltro strumento. Se viene visualizzato un messaggio che informa che non si dispone dell'autorizzazione o che non si è autorizzati, verificare con l'amministratore della tenancy il tipo di accesso di cui si dispone e il compartimento in cui funziona l'accesso.

Se non si ha familiarità con i criteri, vedere Gestione dei domini di Identity e Criteri comuni.

Per gli amministratori:

  • Puoi creare un criterio che consenta al gruppo IAM specificato di gestire gli spazi di nomi dello storage degli oggetti, i bucket e i relativi oggetti associati in tutti i compartimenti della tenancy. Ad esempio, per consentire al gruppo IAM StorageAdmins di eseguire tutte le operazioni nella tenancy:
    Allow group StorageAdmins to manage object-family in tenancy
  • In alternativa, è possibile creare criteri che riducono l'ambito di accesso. Ad esempio, è possibile creare i criteri per consentire al gruppo StorageAdmins di gestire solo i bucket e gli oggetti in un compartimento denominato ObjectStore nella tenancy:
    Allow group StorageAdmins to manage buckets in compartment ObjectStore
    Allow group StorageAdmins to manage objects in compartment ObjectStore
  • Se si creano criteri più restrittivi che concedono autorizzazioni individuali, per abilitare il controllo delle versioni è necessario disporre di BUCKET_UPDATE. Il caricamento di oggetti, la sovrascrittura di oggetti esistenti o l'eliminazione di oggetti richiedono le normali autorizzazioni necessarie per tali operazioni. Per eliminare le versioni degli oggetti è necessario OBJECT_VERSION_DELETE. Ad esempio, per consentire a un gruppo denominato StorageSupport di gestire le risorse di storage degli oggetti, ma impedire a tale gruppo di rimuovere definitivamente le versioni degli oggetti:
    Allow group StorageSupport to manage object-family in tenancy where request.operation != 'DeleteObjectVersion'

Per ulteriori informazioni su altre alternative per la scrittura dei criteri, consulta la sezione relativa ai dettagli di storage degli oggetti, storage di archivio e trasferimento dati.

Ambito e vincoli

  • Il controllo delle versioni può essere abilitato in un bucket nel livello Standard ( Storage degli oggetti) o Storage di archivio .
  • Il ripristino di un oggetto archiviato è un'operazione in loco e non crea una versione dell'oggetto.
  • È possibile rinominare la versione più recente di un oggetto, ma non una versione precedente dell'oggetto. La ridenominazione di un oggetto crea un nuovo oggetto.

Interazione tra il controllo delle versioni e altre funzioni dello storage degli oggetti

Questa sezione descrive alcune informazioni chiave che è necessario conoscere sull'interazione tra il controllo delle versioni degli oggetti e altre funzioni dello storage degli oggetti.

Interazione tra controllo delle versioni degli oggetti e altre funzioni
Funzione Descrizione
Nuova cifratura bucket Anche la nuova cifratura del bucket (che utilizza Oracle o la propria chiave di cifratura master) esegue la nuova cifratura di qualsiasi versione dell'oggetto esistente.
Gestione del ciclo di vita I criteri del ciclo di vita possono archiviare la versione più recente o le versioni precedenti di un oggetto.

Quando i criteri del ciclo di vita eliminano la versione più recente di un oggetto, tale oggetto diventa una versione precedente e viene creato un indicatore di eliminazione.

Quando i criteri del ciclo di vita eliminano una versione precedente di un oggetto, tale eliminazione è permanente.

Copia di oggetti Se si copia l'ultima versione di un oggetto in un bucket diverso, viene copiato solo l'oggetto. Nessuna delle versioni precedenti dell'oggetto viene copiata.

È possibile copiare una versione precedente di un oggetto in un altro bucket, ma tale azione crea la versione più recente di un nuovo oggetto o una nuova versione dell'oggetto nel bucket di destinazione.

Replica La replica non può replicare le versioni oggetto precedenti.

Non è possibile abilitare il controllo delle versioni in un bucket di destinazione di replica. Un bucket di destinazione è di sola lettura.

Regole di conservazione Non è possibile aggiungere regole di conservazione a un bucket per cui è abilitato il controllo delle versioni.

Non è possibile abilitare il controllo delle versioni in un bucket con regole di conservazione attive.

Puoi aggiungere regole di conservazione al bucket con controllo delle versioni sospeso. Tuttavia, non è possibile riprendere il controllo delle versioni con regole di conservazione attive.