

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 trasparente dei dati (TDE) del database Oracle con AWS CloudHSM
<a name="oracle-tde"></a>

Transparent Data Encryption (TDE) viene utilizzato per crittografare i file di database. Utilizzando TDE, il software del database crittografa i dati prima di archiviarli su disco. I dati nelle colonne o negli spazi della tabella del database vengono crittografati con una chiave di tabella o una chiave di spazio di tabella. Alcune versioni del software del database di Oracle offrono TDE. In Oracle TDE, queste chiavi sono crittografate con una chiave di crittografia principale TDE. È possibile ottenere una maggiore sicurezza archiviando la chiave di crittografia principale TDE HSMs nel cluster AWS CloudHSM .

![\[Archiviare la chiave di crittografia principale di Oracle TDE in AWS CloudHSM.\]](http://docs.aws.amazon.com/it_it/cloudhsm/latest/userguide/images/tde-master-key-in-hsm.png)


In questa soluzione, si utilizza Oracle Database installato su un'istanza Amazon EC2. Oracle Database si integra con la [libreria AWS CloudHSM software per PKCS \$111](pkcs11-library.md) per memorizzare la chiave master TDE nel HSMs cluster.

**Importante**  
 Consigliamo di installare Oracle Database su un'istanza Amazon EC2.

Completare la procedura seguente per effettuare l'integrazione di Oracle TDE con AWS CloudHSM.

**Topics**
+ [Passaggio 1. Imposta i prerequisiti](#oracle-tde-prerequisites)
+ [Fase 2: Aggiornare la configurazione del database Oracle](#oracle-tde-configure-database-and-generate-master-key)
+ [Fase 3: Generazione della chiave di crittografia principale Oracle TDE](#oracle-tde-generate-master-key)

## Passaggio 1. Imposta i prerequisiti
<a name="oracle-tde-prerequisites"></a>

Per realizzare l'integrazione con Oracle TDE con AWS CloudHSM, è necessario quanto segue:
+ Un AWS CloudHSM cluster attivo con almeno un HSM.
+ Un'istanza Amazon EC2 che esegue il sistema operativo Amazon Linux con il seguente software installato:
  + Il AWS CloudHSM client e gli strumenti da riga di comando.
  + La libreria AWS CloudHSM software per PKCS \$111.
  + Database Oracle. AWS CloudHSM supporta l'integrazione con Oracle TDE. Client SDK 5.6 e le versioni successive supportano Oracle TDE per Oracle Database 19c. Client SDK 3 supporta Oracle TDE per Oracle Database versione 11g e 12c.
+ Un utente crittografico (CU) che possiede e gestisce la chiave di crittografia principale TDE presente nel HSMs cluster.

Completa la procedura seguente per impostare tutti i prerequisiti.

**Per configurare i prerequisiti per l'integrazione di Oracle TDE con AWS CloudHSM**

1. Completa le fasi descritte in [Nozioni di base](getting-started.md). Dopo aver completato questa fase, avrai un cluster attivo con un HSM. Avrai inoltre un'istanza Amazon EC2 che esegue il sistema operativo Amazon Linux. Verranno inoltre installati e configurati gli strumenti AWS CloudHSM client e da riga di comando. 

1. (Facoltativo) HSMs Aggiungine altri al cluster. Per ulteriori informazioni, consulta [Aggiungere un HSM a un cluster AWS CloudHSM](add-hsm.md). 

1. Connettiti alla tua istanza del client Amazon EC2 ed esegui le operazioni descritte di seguito:

   1. [Installa la libreria AWS CloudHSM software per PKCS \$111](pkcs11-library-install.md).

   1. Installa Oracle Database. Per ulteriori informazioni, consulta la [documentazione relativa a Oracle Database](https://docs.oracle.com/en/database/). Client SDK 5.6 e le versioni successive supportano Oracle TDE per Oracle Database 19c. Client SDK 3 supporta Oracle TDE per Oracle Database versione 11g e 12c.

   1. Utilizza lo strumento a riga di comando cloudhsm\$1mgmt\$1util per creare un utente di crittografia (CU) sul tuo cluster. Per ulteriori informazioni sulla creazione di un CU, consulta la pagina [Come gestire gli utenti HSM con CMU](create-users-cmu.md) e [Utenti HSM](manage-hsm-users.md). 

## Fase 2: Aggiornare la configurazione del database Oracle
<a name="oracle-tde-configure-database-and-generate-master-key"></a>

Per aggiornare la configurazione di Oracle Database per utilizzare un HSM nel cluster come *modulo di sicurezza esterno*, attieniti alla seguente procedura. Per informazioni sui moduli di sicurezza esterni, vedi la sezione [ Introduction to Transparent Data Encryption ](https://docs.oracle.com/database/122/ASOAG/introduction-to-transparent-data-encryption.htm) nella *Oracle Database Advanced Security Guide*. 

**Per aggiornare la configurazione di Oracle**

1. Esegui la connessione all'istanza del client Amazon EC2. Si tratta dell'istanza in cui è installato Oracle Database.

1. Crea una copia di backup del file `sqlnet.ora`. Per informazioni sul percorso del file, consulta la documentazione Oracle. 

1. Usare un editor di testo per modificare il fine denominato `sqlnet.ora`. Aggiungi la seguente riga. Se una linea esistente nel file inizia con `encryption_wallet_location`, sostituiscila con quella riportata di seguito.

   ```
   encryption_wallet_location=(source=(method=hsm))
   ```

   Salvare il file.

1. Eseguire il comando seguente per creare la directory in cui Oracle Database prevede di trovare il file di libreria per la libreria software AWS CloudHSM PKCS \$111. 

   ```
   sudo mkdir -p /opt/oracle/extapi/64/hsm
   ```

1. Esegui il comando seguente per copiare la libreria AWS CloudHSM software per il file PKCS \$111 nella directory creata nel passaggio precedente. 

   ```
   sudo cp /opt/cloudhsm/lib/libcloudhsm_pkcs11.so /opt/oracle/extapi/64/hsm/
   ```
**Nota**  
La directory `/opt/oracle/extapi/64/hsm` deve contenere solo un file della libreria. Rimuovi tutti gli altri file presenti in tale directory. 

1. Esegui il seguente comando per modificare le proprietà della directory `/opt/oracle` e del relativo contenuto.

   ```
   sudo chown -R oracle:dba /opt/oracle
   ```

1. Avvia Oracle Database.

## Fase 3: Generazione della chiave di crittografia principale Oracle TDE
<a name="oracle-tde-generate-master-key"></a>

Per generare la chiave master Oracle TDE sul HSMs cluster, completare i passaggi della procedura seguente.

**Per generare la chiave principale**

1. Utilizza il comando seguente per aprire Oracle SQL\$1Plus. Quando richiesto, immetti la password di sistema impostata al momento dell'installazione di Oracle Database. 

   ```
   sqlplus / as sysdba
   ```
**Nota**  
Per Client SDK 3 è necessario impostare la variabile di ambiente `CLOUDHSM_IGNORE_CKA_MODIFIABLE_FALSE` ogni volta che si genera una chiave principale. Questa variabile è necessaria solo per la generazione di chiavi principali. Per ulteriori informazioni, consulta "Problema: Oracle imposta l'attributo PCKS \$111 `CKA_MODIFIABLE` durante la generazione della chiave principale, ma HSM non lo supporta" in [Problemi noti per l'integrazione di applicazioni di terze parti](ki-third-party.md). 

1. Esegui l'istruzione SQL che crea la chiave di crittografia principale, come mostrato negli esempi di seguito. Utilizza l'istruzione corrispondente alla versione in uso di Oracle Database. Sostituire *<CU user name>* con il nome utente dell'utente crittografico (CU). Sostituire *<password>* con la password CU. 
**Importante**  
Esegui il seguente comando solo una volta. Ogni volta che lo esegui, il comando crea una nuova chiave di crittografia principale. 
   + In Oracle Database versione 11, esegui la seguente istruzione SQL.

     ```
     SQL> alter system set encryption key identified by "<CU user name>:<password>";
     ```
   + In Oracle Database versione 12 e 19c, esegui la seguente istruzione SQL.

     ```
     SQL> administer key management set key identified by "<CU user name>:<password>";
     ```

   Se la risposta è `System altered` oppure `keystore altered`, la creazione della chiave principale di Oracle TDE è stata completata senza errori. 

1. (Opzionale) Esegui il seguente comando per verificare lo stato di *Oracle Wallet*.

   ```
   SQL> select * from v$encryption_wallet;
   ```

   Se il wallet non è aperto, utilizza uno dei seguenti comandi per aprirlo. Sostituire *<CU user name>* con il nome dell'utente crittografico (CU). Sostituire *<password>* con la password CU. 
   + In Oracle 11, esegui il seguente comando per aprire il wallet.

     ```
     SQL> alter system set encryption wallet open identified by "<CU user name>:<password>";
     ```

     Per chiudere manualmente il wallet, esegui il seguente comando.

     ```
     SQL> alter system set encryption wallet close identified by "<CU user name>:<password>";
     ```
   + In Oracle 12 e Oracle 19c, esegui il seguente comando per aprire il wallet.

     ```
     SQL> administer key management set keystore open identified by "<CU user name>:<password>";
     ```

     Per chiudere manualmente il wallet, esegui il seguente comando.

     ```
     SQL> administer key management set keystore close identified by "<CU user name>:<password>";
     ```