Abilitare e utilizzare le configurazioni della conservazione degli oggetti

Overview

Questa pagina descrive come utilizzare la funzionalità di blocco della conservazione degli oggetti, compresa l'abilitazione per un bucket e l'impostazione delle configurazioni di conservazione per gli oggetti all'interno del bucket.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per abilitare la funzionalità di blocco della conservazione degli oggetti per un bucket e impostare le configurazioni di conservazione degli oggetti, chiedi all'amministratore di concederti il ruolo IAM Amministratore Storage (roles/storage.admin) per il bucket o il progetto che contiene il bucket. Questo ruolo predefinito contiene le autorizzazioni necessarie per impostare e gestire le configurazioni di conservazione. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

  • storage.buckets.create
  • storage.buckets.enableObjectRetention
  • storage.buckets.get
  • storage.buckets.list
    • Questa autorizzazione è necessaria solo se prevedi di utilizzare la console Google Cloud per eseguire le istruzioni in questa pagina.
  • storage.objects.get
  • storage.objects.list
    • Questa autorizzazione è necessaria solo se prevedi di utilizzare la console Google Cloud per eseguire le istruzioni in questa pagina.
  • storage.objects.overrideUnlockedRetention
    • Questa autorizzazione è necessaria solo se prevedi di bloccare o abbreviare una configurazione di conservazione esistente.
  • storage.objects.setRetention
  • storage.objects.update

Potresti essere in grado di ottenere queste autorizzazioni anche con i ruoli personalizzati.

Per informazioni sulla concessione dei ruoli nei bucket, consulta Utilizzare IAM con i bucket. Per informazioni sulla concessione dei ruoli sui progetti, consulta Gestire l'accesso ai progetti.

Abilita la conservazione degli oggetti per un bucket

L'abilitazione della conservazione degli oggetti è supportata solo durante la creazione del bucket e se la conservazione degli oggetti è abilitata in un bucket, non può essere disabilitata. Segui queste istruzioni per abilitare la conservazione degli oggetti per un bucket:

Console

Crea un bucket come faresti normalmente e nel passaggio Scegli come proteggere i dati degli oggetti seleziona Conservazione (per la conformità) e Abilita conservazione degli oggetti.

Riga di comando

Crea un bucket come faresti normalmente e includi il flag --enable-per-object-retention nel comando.

API REST

API JSON

Crea un bucket come faresti normalmente e includi il parametro di query enableObjectRetention=true nella richiesta.

API XML

Crea un bucket come faresti normalmente e includi l'intestazione x-goog-bucket-object-lock-enabled: True come parte della richiesta.

Visualizzare lo stato di conservazione degli oggetti di un bucket

Per verificare se la conservazione degli oggetti è abilitata per un bucket:

Console

  1. Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.

    Vai a Bucket

  2. Fai clic sul nome del bucket di cui vuoi controllare lo stato.

  3. Fai clic sulla scheda Protezione.

  4. Lo stato di conservazione degli oggetti del bucket viene visualizzato nella sezione Conservazione degli oggetti.

Riga di comando

Utilizza il comando gcloud storage buckets describe con il flag --format:

gcloud storage buckets describe gs://BUCKET_NAME --format="default(per_object_retention)"

Dove BUCKET_NAME è il nome del bucket di cui vuoi visualizzare il criterio di conservazione. Ad esempio, my-bucket.

Se l'esito è positivo ed esiste un criterio di conservazione per il bucket, la risposta è simile alla seguente:

per_object_retention:
  mode: Enabled

Se l'operazione ha esito positivo e non esiste un criterio di conservazione per il bucket, la risposta è simile alla seguente:

null

API REST

API JSON

  1. Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione Authorization.

    In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con una richiesta Bucket GET che include il campo objectRetention:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=objectRetention"

    Dove BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.

API XML

  1. Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione Authorization.

    In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API XML con una richiesta Bucket GET con ambito ?object-lock:

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://storage.googleapis.com/BUCKET_NAME?object-lock"

    Dove BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.

Imposta la configurazione della conservazione di un oggetto

Per impostare una configurazione di conservazione per un oggetto, quest'ultimo deve essere archiviato in un bucket per il quale è abilitata la conservazione degli oggetti. Per impostare una configurazione di conservazione per un oggetto:

Console

  1. Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.

    Vai a Bucket

  2. Nell'elenco dei bucket, fai clic sul nome del bucket che contiene l'oggetto di cui vuoi impostare o modificare la configurazione di conservazione.

    Viene visualizzata la pagina Dettagli bucket con la scheda Oggetti selezionata.

  3. Vai all'oggetto, che potrebbe trovarsi in una cartella.

  4. Fai clic sul nome dell'oggetto.

    Viene visualizzata la pagina Dettagli oggetto, in cui sono visualizzati i metadati degli oggetti.

  5. Nella sezione Protezione, fai clic sull'icona Modifica () associata all'opzione Dalla configurazione della conservazione degli oggetti.

    Viene visualizzato il riquadro Modifica conservazione.

  6. Nella sezione Configurazione della conservazione degli oggetti, fai clic su Abilitata o Disabilitata.

    1. Se la configurazione della conservazione è abilitata, seleziona una data e un'ora per la configurazione nella sezione Durata conservazione e fai clic su Sbloccata o Bloccata nella sezione Modalità di conservazione.
  7. Fai clic su Conferma.

Riga di comando

Utilizza il comando gcloud storage objects update con i flag appropriati. Per aggiungere o modificare una configurazione della conservazione, utilizza il comando seguente. Tieni presente che devi includere anche il flag --override-unlocked-retention se stai modificando una configurazione esistente in modo da bloccarla o ridurne la durata di conservazione:

gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --retain-until=DATETIME --retention-mode=STATE

Dove:

  • BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.

  • OBJECT_NAME è il nome dell'oggetto pertinente. Ad esempio, kitten.png.

  • DATETIME indica la prima data e ora in cui è possibile eliminare l'oggetto. Ad esempio, 2028-02-15T05:30:00Z.

  • STATE è Locked o Unlocked.

In caso di esito positivo, la risposta sarà simile al seguente esempio:

Updating gs://my-bucket/kitten.png...
  Completed 1  

Per rimuovere una configurazione di conservazione da un oggetto, utilizza il seguente comando:

gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --clear-retention --override-unlocked-retention

Dove:

  • BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.

  • OBJECT_NAME è il nome dell'oggetto pertinente. Ad esempio, kitten.png.

API REST

API JSON

  1. Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione Authorization.

    In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione Authorization.

  2. Crea un file JSON contenente le seguenti informazioni:

    {
      "retention": {
        "mode": STATE,
        "retainUntilTime": "DATETIME"
      }
    }

    Dove:

    • STATE è Locked o Unlocked.

    • DATETIME indica la prima data e ora in cui è possibile eliminare l'oggetto. Ad esempio, 2028-02-15T05:30:00Z.

  3. Utilizza cURL per chiamare l'API JSON con una richiesta Oggetto PATCH:

    curl -X PATCH --data-binary @JSON_FILE_NAME \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?overrideUnlockedRetention=BOOLEAN"

    Dove:

    • JSON_FILE_NAME è il percorso del file creato nel passaggio 2.
    • BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.
    • OBJECT_NAME è il nome con codifica URL dell'oggetto pertinente. Ad esempio, pets/kitten.png, con codifica URL come pets%2Fkitten.png.
    • BOOLEAN deve essere true se la richiesta accorcia, rimuove o blocca una configurazione di conservazione esistente. In caso contrario, il parametro overrideUnlockedRetention può essere escluso completamente dalla richiesta.

API XML

  1. Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione Authorization.

    In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione Authorization.

  2. Crea un file XML contenente le seguenti informazioni:

    <Retention>
      <Mode>
        STATE
      </Mode>
      <RetainUntilDate>
        DATETIME
      </RetainUntilDate>
    </Retention>

    Dove:

    • STATE è GOVERNANCE o COMPLIANCE.

    • DATETIME indica la prima data e ora in cui è possibile eliminare l'oggetto. Ad esempio, 2028-02-15T05:30:00Z.

  3. Utilizza cURL per chiamare l'API XML con una richiesta Oggetto PUT con ambito ?retention:

    curl -X PUT --data-binary @XML_FILE_NAME \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "x-goog-bypass-governance-retention: BOOLEAN" \
      "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"

    Dove:

    • XML_FILE_NAME è il percorso del file XML che hai creato nel passaggio 2.
    • BOOLEAN deve essere true se la richiesta accorcia, rimuove o blocca una configurazione di conservazione esistente. In caso contrario, l'intestazione x-goog-bypass-governance-retention può essere esclusa completamente dalla richiesta.
    • BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.
    • OBJECT_NAME è il nome con codifica URL dell'oggetto pertinente. Ad esempio, pets/kitten.png, con codifica URL come pets%2Fkitten.png.

Visualizza la configurazione della conservazione di un oggetto

Per visualizzare l'eventuale configurazione della conservazione impostata su un oggetto:

Console

  1. Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.

    Vai a Bucket

  2. Nell'elenco dei bucket, fai clic sul nome del bucket che contiene l'oggetto di cui vuoi visualizzare la configurazione di conservazione.

    Viene visualizzata la pagina Dettagli bucket con la scheda Oggetti selezionata.

  3. Vai all'oggetto, che potrebbe trovarsi in una cartella.

  4. Fai clic sul nome dell'oggetto.

    Viene visualizzata la pagina Dettagli oggetto, in cui sono visualizzati i metadati degli oggetti. Le informazioni sulla configurazione di conservazione dell'oggetto vengono visualizzate nella sezione Protezione.

Riga di comando

Utilizza il comando gcloud storage objects describe con il flag --format:

gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(retention_settings)"

Dove:

  • BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.

  • OBJECT_NAME è il nome dell'oggetto pertinente. Ad esempio, kitten.png.

Se l'operazione va a buon fine ed esiste una configurazione di conservazione per l'oggetto, la risposta è simile alla seguente:

retention_settings:
  mode: Unlocked
  retainUntilTime: '2028-11-30T14:11:14+00:00'

Se l'operazione riesce e non esiste una configurazione di conservazione per l'oggetto, la risposta è simile alla seguente:

null

API REST

API JSON

  1. Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione Authorization.

    In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API JSON con una richiesta Oggetto GET che includa il campo retention:

    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/OBJECT_NAME?fields=retention"

    Dove:

    • BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.
    • OBJECT_NAME è il nome dell'oggetto pertinente. Ad esempio, kitten.png.

API XML

  1. Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione Authorization.

    In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione Authorization.

  2. Utilizza cURL per chiamare l'API XML con una richiesta Oggetto GET con ambito ?retention:

    curl -X GET \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?retention"

    Dove:

    • BUCKET_NAME è il nome del bucket pertinente. Ad esempio, my-bucket.
    • OBJECT_NAME è il nome dell'oggetto pertinente. Ad esempio, kitten.png.

Passaggi successivi