

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.

# Chiffrement côté client Amazon S3 avec S3A
<a name="emr-s3a"></a>

À partir de la version 7.6.0 d'Amazon Elastic Map Reduce (EMR), le connecteur de système de fichiers S3A prend désormais en charge le chiffrement côté client Amazon S3. Cela signifie que le chiffrement et le déchiffrement des données Amazon S3 se font directement dans le client S3A de votre cluster informatique. Lorsque vous utilisez cette fonctionnalité, les fichiers sont automatiquement chiffrés avant d'être chargés sur Amazon S3 et déchiffrés lors du téléchargement. Pour obtenir des informations complètes sur la méthodologie de chiffrement et sa mise en œuvre, les utilisateurs peuvent se référer à la section [Protection des données à l'aide du chiffrement côté client dans le](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html) guide de l'*utilisateur d'Amazon Simple Storage Service*.

Lorsque vous activez le chiffrement côté client (CSE) avec S3A dans Amazon EMR, vous disposez de deux options de système de gestion des clés :
+ **CSE-KMS** — Cette approche utilise une clé AWS Key Management Service (KMS) configurée avec des politiques spécialement conçues pour Amazon EMR. Pour obtenir des informations détaillées sur les exigences relatives aux clés, reportez-vous à la documentation sur [l'utilisation des AWS KMS clés pour le chiffrement](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-enable.html#emr-awskms-keys).
+ **CSE-CUSTOM** — Cette méthode vous permet d'intégrer une classe Java personnalisée qui fournit la clé racine côté client chargée du chiffrement et du déchiffrement des données.

**Note**  
Le chiffrement côté client S3A dans EMR est intrinsèquement compatible avec le chiffrement côté client EMRFS, ce qui signifie que les objets chiffrés à l'aide d'EMRFS CSE peuvent être lus via S3A CSE.

**Topics**
+ [Configuration de CSE-KMS](emr-s3a-cse-kms.md)
+ [Configuration de CSE-CUSTOM](emr-s3a-cse-custom.md)
+ [Propriétés du chiffrement côté client Amazon S3 avec S3A](emr-encryption-s3a-properties.md)

# Configuration de CSE-KMS
<a name="emr-s3a-cse-kms"></a>

Vous pouvez activer le chiffrement côté client à l'aide de AWS KMS (CSE-KMS) dans deux domaines principaux :
+ Le premier est la configuration à l'échelle du cluster :

  ```
  [
    {
      "Classification":"core-site",
      "Properties": {
         "fs.s3a.encryption.algorithm": "CSE-KMS",
         "fs.s3a.encryption.key":"${KMS_KEY_ID}",
      }
    }
  ]
  ```
**Note**  
Si la région AWS KMS clé est différente de la bucket/EMR région S3, vous devez définir la configuration supplémentaire suivante : `fs.s3a.encryption.cse.kms.region=${KMS_REGION}`
+ La seconde est la configuration spécifique à la tâche ou à l'application. Le CSE-KMS peut être configuré pour une application Spark spécifique comme suit :

  ```
  spark-submit --conf spark.hadoop.fs.s3a.encryption.algorithm=CSE-KMS --conf spark.hadoop.fs.s3a.encryption.key=${KMS_KEY_ID}
  ```

# Configuration de CSE-CUSTOM
<a name="emr-s3a-cse-custom"></a>

Pour utiliser CSE-CUSTOM, vous devez créer un fournisseur de clés personnalisé en implémentant l'interface [Keyring](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/choose-keyring.html). Voici un exemple de mise en œuvre :

```
public class CustomKeyring implements Keyring {
  public CustomKeyring()  {
    // custom code
  }

  @Override
  public EncryptionMaterials onEncrypt(EncryptionMaterials encryptionMaterials) {
    // custom code
  }

  @Override
  public DecryptionMaterials onDecrypt(DecryptionMaterials decryptionMaterials,
      ListEncryptedDataKey list) {
    // custom code
  }
```

Vous pouvez activer les clés personnalisées de chiffrement côté client (CSE-CUSTOM) dans deux domaines principaux :
+ Le premier champ d'application est la configuration à l'échelle du cluster :

  ```
  [
    {
      "Classification":"core-site",
      "Properties": {
         "fs.s3a.encryption.algorithm": "CSE-CUSTOM",
         "fs.s3a.cse.customKeyringProvider.uri":"S3 path of custom jar",
         "fs.s3a.encryption.cse.custom.keyring.class.name":"fully qualified class name"
      }
    }
  ]
  ```
+ La seconde est la configuration spécifique à la tâche ou à l'application. CSE-CUSTOM peut être configuré pour une application Spark spécifique comme suit :

  ```
  spark-submit --conf spark.hadoop.fs.s3a.encryption.algorithm=CSE-CUSTOM --conf spark.hadoop.fs.s3a.encryption.cse.custom.keyring.class.name=fully qualified class name
  ```
**Note**  
Assurez-vous que le fichier jar personnalisé requis pour générer encryption/decryption les clés est présent dans le chemin de classe.

# Propriétés du chiffrement côté client Amazon S3 avec S3A
<a name="emr-encryption-s3a-properties"></a>

Pour configurer le chiffrement côté client avec S3A, plusieurs propriétés de configuration doivent être définies dans les paramètres de votre fichier core-site.xml. Pour plus d'informations sur les paramètres de configuration personnalisés, voir [Configuration des applications](emr-configure-apps.html).

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/emr/latest/ReleaseGuide/emr-encryption-s3a-properties.html)