Cifrar tablespaces con TDE (nuevos y existentes, online/offline)
OracleSeguridadComando
-- Prerequisite: keystore OPEN and master key set (v$encryption_wallet.status = 'OPEN')
-- 1) New encrypted tablespace:
CREATE TABLESPACE customer_enc
DATAFILE '+DATA' SIZE 1G AUTOEXTEND ON NEXT 256M MAXSIZE 20G
ENCRYPTION USING 'AES256' ENCRYPT;
-- 2a) Encrypt an existing tablespace ONLINE (12.2+, needs extra space temporarily):
ALTER TABLESPACE customer_data ENCRYPTION ONLINE USING 'AES256' ENCRYPT;
-- If not OMF: ... ENCRYPT FILE_NAME_CONVERT = ('customer_data01.dbf', 'customer_data01_enc.dbf');
-- 2b) OFFLINE conversion (no extra space, tablespace unavailable meanwhile):
ALTER TABLESPACE customer_data OFFLINE NORMAL;
ALTER TABLESPACE customer_data ENCRYPTION OFFLINE ENCRYPT;
ALTER TABLESPACE customer_data ONLINE;
-- 3) Progress and status:
SELECT t.name AS tablespace_name, e.encryptionalg, e.status, e.con_id
FROM v$encrypted_tablespaces e
JOIN v$tablespace t ON t.ts# = e.ts# AND t.con_id = e.con_id;
SELECT tablespace_name, encrypted FROM dba_tablespaces ORDER BY tablespace_name;Qué hace
El cifrado de tablespaces cifra cada bloque escrito en los datafiles; los datos están en claro en el buffer cache, por lo que no se necesitan cambios en la aplicación ni en el SQL. La conversión online construye una copia cifrada del datafile y cambia a ella mientras continúa el DML; la conversión offline cifra los bloques in situ.
Cuándo usarlo
Para cifrar en reposo los tablespaces de aplicación que contienen datos sensibles, mover datos a un nuevo tablespace cifrado o cerrar un hallazgo de auditoría.
Precaución
On-premises requiere la opción Advanced Security (costo adicional). La conversión online necesita un espacio adicional igual al de los datafiles que se cifran y genera mucha I/O y redo; un standby de Data Guard realiza el mismo trabajo. La conversión offline debe ejecutarse por separado en un standby de Data Guard. SYSTEM/SYSAUX/UNDO se pueden cifrar online en 12.2+ pero requieren cuidado adicional. Los backups de tablespaces cifrados no se pueden restaurar sin el keystore.
Relacionado
- Crear, abrir, definir la master key y hacer backup de un keystore TDE (19c+)
- Crear una política de Unified Auditing, habilitarla de forma condicional, revisar los registros y eliminarla
- Añadir una política de acceso a nivel de fila con VPD (DBMS_RLS)
- Crear un profile de política de contraseñas y asignarlo a usuarios
- Encontrar privilegios no usados con privilege analysis