Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Utilizzare l'API REST S3 per configurare il blocco oggetti S3

Collaboratori

Se l'impostazione blocco oggetti S3 globale è attivata per il sistema StorageGRID, è possibile creare bucket con blocco oggetti S3 attivato. È possibile specificare la conservazione predefinita per ogni bucket o impostazioni di conservazione per ciascuna versione dell'oggetto.

Come attivare il blocco oggetti S3 per un bucket

Se l'impostazione globale di blocco oggetti S3 è attivata per il sistema StorageGRID, è possibile attivare il blocco oggetti S3 quando si crea ciascun bucket.

S3 Object Lock è un'impostazione permanente che può essere attivata solo quando si crea un bucket. Non puoi aggiungere o disattivare il blocco oggetti S3 dopo la creazione di un bucket.

Per attivare il blocco oggetti S3 per un bucket, utilizzare uno dei seguenti metodi:

  • Creare il bucket utilizzando il tenant Manager. Vedere "Creare un bucket S3".

  • Creare il bucket utilizzando una richiesta PUT bucket con x-amz-bucket-object-lock-enabled intestazione della richiesta. Vedere "Operazioni sui bucket".

S3 Object Lock richiede il controllo della versione del bucket, che viene attivato automaticamente quando viene creato il bucket. Non puoi sospendere il controllo delle versioni per il bucket. Vedere "Versione degli oggetti".

Impostazioni di conservazione predefinite per un bucket

Quando S3 Object Lock è attivato per un bucket, è possibile attivare la conservazione predefinita per il bucket e specificare una modalità di conservazione predefinita e un periodo di conservazione predefinito.

Modalità di conservazione predefinita

  • In modalità COMPLIANCE:

    • L'oggetto non può essere eliminato fino a quando non viene raggiunta la data di conservazione.

    • La conservazione dell'oggetto fino alla data odierna può essere aumentata, ma non può essere diminuita.

    • La data di conservazione dell'oggetto non può essere rimossa fino al raggiungimento di tale data.

  • In modalità GOVERNANCE:

    • Utenti con s3:BypassGovernanceRetention l'autorizzazione può utilizzare x-amz-bypass-governance-retention: true richiedi intestazione per ignorare le impostazioni di conservazione.

    • Questi utenti possono eliminare una versione dell'oggetto prima che venga raggiunta la data di conservazione.

    • Questi utenti possono aumentare, ridurre o rimuovere il mantenimento di un oggetto fino ad oggi.

Periodo di conservazione predefinito

Ogni bucket può avere un periodo di conservazione predefinito specificato in anni o giorni.

Come impostare la conservazione predefinita per un bucket

Per impostare la conservazione predefinita per un bucket, utilizzare uno dei seguenti metodi:

PUT Object Lock Configuration (CONFIGURAZIONE blocco oggetto)

La richiesta PUT Object Lock Configuration consente di impostare e modificare la modalità di conservazione predefinita e il periodo di conservazione predefinito per un bucket con S3 Object Lock attivato. È inoltre possibile rimuovere le impostazioni di conservazione predefinite precedentemente configurate.

Quando le nuove versioni degli oggetti vengono acquisite nel bucket, viene applicata la modalità di conservazione predefinita se x-amz-object-lock-mode e. x-amz-object-lock-retain-until-date non sono specificati. Il periodo di conservazione predefinito viene utilizzato per calcolare il periodo di conservazione fino alla data se x-amz-object-lock-retain-until-date non specificato.

Se il periodo di conservazione predefinito viene modificato dopo l'acquisizione di una versione dell'oggetto, la data di conservazione della versione dell'oggetto rimane invariata e non viene ricalcolata utilizzando il nuovo periodo di conservazione predefinito.

È necessario disporre di s3:PutBucketObjectLockConfiguration autorizzazione, o essere root dell'account, per completare questa operazione.

Il Content-MD5 L'intestazione della richiesta deve essere specificata nella richiesta PUT.

Esempio di richiesta

Questo esempio attiva il blocco oggetti S3 per un bucket e imposta la modalità di conservazione predefinita su COMPLIANCE e il periodo di conservazione predefinito su 6 anni.

PUT /bucket?object-lock HTTP/1.1
Accept-Encoding: identity
Content-Length: 308
Host: host
Content-MD5: request header
User-Agent: s3sign/1.0.0 requests/2.24.0 python/3.8.2
X-Amz-Date: date
X-Amz-Content-SHA256: authorization-string
Authorization: authorization-string

<ObjectLockConfiguration>
    <ObjectLockEnabled>Enabled</ObjectLockEnabled>
    <Rule>
        <DefaultRetention>
            <Mode>COMPLIANCE</Mode>
            <Years>6</Years>
        </DefaultRetention>
    </Rule>
</ObjectLockConfiguration>

Come determinare la conservazione predefinita per un bucket

Per determinare se S3 Object Lock è attivato per un bucket e per visualizzare la modalità di conservazione e il periodo di conservazione predefiniti, utilizzare uno dei seguenti metodi:

  • Visualizza il bucket nel tenant manager. Vedere "Visualizza i bucket S3".

  • Eseguire una richiesta GET Object Lock Configuration.

OTTIENI configurazione blocco oggetto

La richiesta GET Object Lock Configuration (OTTIENI configurazione blocco oggetto) consente di determinare se S3 Object Lock (blocco oggetto S3) è attivato per un bucket e, se è attivato, di verificare se sono configurate una modalità di conservazione predefinita e un periodo di conservazione per il bucket.

Quando le nuove versioni degli oggetti vengono acquisite nel bucket, viene applicata la modalità di conservazione predefinita se x-amz-object-lock-mode non specificato. Il periodo di conservazione predefinito viene utilizzato per calcolare il periodo di conservazione fino alla data se x-amz-object-lock-retain-until-date non specificato.

È necessario disporre di s3:GetBucketObjectLockConfiguration autorizzazione, o essere root dell'account, per completare questa operazione.

Esempio di richiesta

GET /bucket?object-lock HTTP/1.1
Host: host
Accept-Encoding: identity
User-Agent: aws-cli/1.18.106 Python/3.8.2 Linux/4.4.0-18362-Microsoft botocore/1.17.29
x-amz-date: date
x-amz-content-sha256: authorization-string
Authorization: authorization-string

Esempio di risposta

HTTP/1.1 200 OK
x-amz-id-2: iVmcB7OXXJRkRH1FiVq1151/T24gRfpwpuZrEG11Bb9ImOMAAe98oxSpXlknabA0LTvBYJpSIXk=
x-amz-request-id: B34E94CACB2CEF6D
Date: Fri, 04 Sep 2020 22:47:09 GMT
Transfer-Encoding: chunked
Server: AmazonS3

<?xml version="1.0" encoding="UTF-8"?>
<ObjectLockConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <ObjectLockEnabled>Enabled</ObjectLockEnabled>
    <Rule>
        <DefaultRetention>
            <Mode>COMPLIANCE</Mode>
            <Years>6</Years>
        </DefaultRetention>
    </Rule>
</ObjectLockConfiguration>

Come specificare le impostazioni di conservazione per un oggetto

Un bucket con S3 Object Lock abilitato può contenere una combinazione di oggetti con e senza le impostazioni di conservazione S3 Object Lock.

Le impostazioni di conservazione a livello di oggetto vengono specificate utilizzando l'API REST S3. Le impostazioni di conservazione per un oggetto sovrascrivono le impostazioni di conservazione predefinite per il bucket.

È possibile specificare le seguenti impostazioni per ciascun oggetto:

  • Modalità di conservazione: CONFORMITÀ o GOVERNANCE.

  • Conserva-fino-data: Una data che specifica per quanto tempo la versione dell'oggetto deve essere conservata da StorageGRID.

    • In modalità COMPLIANCE, se la data di conservazione è futura, l'oggetto può essere recuperato, ma non può essere modificato o cancellato. È possibile aumentare la data di conservazione fino alla data prevista, ma non è possibile ridurla o rimuoverle.

    • In modalità GOVERNANCE, gli utenti con autorizzazioni speciali possono ignorare l'impostazione di conservazione fino alla data odierna. Possono eliminare una versione dell'oggetto prima che sia trascorso il periodo di conservazione. Possono anche aumentare, diminuire o addirittura rimuovere il mantenimento fino ad oggi.

  • Conservazione legale: L'applicazione di un blocco legale a una versione oggetto blocca immediatamente tale oggetto. Ad esempio, potrebbe essere necessario sospendere legalmente un oggetto correlato a un'indagine o a una controversia legale. Una conservazione a fini giudiziari non ha una data di scadenza, ma rimane attiva fino a quando non viene esplicitamente rimossa.

    L'impostazione di conservazione legale per un oggetto è indipendente dalla modalità di conservazione e dalla conservazione fino alla data. Se una versione dell'oggetto è sottoposta a blocco legale, nessuno può eliminare tale versione.

Per specificare le impostazioni di blocco oggetti S3 quando si aggiunge una versione di oggetto a un bucket, eseguire un "METTI oggetto", "METTI oggetto - Copia", o. "Avvia caricamento multiparte" richiesta.

È possibile utilizzare quanto segue:

  • x-amz-object-lock-mode, Che può essere COMPLIANCE o GOVERNANCE (sensibile al maiuscolo/minuscolo).

    Nota Se si specifica x-amz-object-lock-mode, è inoltre necessario specificare x-amz-object-lock-retain-until-date.
  • x-amz-object-lock-retain-until-date

    • Il valore di conservazione fino alla data deve essere nel formato 2020-08-10T21:46:00Z. Sono consentiti i secondi frazionari, ma vengono conservate solo 3 cifre decimali (precisione in millisecondi). Non sono consentiti altri formati ISO 8601.

    • La data di conservazione deve essere in futuro.

  • x-amz-object-lock-legal-hold

    Se la conservazione legale È ATTIVA (sensibile al maiuscolo/minuscolo), l'oggetto viene collocato sotto una conservazione legale. Se l'opzione Legal Hold è disattivata, non viene effettuata alcuna conservazione a fini giudiziari. Qualsiasi altro valore genera un errore 400 Bad Request (InvalidArgument).

Se si utilizza una di queste intestazioni di richiesta, tenere presente le seguenti restrizioni:

  • Il Content-MD5 l'intestazione della richiesta è obbligatoria, se presente x-amz-object-lock-* L'intestazione della richiesta è presente nella richiesta DELL'oggetto PUT. Content-MD5 Non è richiesto per METTERE oggetto - copiare o avviare caricamento multiparte.

  • Se il bucket non ha S3 Object Lock abilitato e un x-amz-object-lock-* L'intestazione della richiesta è presente, viene restituito un errore 400 Bad Request (InvalidRequest).

  • La richiesta DI oggetti PUT supporta l'utilizzo di x-amz-storage-class: REDUCED_REDUNDANCY Per far corrispondere il comportamento di AWS. Tuttavia, quando un oggetto viene acquisito in un bucket con il blocco oggetti S3 attivato, StorageGRID eseguirà sempre un ingest a doppio commit.

  • Una risposta successiva ALLA versione DELL'oggetto GET o HEAD includerà le intestazioni x-amz-object-lock-mode, x-amz-object-lock-retain-until-date, e. x-amz-object-lock-legal-hold, se configurato e se il mittente della richiesta ha il corretto s3:Get* permessi.

È possibile utilizzare s3:object-lock-remaining-retention-days chiave di condizione dei criteri per limitare i periodi di conservazione minimi e massimi consentiti per gli oggetti.

Come aggiornare le impostazioni di conservazione per un oggetto

Se è necessario aggiornare le impostazioni di conservazione o conservazione a fini giudiziari per una versione di oggetto esistente, è possibile eseguire le seguenti operazioni di sottorisorsa oggetto:

  • PUT Object legal-hold

    Se IL nuovo valore di conservazione a fini giudiziari è ATTIVO, l'oggetto viene collocato sotto una conservazione a fini giudiziari. Se il valore di conservazione a fini giudiziari è OFF, la conservazione a fini giudiziari viene revocata.

  • PUT Object retention

    • Il valore della modalità può essere COMPLIANCE o GOVERNANCE (distinzione tra maiuscole e minuscole).

    • Il valore di conservazione fino alla data deve essere nel formato 2020-08-10T21:46:00Z. Sono consentiti i secondi frazionari, ma vengono conservate solo 3 cifre decimali (precisione in millisecondi). Non sono consentiti altri formati ISO 8601.

    • Se una versione a oggetti ha un valore di conservazione esistente fino alla data odierna, è possibile aumentarlo. Il nuovo valore deve essere in futuro.

Come utilizzare LA modalità DI GOVERNANCE

Utenti che dispongono di s3:BypassGovernanceRetention L'autorizzazione può ignorare le impostazioni di conservazione attive di un oggetto che utilizza la modalità DI GOVERNANCE. Tutte le operazioni DI eliminazione o CONSERVAZIONE degli oggetti PUT devono includere x-amz-bypass-governance-retention:true intestazione della richiesta. Questi utenti possono eseguire queste operazioni aggiuntive:

  • Eseguire operazioni DI ELIMINAZIONE di oggetti o DI ELIMINAZIONE di oggetti multipli per eliminare una versione di oggetti prima che sia trascorso il periodo di conservazione.

    Non è possibile eliminare gli oggetti che si trovano sotto un blocco legale. La sospensione legale deve essere disattivata.

  • Eseguire operazioni DI conservazione degli oggetti PUT che modificano la modalità di una versione dell'oggetto da GOVERNANCE a COMPLIANCE prima che sia trascorso il periodo di conservazione dell'oggetto.

    Non è mai consentito cambiare la modalità dalla CONFORMITÀ alla GOVERNANCE.

  • Eseguire operazioni DI conservazione DEGLI oggetti PUT per aumentare, ridurre o rimuovere il periodo di conservazione di una versione dell'oggetto.