

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à.

# Crittografia lato client Amazon S3 con S3A
<a name="emr-s3a"></a>

A partire dalla versione 7.6.0 di Amazon Elastic Map Reduce (EMR), il connettore del file system S3A ora supporta la crittografia lato client di Amazon S3. Ciò significa che la crittografia e la decrittografia dei dati Amazon S3 avvengono direttamente all'interno del client S3A sul tuo cluster di elaborazione. Quando si utilizza questa funzionalità, i file vengono crittografati automaticamente prima di essere caricati su Amazon S3 e decrittografati al momento del download. Per dettagli completi sulla metodologia di crittografia e sulla sua implementazione, gli utenti possono fare riferimento alla sezione [Protezione dei dati utilizzando la crittografia lato client](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html) nella Guida per l'utente di *Amazon Simple Storage Service*.

Quando si abilita la crittografia lato client (CSE) con S3A in Amazon EMR, sono disponibili due opzioni di sistema di gestione delle chiavi:
+ **CSE-KMS**: questo approccio utilizza una chiave AWS Key Management Service (KMS) configurata con policy progettate specificamente per Amazon EMR. [Per informazioni dettagliate sui requisiti chiave, consulta la documentazione sull'utilizzo delle chiavi per la crittografia. AWS KMS](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-enable.html#emr-awskms-keys)
+ **CSE-CUSTOM**: questo metodo consente di integrare una classe Java personalizzata che fornisce la chiave radice sul lato client responsabile della crittografia e della decrittografia dei dati.

**Nota**  
La crittografia lato client S3A in EMR è intrinsecamente compatibile con la crittografia lato client EMRFS, il che significa che gli oggetti crittografati utilizzando EMRFS CSE possono essere letti tramite S3A CSE.

**Topics**
+ [Configurazione CSE-KMS](emr-s3a-cse-kms.md)
+ [Configurazione CSE-CUSTOM](emr-s3a-cse-custom.md)
+ [Proprietà per la crittografia lato client di Amazon S3 con S3A](emr-encryption-s3a-properties.md)

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

È possibile abilitare la crittografia lato client utilizzando AWS KMS (CSE-KMS) in due ambiti principali:
+ Il primo è la configurazione a livello di cluster:

  ```
  [
    {
      "Classification":"core-site",
      "Properties": {
         "fs.s3a.encryption.algorithm": "CSE-KMS",
         "fs.s3a.encryption.key":"${KMS_KEY_ID}",
      }
    }
  ]
  ```
**Nota**  
Se la regione AWS KMS chiave è diversa dalla bucket/EMR regione S3, è necessario impostare la seguente configurazione aggiuntiva:. `fs.s3a.encryption.cse.kms.region=${KMS_REGION}`
+ La seconda è la configurazione specifica del lavoro o dell'applicazione. CSE-KMS può essere configurato per una specifica applicazione Spark come segue:

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

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

[Per utilizzare CSE-CUSTOM, è necessario creare un provider di chiavi personalizzato implementando l'interfaccia Keyring.](https://docs.aws.amazon.com/encryption-sdk/latest/developer-guide/choose-keyring.html) Ecco un esempio di implementazione:

```
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
  }
```

È possibile abilitare le chiavi personalizzate di crittografia lato client (CSE-CUSTOM) in due ambiti principali:
+ Il primo ambito è la configurazione a livello di 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"
      }
    }
  ]
  ```
+ Il secondo è la configurazione specifica del processo o dell'applicazione. CSE-CUSTOM può essere configurato per una specifica applicazione Spark come segue:

  ```
  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
  ```
**Nota**  
Assicurati che il jar personalizzato richiesto per la generazione encryption/decryption delle chiavi sia presente nel percorso della classe.

# Proprietà per la crittografia lato client di Amazon S3 con S3A
<a name="emr-encryption-s3a-properties"></a>

Per configurare la crittografia lato client con S3A, è necessario impostare diverse proprietà di configurazione nelle impostazioni di core-site.xml. [Per ulteriori informazioni sulle impostazioni di configurazione personalizzate, consulta Configurare le applicazioni.](emr-configure-apps.html)

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