Perché posso eliminare oggetti anche dopo aver attivato Object Lock per il mio bucket Amazon S3?

4 minuti di lettura
0

Ho attivato Object Lock per il mio bucket Amazon Simple Storage Service (Amazon S3). Devo sapere perché posso ancora eliminare alcuni oggetti da questo bucket.

Risoluzione

Le impostazioni di configurazione di Object Lock a livello di oggetto determinano se è possibile eliminare un oggetto da un bucket Amazon S3 con Object Lock.

Per determinare perché puoi ancora eliminare un particolare oggetto in un bucket con Object Lock, controlla l'impostazione Object Lock applicata all'oggetto. Inoltre, controlla la modalità di cancellazione.

Nota: Se ricevi errori durante l'esecuzione dei comandi AWS Command Line Interface (AWS CLI), assicurati di utilizzare la versione più recente dell'interfaccia a riga di comando di AWS.

Controlla le impostazioni di conservazione legale di Object Lock e Object Lock sull'oggetto

Per verificare queste impostazioni, apri la console Amazon S3 e vai alla pagina Proprietà dell'oggetto. Puoi anche eseguire il comando head-object AWS CLI:

aws s3api head-object --bucket sample-bucket --key test.png

L'output è simile al seguente:

{  
 "AcceptRanges": "bytes",  
 "LastModified": "2023-03-09T04:39:46+00:00",  
 "ContentLength": 285074,  
 "ETag": "\"1e8cd7fb4e4ddeafdc6513200f47958f\"",  
 "VersionId": "Cm_wsGgkj8L3fySNPUu.J7xV1HEKMhGr",  
 "ContentType": "image/png",  
 "ServerSideEncryption": "aws:kms",  
 "Metadata": {},  
 "SSEKMSKeyId": "arn:aws:kms:us-east-1:111111111111:key/eod57e78-8c46-454a-8c22-897d8be9a5f4",  
 "ReplicationStatus": "PENDING",  
 "ObjectLockMode": "COMPLIANCE",  
 "ObjectLockRetainUntilDate": "2023-03-10T04:39:45.913000+00:00",  
 "ObjectLockLegalHoldStatus": "ON"  
}

Se hai applicato una conservazione legale all'oggetto, nell'output vengono visualizzati i campi ObjectLockLegalHoldStatus. Se è stata applicata la conservazione Object Lock all'oggetto, vengono visualizzati anche i campi ObjectLockMode e ObjectLockRetainUntilDate.

Non hai attivato la conservazione legale di Object Lock o la conservazione di Object Lock sull'oggetto

È possibile eliminare definitivamente l'oggetto.

Hai attivato la conservazione legale di Object Lock sull'oggetto

È possibile eliminare definitivamente l'oggetto solo dopo che un utente con le autorizzazioni s3:PutObjectLegalHold disattiva esplicitamente la conservazione legale sull'oggetto.

Hai attivato la conservazione Object Lock sull'oggetto

Se l'oggetto è protetto dalla modalità GOVERNANCE, è possibile eliminarlo definitivamente alle seguenti condizioni, anche prima della scadenza del periodo di conservazione:

  • Hai i permessi di s3:BypassGovernanceRetention.
  • Hai incluso esplicitamente x-amz-bypass-governance-retention:true come intestazione della richiesta DELETE.

Per impostazione predefinita, la console Amazon S3 include l'intestazione x-amz-bypass-governance-retention:true in una richiesta DELETE. Pertanto, se disponi delle autorizzazioni s3:BypassGovernanceRetention, puoi utilizzare la console S3 per eliminare una versione dell'oggetto protetta dalla modalità GOVERNANCE.

Con le autorizzazioni s3:BypassGovernanceRetention, puoi anche utilizzare l'interfaccia a riga di comando di AWS per eliminare una versione dell'oggetto. Passa l'opzione**\ --bypass-governance-retention** nel comando delete-object:

aws s3api delete-object --bucket sample-bucket --key test.txt --version-id "9_gKg5vG56F.TTEUdwkxGpJ3tNDlWlGq" --bypass-governance-retention

Se l'oggetto è protetto dalla modalità COMPLIANCE, nessun utente, incluso l'account root, può eliminare definitivamente l'oggetto fino al termine del periodo di conservazione.

Controlla la modalità di cancellazione

DELETE semplice

In una semplice operazione DELETE, si elimina un oggetto senza specificare l'ID della versione dell'oggetto nella richiesta di eliminazione.

È possibile eseguire una semplice operazione DELETE su qualsiasi oggetto presente in un bucket con Object Lock indipendentemente dalle configurazioni di Object Lock. Simple DELETE non rimuove alcun dato dal bucket. Aggiunge solo un indicatore di eliminazione al bucket e mantiene la versione corrente come non corrente.

DELETE permanente

In un'operazione DELETE permanente, si elimina un oggetto specificando l'ID della versione dell'oggetto nella richiesta di eliminazione.

È possibile eseguire un'operazione DELETE permanente su un oggetto protetto dalla modalità di conservazione GOVERNANCE anche prima della fine del periodo di conservazione. Tuttavia, è necessario disporre delle autorizzazioni per aggirare la modalità GOVERNANCE.

Non è possibile eseguire un DELETE permanente su un oggetto in nessuna delle seguenti condizioni:

  • L'oggetto è protetto dalla modalità di conservazione COMPLIANCE e il periodo di conservazione non è terminato.
  • La conservazione legale si applica all'oggetto.

Eliminazione tramite le regole del ciclo di vita di S3

Le regole del ciclo di vita di S3 continuano a eseguire le scadenze delle versioni correnti tramite semplici operazioni DELETE indipendentemente dalle configurazioni di Object Lock a livello di oggetto. Tuttavia, queste regole non eliminano definitivamente le versioni non correnti se sono protette da Object Lock.

Informazioni correlate

Conservazioni legali

Modalità di conservazione

AWS UFFICIALE
AWS UFFICIALEAggiornata 10 mesi fa