Come funziona il blocco oggetti S3 - Amazon Simple Storage Service

Come funziona il blocco oggetti S3

Puoi utilizzare il blocco oggetti S3 per archiviare gli oggetti utilizzando il modello write-once-read-many (WORM). Il blocco oggetti può impedire che un oggetto venga eliminato o sovrascritto per un periodo di tempo fisso o indefinito. Puoi utilizzare il blocco oggetti S3 per soddisfare i requisiti normativi che richiedono uno storage WORM o aggiungere un ulteriore livello di protezione contro le modifiche e l'eliminazione degli oggetti.

Per informazioni sulla gestione dello status di blocco degli oggetti Amazon S3, consulta Gestione del blocco oggetti.

Nota

I bucket S3 con il blocco oggetti S3 non possono essere utilizzati come bucket di destinazione per i log di accesso al server. Per ulteriori informazioni, consulta Registrazione delle richieste con registrazione dell'accesso al server.

Le seguenti sezioni descrivono le principali caratteristiche del blocco oggetti S3.

Modalità di conservazione

Il blocco oggetti S3 offre due modalità di conservazione:

  • Modalità Governance

  • Modalità Conformità

Queste modalità di conservazione applicano livelli di protezione diversi agli oggetti. È possibile applicare una delle due modalità di conservazione a qualsiasi versione di un oggetto protetto dal blocco degli oggetti.

Nella modalità Governance, gli utenti non possono sovrascrivere o eliminare una versione di un oggetto, né modificare le relative impostazioni di blocco, a meno che non dispongano di autorizzazioni speciali. La modalità governance permette di impedire alla maggior parte degli utenti di eliminare gli oggetti ma, allo stesso tempo, permette di concedere ad alcuni utenti l'autorizzazione per modificare le impostazioni di conservazione o per eliminare l'oggetto, se necessario. Puoi usare la modalità governance anche per testare le impostazioni del periodo di conservazione prima di creare un periodo di conservazione in modalità di conformità.

Per sovrascrivere o rimuovere le impostazioni di conservazione in modalità governance, un utente deve avere l'autorizzazione s3:BypassGovernanceRetention e deve includere in modo esplicito x-amz-bypass-governance-retention:true come intestazione della richiesta in qualsiasi richiesta che preveda la sostituzione della modalità governance.

Nota

Per impostazione predefinita, la console Amazon S3 include l'intestazione x-amz-bypass-governance-retention:true. Se provi a eliminare oggetti protetti dalla modalità di governance e che dispongono di autorizzazioni s3:BypassGovernanceRetention, l'operazione andrà a buon fine.

In modalità conformità, una versione protetta di un oggetto non può essere sovrascritta o eliminata da alcun utente, incluso l'utente root in Account AWS. Quando un oggetto è bloccato in modalità conformità, la relativa modalità di conservazione non può essere modificata e il periodo di conservazione non può essere abbreviato. La modalità conformità garantisce che una versione di un oggetto non possa essere sovrascritta o eliminata per tutta la durata del periodo di conservazione.

Nota

L'aggiornamento dei metadati della versione di un oggetto, come avviene quando applichi o modifichi un blocco degli oggetti, non sovrascrive la versione dell'oggetto né reimposta il relativo timestamp Last-Modified.

Periodi di conservazione

Un periodo di conservazione protegge una versione di un oggetto per un determinato intervallo di tempo. Quando imposti un periodo di conservazione per una versione di un oggetto, Amazon S3 archivia un timestamp nei metadati della versione dell'oggetto per indicare la scadenza del periodo di conservazione. Allo scadere del periodo di conservazione, la versione dell'oggetto può essere sovrascritta o eliminata, a meno che non sia stato applicato anche un blocco a fini giudiziari.

È possibile impostare un periodo di conservazione per la versione di un oggetto in modo esplicito oppure attraverso un'impostazione predefinita del bucket. Quando applichi un periodo di conservazione a una versione di un oggetto in modo esplicito, specifichi una Data di fine conservazione per tale versione. Amazon S3 archivia l'impostazione della Retain Until Date nei metadati della versione dell'oggetto e protegge tale versione fino allo scadere del periodo di conservazione.

Quando usi le impostazioni predefinite del bucket, non specifichi una Retain Until Date. Specifichi invece una durata, in giorni o in anni, durante la quale ogni versione di un oggetto inserita nel bucket deve essere protetta. Quando inserisci un oggetto nel bucket, Amazon S3 calcola una Retain Until Date per la versione dell'oggetto aggiungendo la durata specificata al timestamp di creazione della versione dell'oggetto. Memorizza la Retain Until Date nei metadati della versione dell'oggetto. La versione dell'oggetto viene così protetta esattamente come se fosse stato impostato un blocco esplicito con tale periodo di conservazione per la versione.

Nota

Se la richiesta di inserire una versione di un oggetto in un bucket contiene una modalità e un periodo di conservazione espliciti, tali impostazioni sostituiscono le impostazioni predefinite del bucket per tale versione dell'oggetto.

Come tutte le altre impostazioni del blocco degli oggetti, i periodi di conservazione si applicano alle singole versioni degli oggetti. Versioni diverse di un singolo oggetto possono avere modalità e periodi di conservazione diversi.

Ad esempio, supponi di avere un oggetto che è a 15 giorni di un periodo di conservazione di 30 giorni e applichi il comando PUT a un oggetto in Amazon S3 con lo stesso nome e un periodo di conservazione di 60 giorni. In questo caso PUT riesce e Amazon S3 crea una nuova versione dell'oggetto con un periodo di conservazione di 60 giorni. Per la versione precedente rimane impostato il periodo di conservazione originale e tale versione può quindi essere eliminata in 15 giorni.

È possibile estendere un periodo di conservazione dopo aver applicato un'impostazione di conservazione a una versione di un oggetto. A tale scopo, è necessario inviare una nuova richiesta di blocco per la versione dell'oggetto con una Retain Until Date posteriore rispetto a quella attualmente configurata per la versione dell'oggetto. Amazon S3 sostituisce il periodo di conservazione esistente con il nuovo periodo più lungo. Qualsiasi utente con autorizzazioni per impostare un periodo di conservazione per un oggetto può estendere il periodo di conservazione per una versione di un oggetto bloccata in entrambe e modalità.

Con il blocco oggetti è possibile inserire anche un blocco a fini giudiziari sulla versione di un oggetto. Analogamente a un periodo di conservazione, un blocco a fini giudiziari impedisce che una versione di un oggetto venga sovrascritta o eliminata. Tuttavia, un blocco a fini giudiziari non ha un periodo di conservazione associato e rimane valido fino a quando non viene rimosso. I blocchi a fini giudiziari possono essere applicati e rimossi liberamente da qualsiasi utente con l'autorizzazione s3:PutObjectLegalHold. Per l'elenco completo delle autorizzazioni Amazon S3, consulta Operazioni, risorse e chiavi di condizione per Amazon S3.

I blocchi a fini giudiziari sono indipendenti dai periodi di conservazione. A condizione che il bucket che contiene l'oggetto abbia la funzionalità blocco oggetti abilitata, è possibile applicare e rimuovere blocchi a fini giudiziari indipendentemente dal fatto che per la versione dell'oggetto specificata sia impostato un periodo di conservazione. L'applicazione di un blocco a fini giudiziari a una versione di un oggetto non influisce sulla modalità di conservazione o sul periodo di conservazione per tale versione dell'oggetto.

Ad esempio, supponiamo di collocare un blocco a fini giudiziari sulla versione di un oggetto mentre la versione dell'oggetto è protetta da un periodo di conservazione. Se il periodo di conservazione scade, l'oggetto non perde la protezione WORM. Il blocco a fini giudiziari continua a proteggere l'oggetto fino a quando non viene rimosso in modo esplicito da un utente autorizzato. Analogamente, se rimuovi un blocco a fini giudiziari da una versione di un oggetto per la quale è impostato un periodo di conservazione, la versione dell'oggetto rimane protetta fino alla scadenza del periodo di conservazione.

Per utilizzare il blocco degli oggetti, è necessario abilitarlo per un bucket. Facoltativamente, è anche possibile configurare una modalità e un periodo di conservazione predefiniti che verranno applicati ai nuovi oggetti inseriti nel bucket. Per ulteriori informazioni, consulta Configurazione del blocco oggetti S3 utilizzando la console.

Configurazione del bucket

Per utilizzare il blocco degli oggetti, è necessario abilitarlo per un bucket. Facoltativamente, è anche possibile configurare una modalità e un periodo di conservazione predefiniti che verranno applicati ai nuovi oggetti inseriti nel bucket.

Nota

Quando utilizzi il blocco di oggetti in S3, assicurarti di prendere in considerazione la tecnica di crittografia. Ad esempio, se utilizzi la crittografia lato server con chiavi AWS KMS, considera in che modo la possibile eliminazione della chiave può interagire con il blocco degli oggetti in S3. Può essere importante valutare la protezione anche per la chiave.

Abilitazione del blocco oggetti S3

Prima di bloccare un oggetto, è necessario configurare un bucket per l'uso del blocco oggetti S3. Per farlo, devi specificare di voler abilitare il blocco degli oggetti al momento della creazione del bucket. Una volta configurato un bucket per l'uso del blocco degli oggetti, puoi bloccare gli oggetti nel bucket con periodi di conservazione, blocchi a fini giudiziari o entrambi.

Nota
  • È possibile abilitare il blocco degli oggetti solo per i nuovi bucket. Se desideri attivare il blocco degli oggetti per un bucket esistente, contatta AWS Support.

  • Quando si crea un bucket con il blocco degli oggetti abilitato, Amazon S3 abilita automaticamente la funzione Versioni multiple per il bucket.

  • Se crei un bucket con il blocco degli oggetti abilitato, non potrai disabilitare il blocco o sospendere la funzione Versioni multiple per il bucket.

Per informazioni sull'attivazione del blocco oggetti nella console, consulta Configurazione del blocco oggetti S3 utilizzando la console.

Impostazioni di conservazione predefinite

Quando attivi il blocco degli oggetti per un bucket, il bucket può archiviare oggetti protetti. Tuttavia, l'impostazione non protegge automaticamente gli oggetti che inserisci nel bucket. Per proteggere automaticamente le versioni degli oggetti inserite nel bucket, è possibile configurare un periodo di conservazione predefinito. Le impostazioni predefinite si applicano a tutti i nuovi oggetti inseriti nel bucket, a meno che non vengano specificati in modo esplicito una modalità e un periodo di conservazione diversi per un oggetto al momento della creazione.

Suggerimento

Per applicare la modalità e il periodo di conservazione predefinita del bucket a tutte le nuove versioni degli oggetti inserite nel bucket, specifica le impostazioni predefinite del bucket e non concedere agli utenti l'autorizzazione per la configurazione di impostazioni di conservazione degli oggetti. Amazon S3 applica quindi la modalità e il periodo di conservazione predefinito a tutte le nuove versioni degli oggetti inserite nel bucket e rifiuta qualsiasi richiesta di inserimento di un oggetto che include un'impostazione e una modalità di conservazione.

Le impostazioni predefinite del bucket richiedono sia una modalità che un periodo. La modalità predefinita del bucket può essere governance o conformità. Per ulteriori informazioni, consulta Modalità di conservazione.

Il periodo di conservazione predefinito viene descritto non come timestamp, ma come periodo in giorni o anni. Quando inserisci una versione dell'oggetto in un bucket con un periodo di conservazione predefinito, il blocco oggetti calcola una Data di fine conservazione aggiungendo il periodo di conservazione predefinito al timestamp di creazione per la versione dell'oggetto. Amazon S3 archivia il timestamp risultante come Retain Until Date della versione dell'oggetto come se il timestamp fosse stato calcolato manualmente e applicato alla versione dell'oggetto.

Le impostazioni predefinite si applicano solo ai nuovi oggetti inseriti nel bucket. L'applicazione di un'impostazione di conservazione predefinita a un bucket non comporta l'applicazione di alcuna impostazione di conservazione agli oggetti già presenti nel bucket.

Importante

I blocchi degli oggetti si applicano solo alle singole versioni degli oggetti. Se inserisci un oggetto in un bucket che ha un periodo di conservazione predefinito e non specifichi in modo esplicito un periodo di conservazione per tale oggetto, Amazon S3 crea l'oggetto con un periodo di conservazione corrispondente all'impostazione predefinita del bucket. Dopo che l'oggetto è stato creato, il suo periodo di conservazione è indipendente dal periodo di conservazione predefinito del bucket. La modifica del periodo di conservazione predefinito di un bucket non comporta la modifica del periodo di conservazione esistente per gli oggetti presenti nel bucket.

Nota

Se configuri un periodo di conservazione su un bucket, le richieste di caricamento di oggetti in questo bucket devono includere l'intestazione Content-MD5. Per ulteriori informazioni, consulta Put Object nella Documentazione di riferimento delle API di Amazon Simple Storage Service.

Autorizzazioni richieste

Le operazioni del blocco degli oggetti richiedono autorizzazioni specifiche. A seconda dell'operazione esatta che si sta tentando, potrebbe essere necessaria una delle seguenti autorizzazioni:

  • s3:BypassGovernanceRetention

  • s3:GetBucketObjectLockConfiguration

  • s3:GetObjectLegalHold

  • s3:GetObjectRetention

  • s3:PutBucketObjectLockConfiguration

  • s3:PutObjectLegalHold

  • s3:PutObjectRetention

Per informazioni sull'utilizzo delle condizioni con le autorizzazioni, consulta Esempi di chiavi di condizioni di Amazon S3.