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 oggetto ha un ID versione univoco. Alcuni task quando si utilizza l'interfaccia CLI (Command Line Interface) 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.
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. Si consideri la possibilità di utilizzare Gestione del ciclo di vita degli oggetti per gestire automaticamente le versioni degli oggetti.
Task di controllo delle versioni
È possibile eseguire i task di controllo delle versioni degli oggetti riportati di seguito.
Stato controllo versione oggetto
Ogni bucket di storage degli oggetti ha uno stato di controllo delle versioni degli oggetti disabilitato, abilitato o sospeso. Per impostazione predefinita, il controllo delle versioni degli oggetti è disabilitato in un bucket. È importante comprendere il comportamento associato a ogni stato di controllo delle versioni dell'oggetto.
Disabilitata
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.
Sospesi
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. Quando si elimina un oggetto senza definire come destinazione una versione specifica, la versione più recente dell'oggetto diventa una versione precedente dell'oggetto e viene creato un indicatore di eliminazione speciale che contrassegna 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 nella cartella. Eliminare l'indicatore di eliminazione per rendere la versione eliminata la versione più recente dell'oggetto.
Quando si carica 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. Possono essere presenti più indicatori di eliminazione per un oggetto ed è possibile recuperare una qualsiasi delle versioni oggetto precedenti.
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.
Criteri IAM necessari
Per utilizzare Oracle Cloud Infrastructure, un amministratore deve essere un membro di un gruppo a cui è stato concesso l'accesso di sicurezza in un criterio da un amministratore della tenancy. Questo accesso è necessario se si utilizza la console o l'API REST con un SDK, un'interfaccia CLI o un altro 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.
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 la versione più recente 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 precedenti dell'oggetto.
- Impossibile abilitare il controllo delle versioni in un bucket di destinazione della replica. Un bucket di destinazione è di sola lettura.
Regole di conservazione
- Non è possibile aggiungere regole di conservazione a un bucket con controllo delle versioni abilitato.
- 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.