Scaricamento di file di dati crittografati - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Scaricamento di file di dati crittografati

Il comando UNLOAD crea automaticamente i file usando la crittografia lato server di Amazon S3 con chiavi di crittografia gestite da AWS (SSE-S3). Puoi anche specificare la crittografia lato server con una chiave AWS Key Management Service (SSE-KMS) oppure la crittografia lato client con una chiave gestita dal cliente (CSE-CMK). UNLOAD non supporta la crittografia lato server di Amazon S3 con una chiave gestita dal cliente. Per ulteriori informazioni, consultare Protezione dei dati con la crittografia lato server.

Per scaricare i dati in Amazon S3 usando la crittografia lato server con una chiave AWS KMS, utilizzare il parametro KMS_KEY_ID per fornire l'ID della chiave, come illustrato nell'esempio seguente.

unload ('select venuename, venuecity from venue') to 's3://mybucket/encrypted/venue_' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' KMS_KEY_ID '1234abcd-12ab-34cd-56ef-1234567890ab' encrypted;

Se si desidera fornire una chiave di crittografia personalizzata, è possibile creare file di dati con crittografia lato client in Amazon S3 usando il comando UNLOAD con l'opzione ENCRYPTED. UNLOAD usa lo stesso processo di crittografia envelope usato dalla crittografia lato client di Amazon S3. Puoi quindi usare il comando COPY con l'opzione ENCRYPTED per caricare i file crittografati.

Il processo avviene in questo modo:

  1. Devi creare una chiave AES a 256 bit con codifica base64 da usare come chiave di crittografia privata o chiave simmetrica root.

  2. Invia un comando UNLOAD che include la chiave simmetrica root e l'opzione ENCRYPTED.

  3. UNLOAD genera una chiave simmetrica una tantum (denominata chiave simmetrica envelope) e un vettore di inizializzazione (IV), che usa per crittografare i dati.

  4. UNLOAD esegue la crittografia della chiave simmetrica envelope usando la chiave simmetrica root.

  5. UNLOAD archivia quindi i file di dati crittografati in Amazon S3 e archivia la chiave envelope crittografata e il vettore di inizializzazione come metadati degli oggetti con ogni file. La chiave envelope crittografata viene archiviata come metadati degli oggetti x-amz-meta-x-amz-key e il vettore di inizializzazione viene archiviato come metadati degli oggetti x-amz-meta-x-amz-iv.

Per ulteriori informazioni sul processo di crittografia envelope, consultare l'articolo Crittografia dei dati lato client con l'SDK AWS per Java e Amazon S3.

Per scaricare i file di dati crittografati, aggiungi il valore della chiave root alla stringa di credenziali e includi l'opzione ENCRYPTED. Se usi l'opzione MANIFEST, viene crittografato anche il file manifest.

unload ('select venuename, venuecity from venue') to 's3://mybucket/encrypted/venue_' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' master_symmetric_key '<root_key>' manifest encrypted;

Per scaricare file di dati crittografati compressi in formato GZIP, includi l'opzione GZIP insieme al valore della chiave root e all'opzione ENCRYPTED.

unload ('select venuename, venuecity from venue') to 's3://mybucket/encrypted/venue_' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' master_symmetric_key '<root_key>' encrypted gzip;

Per caricare i file di dati crittografati, aggiungi il parametro MASTER_SYMMETRIC_KEY con lo stesso valore della chiave root e includi l'opzione ENCRYPTED.

copy venue from 's3://mybucket/encrypted/venue_' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole' master_symmetric_key '<root_key>' encrypted;