Cifrar los datos en la base de datos origen

El cifrado de datos transparente (TDE) cifra de forma transparente los datos en reposo en Oracle Database. Detenga los intentos no autorizados del sistema operativo para acceder a los datos de la base de datos almacenados en archivos, sin afectar la forma en que las aplicaciones acceden a los datos mediante SQL. TDE está totalmente integrado con Oracle Database y puede cifrar copias de seguridad de toda la base de datos (RMAN), exportaciones de pump de datos, tablespaces de aplicaciones completos o columnas sensibles específicas. Los datos cifrados permanecen cifrados en la base de datos, ya sea en archivos de almacenamiento de tablespaces, tablespaces temporales, tablespaces de deshacer u otros archivos como redo logs.

Determinar si TDE está activado en la base de datos de origen

Cuando el cifrado de datos transparente (TDE) no está activado en la base de datos origen, los datos no se cifran al migrar la base de datos a Oracle Cloud Infrastructure (OCI) o durante la recuperación ante desastres. Tendrá que cifrar manualmente los datos no cifrados. Una vez en OCI, cualquier dato nuevo se cifra automáticamente.

  1. Determine si el tablespace está cifrado.
    SQL> select tablespace_name, encrypted from dba_tablespaces;

    Cuando el tablespace no está cifrado, la salida será similar a la siguiente:

    TABLESPACE_NAME 	       		ENC
    ------------------------------ ---
    SYSTEM                          NO
    SYSAUX                          NO
    UNDOTBS1                        NO
    TEMP                            NO
    USERS			      NO
  2. Busque los archivos de datos de base de datos asociados (. dbf ) en el sistema de archivos.
    SQL> select TABLESPACE_NAME, FILE_NAME from dba_data_files;

    La salida será similar a la siguiente:

    TABLESPACE_NAME
    ------------------------------
    FILE_NAME
    
    SYSTEM
    /opt/oracle/oradata/ORCLCDB/system01.dbf
    
    SYSAUX
    /opt/oracle/oradata/ORCLCDB/sysaux01.dbf
    
    UNDOTBS1
    /opt/oracle/oradata/ORCLCDB/undotbs01.dbf
    
    USERS
    /opt/oracle/oradata/ORCLCDB/users01.dbf

Activar cifrado de TDE en la base de datos de origen

El cifrado transparente de datos (TDE) permite cifrar datos confidenciales almacenados en tablas y tablespaces. Los datos cifrados se descifran de forma transparente para un usuario o una aplicación de base de datos que tiene acceso a los datos.

  1. Vaya al directorio $ORACLE_BASE de la base de datos origen.
    bash-4.2$ pwd
    /opt/oracle/admin/ORCLCDB
  2. Cree un directorio denominado wallet.
    $ mkdir wallet
  3. Cree la cartera, junto con una contraseña segura que utilice una combinación de caracteres alfanuméricos.
    Este paso crea y abre la cartera. Una vez abierta la base de datos, la cartera permanece abierta hasta que se cierra explícitamente la cartera o se cierra la base de datos, momento en el que se cierra automáticamente la cartera.
    SQL> alter system set encryption key identified by "wallet_password";
  4. Vuelva a abrir una cartera cerrada después de reiniciar la base de datos.
    SQL> alter system set wallet open identified by "wallet_password";
  5. Cifrar el tablespace.
    El siguiente código utiliza el cifrado AES-128.
    alter tablespace system encryption online using 'aes128' encrypt file_name_convert=('/opt/oracle/oradata/ORCLCDB/system01.dbf','/opt/oracle/oradata/ORCLCDB/system01_enc.dbf');
    
    alter tablespace sysaux encryption online using 'aes128' encrypt file_name_convert=('/opt/oracle/oradata/ORCLCDB/sysaux01.dbf','/opt/oracle/oradata/ORCLCDB/sysaux01_enc.dbf');
    
    alter tablespace undotbs1 encryption online using 'aes128' encrypt file_name_convert=('/opt/oracle/oradata/ORCLCDB/undotbs01.dbf','/opt/oracle/oradata/ORCLCDB/undotbs01_enc.dbf');
    
    alter tablespace users encryption online using 'aes128' encrypt file_name_convert=('/opt/oracle/oradata/ORCLCDB/users01.dbf','/opt/oracle/oradata/ORCLCDB/users01_enc.dbf');
    
  6. Verifique que el tablespace está cifrado.
    SQL> select tablespace_name, encrypted from dba_tablespaces;

    La salida será similar a la siguiente:

    TABLESPACE_NAME 	       ENC
    ------------------------------ ---
    SYSTEM			    YES
    SYSAUX			    YES
    UNDOTBS1                       YES
    TEMP			      NO
    USERS			     YES
  7. Verifique que los archivos de datos de base de datos asociados (. dbf ) del sistema de archivos están cifrados.
    SQL> select TABLESPACE_NAME, FILE_NAME from dba_data_files;

    La salida será similar a la siguiente:

    TABLESPACE_NAME
    ------------------------------
    FILE_NAME
    
    SYSTEM
    /opt/oracle/oradata/ORCLCDB/system01_enc.dbf
    
    SYSAUX
    /opt/oracle/oradata/ORCLCDB/sysaux01_enc.dbf
    
    UNDOTBS1
    /opt/oracle/oradata/ORCLCDB/undotbs01_enc.dbf
    
    USERS
    /opt/oracle/oradata/ORCLCDB/users01_enc.dbf