

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

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.

# Chargement de fichiers sur Amazon S3 à utiliser avec COPY
<a name="t_uploading-data-to-S3"></a>

Il existe quelques approches à adopter lors du chargement de fichiers texte sur Amazon S3 :
+ Si vous avez des fichiers compressés, nous vous recommandons de fractionner les fichiers volumineux pour tirer parti du traitement parallèle dans Amazon Redshift.
+ D’autre part, COPY divise automatiquement les données de fichiers volumineux, non compressés et délimités par des textes, afin de faciliter le parallélisme et de distribuer efficacement les données de fichiers volumineux.

Créez un compartiment Amazon S3 pour contenir vos fichiers de données, puis chargez les fichiers de données dans le compartiment. Pour plus d’informations sur la création de compartiments et le chargement de fichiers, consultez [Working with Amazon S3 Buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html) dans le *Guide de l’utilisateur Amazon Simple Storage Service*. 

**Important**  
Le compartiment Amazon S3 qui contient les fichiers de données doit être créé dans la même région AWS que votre cluster, sauf si vous utilisez l’option [REGION](copy-parameters-data-source-s3.md#copy-region) pour spécifier la région dans laquelle se trouve le compartiment Amazon S3.

Vérifiez que les plages d’adresses IP S3 sont ajoutées à votre liste d’autorisations. Pour plus d’informations sur les plages d’adresses IP S3 requises, consultez [Isolement de réseau](https://docs.aws.amazon.com//redshift/latest/mgmt/security-network-isolation.html#network-isolation).

Vous pouvez créer un compartiment Amazon S3 dans une région spécifique en sélectionnant la région lorsque vous créez le compartiment à l’aide de la console Amazon S3 ou en spécifiant un point de terminaison lorsque vous créez le compartiment à l’aide de l’API ou de la CLI Amazon S3.

Après le chargement des données, vérifiez que les fichiers appropriés sont présents sur Amazon S3.

**Topics**
+ [Gestion de la cohérence des données](managing-data-consistency.md)
+ [Chargement de données chiffrées sur Amazon S3](t_uploading-encrypted-data.md)
+ [Vérification de la présence des fichiers corrects dans votre compartiment](verifying-that-correct-files-are-present.md)

# Gestion de la cohérence des données
<a name="managing-data-consistency"></a>

Amazon S3 assure une forte read-after-write cohérence pour les opérations COPY, UNLOAD, INSERT (table externe), CREATE EXTERNAL TABLE AS et Amazon Redshift Spectrum sur les compartiments Amazon S3 dans toutes les régions. AWS En outre, les opérations de lecture sur Amazon S3 Select, les listes de contrôle d’accès Amazon S3, les balises d’objet Amazon S3 et les métadonnées d’objet (par exemple, l’objet HEAD) sont fortement cohérentes. Pour plus d’informations sur la cohérence des données, consultez [Modèle de cohérence des données Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Introduction.html#ConsistencyModel) dans le *Guide de l’utilisateur Amazon Simple Storage Service*.

# Chargement de données chiffrées sur Amazon S3
<a name="t_uploading-encrypted-data"></a>

Amazon S3 prend en charge le chiffrement côté serveur et le chiffrement côté client. Cette rubrique présente les différences entre le chiffrement côté serveur et le chiffrement côté client, et décrit les étapes pour utiliser le chiffrement côté client avec Amazon Redshift. Le chiffrement côté serveur est transparent à Amazon Redshift. 

## Chiffrement côté serveur
<a name="server-side-encryption"></a>

Le chiffrement côté serveur est le chiffrement des données au repos : autrement dit, Amazon S3 chiffre vos données au fur et à mesure qu’il les charge et les déchiffre automatiquement lorsque vous y accédez. Lorsque vous chargez les tables à l’aide d’une commande COPY, il n’existe aucune différence dans la façon dont vous chargez à partir d’objets non chiffrés ou d’objets chiffrés côté serveur sur Amazon S3. Pour plus d’informations sur le chiffrement côté serveur, consultez [Using Server-Side Encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) dans le *Guide de l’utilisateur Amazon Simple Storage Service*.

## Chiffrement côté client
<a name="client-side-encryption"></a>

Dans le chiffrement côté client, votre application cliente gère le chiffrement de vos données, les clés de chiffrement et les outils associés. Vous pouvez charger les données sur un compartiment Amazon S3 à l’aide d’un chiffrement côté client, puis chargez les données à l’aide de la commande COPY avec l’option ENCRYPTED et une clé de chiffrement privée pour renforcer la sécurité.

Vous chiffrez vos données à l’aide du chiffrement d’enveloppe. Avec le *chiffrement d’enveloppe*, votre application gère tout le chiffrement exclusivement. Vos clés de chiffrement privées et vos données non chiffrées ne sont jamais envoyées à AWS. Il est donc très important que vous gériez vos clés de chiffrement en toute sécurité. Si vous perdez vos clés de chiffrement, vous ne pourrez pas déchiffrer vos données et vous ne pourrez pas récupérer vos clés de chiffrement. AWS Le chiffrement d’enveloppe combine les performances du chiffrement symétrique rapide tout en assurant la plus grande sécurité que la gestion des clés avec des clés asymétriques fournit. Une clé one-time-use symétrique (la clé symétrique d'enveloppe) est générée par votre client de chiffrement Amazon S3 pour chiffrer vos données, puis cette clé est chiffrée par votre clé racine et stockée avec vos données dans Amazon S3. Quand Amazon Redshift accède à vos données pendant un chargement, la clé symétrique chiffrée est récupérée et déchiffrée avec votre clé réelle, puis les données sont déchiffrées.

Pour utiliser les données chiffrées côté client Amazon S3 dans Amazon Redshift, suivez les étapes présentées dans la section [Protection des données à l’aide du chiffrement côté client](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html) dans le *Guide de l’utilisateur Amazon Simple Storage Service* avec les conditions requises supplémentaires que vous utilisez :
+ **Chiffrement symétrique** : le kit SDK AWS pour la classe Java `AmazonS3EncryptionClient` utilise le chiffrement d’enveloppe, décrit précédemment, qui repose sur le chiffrement à clé symétrique. Utilisez cette classe pour créer un client Amazon S3 et charger les données chiffrées côté client.
+ **Clé symétrique racine AES 256 bits :** une clé racine chiffre la clé d’enveloppe. Vous passez la clé racine à votre instance de la classe `AmazonS3EncryptionClient`. Enregistrez cette clé, car vous en aurez besoin pour copier les données dans Amazon Redshift.
+ **Métadonnées objet pour stocker la clé d’enveloppe chiffrée :** par défaut, Amazon S3 stocke la clé d’enveloppe comme métadonnées objet pour la classe `AmazonS3EncryptionClient`. La clé d’enveloppe chiffrée qui est stockée sous forme de métadonnées objet est utilisée pendant le processus de déchiffrement. 

**Note**  
Si vous recevez un message d’erreur de chiffrement lorsque vous utilisez l’API de chiffrement pour la première fois, il se peut que votre version JDK possède un fichier de politique de juridiction Java Cryptography Extension (JCE) qui limite la longueur maximale de la clé pour les transformations de chiffrement et de déchiffrement vers 128 bits. Pour plus d'informations sur la résolution de ce problème, consultez la section [Spécification du chiffrement côté client à l'aide du AWS SDK pour Java dans le guide de l'utilisateur](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryptionUpload.html) d'*Amazon Simple Storage Service*. 

Pour plus d’informations sur le chargement de fichiers chiffrés côté client dans vos tables Amazon Redshift à l’aide de la commande COPY, consultez [Chargement de fichiers de données chiffrés à partir d’Amazon S3](c_loading-encrypted-files.md).

## Exemple : Chargement des données chiffrées côté client
<a name="client-side-encryption-example"></a>

Pour un exemple d'utilisation du AWS SDK pour Java afin de télécharger des données chiffrées côté client, consultez la section [Protection des données à l'aide du chiffrement côté client](https://docs.aws.amazon.com/AmazonS3/latest/userguide/encrypt-client-side-symmetric-master-key.html) dans *le guide de l'utilisateur d'Amazon* Simple Storage Service. 

La seconde option montre les choix que vous devez faire pendant le chiffrement côté client afin que les données puissent être chargées dans Amazon Redshift. Plus précisément, l’exemple montre l’utilisation de métadonnées objet pour stocker la clé enveloppe chiffrée et l’utilisation d’une clé symétrique racine AES 256 bits. 

Cet exemple fournit un exemple de code utilisant le AWS SDK for Java pour créer une clé racine symétrique AES 256 bits et l'enregistrer dans un fichier. L’exemple charge ensuite un objet sur Amazon S3 à l’aide du client de chiffrement S3 qui chiffre d’abord des exemples de données côté client. Cet exemple télécharge également l’objet et vérifie que les données sont identiques.

# Vérification de la présence des fichiers corrects dans votre compartiment
<a name="verifying-that-correct-files-are-present"></a>

Une fois que vous avez chargé vos fichiers sur votre compartiment Amazon S3, nous vous recommandons d’afficher le contenu du compartiment pour vérifier que tous les fichiers appropriés sont présents et qu’aucun fichier indésirable ne s’y trouve. Par exemple, si le compartiment `amzn-s3-demo-bucket` contient un fichier nommé `venue.txt.back`, ce fichier est chargé, peut-être involontairement, par la commande suivante :

```
COPY venue FROM 's3://amzn-s3-demo-bucket/venue' … ;
```

Si vous souhaitez contrôler plus précisément quels fichiers sont chargés, vous pouvez utiliser un fichier manifeste pour répertorier explicitement les fichiers de données. Pour plus d’informations sur l’utilisation d’un fichier manifeste, consultez l’option [copy_from_s3_manifest_file](copy-parameters-data-source-s3.md#copy-manifest-file) de la commande COPY et [Utilisation d’un manifeste pour spécifier les fichiers de données](r_COPY_command_examples.md#copy-command-examples-manifest) dans les exemples de COPY. 

Pour plus d’informations sur l’affichage du contenu du compartiment, consultez [Affichage des clés d’objet](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html) dans le *Guide du développeur Amazon S3*.