Verifica l'integrità dei dati in Amazon S3 con checksum aggiuntivi

TUTORIAL

Panoramica

Le organizzazioni creano e migrano costantemente risorse digitali su Amazon S3. Queste risorse includono immagini, file binari, rendering di post-produzione e altro ancora, tutti elementi fondamentali per un’azienda. Poiché le risorse vengono migrate e utilizzate nei flussi di lavoro, è importante garantire che i file rimangano inalterati da danneggiamenti della rete, guasti del disco rigido o altri problemi non intenzionali. Oggi, nel settore vengono utilizzati algoritmi per scansionare un file byte per byte e generare un'impronta digitale univoca, nota come checksum.
 
Attraverso i checksum, è possibile verificare che le risorse non vengano alterate quando vengono copiate. L'esecuzione di un checksum consiste nell'utilizzare un algoritmo per eseguire iterazioni sequenziali su ogni byte di un file.

Amazon S3 offre diverse opzioni di checksum per accelerare il controllo dell'integrità dei dati. Queste funzionalità calcolano il checksum di un file quando un cliente carica un oggetto. I clienti che migrano grandi volumi di dati su Amazon S3 desiderano eseguire questi controlli di integrità come best practice di durabilità e per confermare che ogni byte viene trasferito senza alterazioni. Ciò consente ai clienti di mantenere l'integrità dei dati end-to-end. Il checksum viene creato nel momento in cui l'oggetto viene caricato e viene mantenuto durante tutto il suo ciclo di vita. Lo stesso checksum viene convalidato alla fine quando l'oggetto viene scaricato, per offrire l'integrità dei dati end-to-end. Gli algoritmi aggiuntivi supportati da Amazon S3 sono: SHA-1, SHA-256, CRC32 e CRC32-C. Con queste nuove funzionalità di controllo dell'integrità dei dati, è possibile verificare che i propri file non siano stati alterati durante il trasferimento dei dati o durante il caricamento o il download.

Obiettivi

  • Caricare un file su Amazon S3
  • Confrontare il checksum su Amazon S3 e il file locale per verificare l'integrità dei dati

Prerequisiti

 Esperienza AWS

Principiante

 Tempo per il completamento

20 minuti

 Costo richiesto per il completamento

 Requisiti

Account AWS

 Servizi utilizzati

 Ultimo aggiornamento

15 agosto 2022

Implementazione

Fase 1: Creazione di un bucket Amazon S3

  • 1.1 - Accesso alla console Amazon S3
    • Se non l'hai già fatto, crea un account AWS.
    • Accedi alla Console di gestione AWS utilizzando le informazioni del tuo account.
    • Nella barra di ricerca dei servizi della console AWS, inserisci S3. Nella sezione dei risultati della ricerca dei servizi, seleziona S3. Potresti notare un'opzione per S3 Glacier. Questa opzione è per il servizio Glacier prima dell'integrazione con Amazon S3. Consigliamo agli utenti di Amazon S3 Glacier di utilizzare la console Amazon S3 per un'esperienza utente migliorata.

  • 1.2 - Crea un bucket S3
    • Scegli Buckets (Bucket) dal menu Amazon S3 sul sinistro e seleziona il pulsante Create bucket (Crea bucket).
  • 1.3
    • Immetti un nome univoco descrittivo per il tuo bucket. Seleziona la regione AWS in cui desideri creare il bucket. L’impostazione Block Public Access predefinita è adatta a questo carico di lavoro, pertanto lascia le impostazioni predefinite in questa sezione.
    • Puoi lasciare le opzioni rimanenti come predefinite, andare in fondo alla pagina e scegliere Create bucket (Crea bucket).

Fase 2: Caricare un file e specificare l'algoritmo di checksum

Ora che il bucket è stato creato e configurato, è possibile caricare un file e far calcolare il checksum da Amazon S3.
  • 2.1 - Caricamento di un oggetto
    • Se si è disconnessi dalla sessione della Console di gestione AWS, accedere nuovamente. Passa alla console S3 e seleziona la voce di menu Buckets (Bucket). Dall’elenco di bucket disponibili, seleziona il nome del bucket appena creato.
  • 2.2
    • Quindi, seleziona la scheda Objects (Oggetti). Quindi, dalla sezione Objects (Oggetti), scegli Upload (Carica).
  • 2.3 - Aggiungere file
    • Scegli il pulsante Add files (Aggiungi file) e quindi seleziona il file che desideri caricare dal tuo browser di file.
  • 2.4 - Espandi le proprietà
    • Naviga in fondo alla pagina per trovare la sezione Proprietà. Quindi, seleziona Properties (Proprietà) ed espandi la sezione.
  • 2.5 - Seleziona checksum aggiuntivi
    • Nella sezione Additional checksum (Checksum aggiuntivi) seleziona l'opzione On e scegli SHA-256.

Se il tuo oggetto è inferiore a 16 MB e hai già calcolato il checksum SHA-256 (con codifica base64), puoi fornirlo nella casella di input Precalculated Value (Valore precalcolato). Per utilizzare questa funzionalità per oggetti di dimensioni superiori a 16 MB, è possibile utilizzare la CLI o l'SDK. Quando Amazon S3 riceve l'oggetto, calcola il checksum utilizzando l'algoritmo specificato. Se i valori del checksum non corrispondono, Amazon S3 genera un errore e rifiuta il caricamento, come mostrato nella schermata.

  • 2.6 - Caricamento
    • Naviga in fondo alla pagina e scegli il pulsante Upload(Carica).
  • 2.7
    • Una volta completato il caricamento, scegli il pulsante Chiudi (Chiudi).

Fase 3: Verifica il checksum

  • 3.1
    • Seleziona il file caricato selezionando il nome del file. Verrà visualizzata la pagina Properties (Proprietà).
  • 3.2 - Individua il valore del checksum
    • Naviga verso il basso nella pagina delle proprietà e troverai la sezione Additional checksums (Checksum aggiuntivi).
    • Questa sezione mostra il checksum codificato in base64 calcolato e verificato da Amazon S3 al momento del caricamento.
  • 3.3 - Confronta
    • Per confrontare l'oggetto nel computer locale, apri una finestra del terminale e individua la posizione del file.
    • Usa un'utilità come shasum per calcolare il file. Il comando seguente esegue un calcolo sha256 sullo stesso file e converte l'output esadecimale in base64: shasum -a 256 image.jpg | cut -f1 -d\ | xxd -r -p | base64
    • Quando si confronta questo valore, deve corrispondere al valore nella console Amazon S3.

Fase 4: Eliminazione

Nelle fasi successive, effettuerai la pulizia delle risorse create in questo tutorial. Per evitare di ricevere addebiti non desiderati, una best practice consigliata consiste nell'eliminare le risorse non più utilizzate.
  • 4.1 - Eliminazione dell’oggetto di test
    • Se si è disconnessi dalla sessione della Console di gestione AWS, accedere nuovamente. Passa alla console S3 e seleziona la voce di menu Buckets (Bucket). Per prima cosa dovrai eliminare l’oggetto di test dal tuo bucket di test. Seleziona il nome del bucket con cui hai lavorato per questo tutorial. Seleziona la casella di controllo a sinistra del nome dell'oggetto di prova, quindi seleziona il pulsante Delete (Elimina). Sulla pagina Delete objects (Elimina oggetti), verifica di aver selezionato l'oggetto corretto da eliminare, quindi digita permanently delete nella casella di conferma Permanently delete objects (Elimina definitivamente gli oggetti). Quindi seleziona il pulsante Delete object (Elimina oggetto) per continuare. Successivamente, verrà visualizzato un banner che indica se l'eliminazione è andata a buon fine.
  • 4.2 - Eliminazione del bucket di test
    • Infine, dovrai eliminare il bucket di test che hai creato. Torna all’elenco di bucket nel tuo account. Seleziona il pulsante di opzione alla sinistra del bucket che hai creato per questo tutorial, quindi seleziona il pulsante Delete (Elimina). Rivedi il messaggio di avvertenza. Se desideri continuare con l'eliminazione del bucket, digita il nome del bucket nella casella di conferma Delete bucket (Elimina bucket) e seleziona Delete bucket (Elimina bucket).

Conclusioni

Congratulazioni! Hai imparato a caricare un file su Amazon S3, calcolare checksum aggiuntivi e confrontare il checksum su Amazon S3 e il tuo file locale per verificare l'integrità dei dati.

Questa pagina è stata utile?

Fasi successive

Per ulteriori informazioni sui checksum, visita le seguenti risorse.

Scopri i checksum aggiuntivi

Per ulteriori informazioni sui checksum aggiuntivi in Amazon S3, leggi il blog di lancio e consulta la Documentazione sulla verifica dell'integrità degli oggetti.

Scopri la funzionalità Checksum finali

Amazon S3 ha anche introdotto Checksum finali, una nuova funzionalità per l'SDK AWS. Utilizzando Checksum finali, l'SDK calcolerà il checksum in un unico passaggio durante il caricamento del file su Amazon S3. Per saperne di più, leggi il post del blog Costruire checksum scalabili.