Déchargement de fichiers de données chiffrés - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Déchargement de fichiers de données chiffrés

UNLOAD crée automatiquement les fichiers à l'aide du chiffrement côté serveur Amazon S3 avec les clés de chiffrement gérées par AWS (SSE-S3). Vous pouvez également spécifier un chiffrement côté serveur avec une clé AWS Key Management Service (SSE-KMS) ou un chiffrement côté client avec une clé gérée par le client. UNLOAD ne prend pas en charge le chiffrement côté serveur Amazon S3 utilisant une clé gérée par le client. Pour de plus amples informations, veuillez consulter Protection des données à l'aide du chiffrement côté serveur.

Pour décharger des données dans Amazon S3 à l'aide du chiffrement côté serveur avec une clé AWS KMS, utilisez le paramètre KMS_KEY_ID pour fournir l'ID de clé, comme illustré dans l'exemple suivant.

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;

Si vous souhaitez fournir votre propre clé de chiffrement, vous pouvez créer des fichiers de données chiffrés côté client dans Amazon S3 en utilisant la commande UNLOAD avec l'option ENCRYPTED. UNLOAD utilise le même processus de chiffrement par enveloppe que celui que le chiffrement côté client Amazon S3 utilise. Vous pouvez ensuite utiliser la commande COPY avec l'option de chiffrement ENCRYPTED pour charger les fichiers chiffrés.

Voici comment cela fonctionne :

  1. Vous créez une clé AES 256 bits codée en base64, que vous utiliserez comme clé de chiffrement privée, ou clé symétrique racine.

  2. Vous entrez une commande UNLOAD qui inclut votre clé symétrique racine et l'option ENCRYPTED.

  3. UNLOAD génère une clé symétrique à utilisation unique (appelée clé symétrique par enveloppe) et un vecteur d'initialisation, qui permet de chiffrer vos données.

  4. UNLOAD chiffre la clé symétrique par enveloppe à l'aide de votre clé symétrique racine.

  5. UNLOAD stocke ensuite les fichiers de données chiffrés dans Amazon S3 et stocke la clé d'enveloppe chiffrée et le vecteur d'initialisation comme métadonnées objet avec chaque fichier. La clé d'enveloppe chiffrée est stockée comme métadonnées objet x-amz-meta-x-amz-key et le vecteur d'initialisation est stocké comme métadonnées objet x-amz-meta-x-amz-iv.

Pour de plus amples informations sur le processus de chiffrement par enveloppe, veuillez consulter l'article Client-side data encryption with the AWS SDK for Java and Amazon S3.

Pour décharger les fichiers de données chiffrés côté client, ajoutez la valeur de la clé racine à la chaîne des informations d'identification et incluez l'option ENCRYPTED. Si vous utilisez l'option MANIFEST, le fichier manifeste est également chiffré.

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;

Pour décharger des fichiers de données chiffrés compressés GZIP, incluez l'option GZIP, ainsi que la valeur de la clé racine et l'option 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;

Pour charger les fichiers de données chiffrés, ajoutez le paramètre MASTER_SYMMETRIC_KEY ayant la même valeur de clé racine et incluez l'option ENCRYPTED.

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