Crear, abrir, definir la master key y hacer backup de un keystore TDE (19c+)
OracleSeguridadComando
-- 1) Keystore location (static parameter, restart required), then keystore type:
ALTER SYSTEM SET WALLET_ROOT = '/u01/app/oracle/admin/ORCL/wallet' SCOPE = SPFILE;
-- SHUTDOWN IMMEDIATE; STARTUP;
ALTER SYSTEM SET TDE_CONFIGURATION = 'KEYSTORE_CONFIGURATION=FILE' SCOPE = BOTH;
-- 2) In CDB root: create a software keystore (under WALLET_ROOT/tde), open it, set the master key
ADMINISTER KEY MANAGEMENT CREATE KEYSTORE IDENTIFIED BY "<keystore_pwd>";
ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN
IDENTIFIED BY "<keystore_pwd>" CONTAINER = ALL;
ADMINISTER KEY MANAGEMENT SET KEY USING TAG 'mk_2026_10'
IDENTIFIED BY "<keystore_pwd>" WITH BACKUP USING 'mk_before' CONTAINER = ALL;
-- 3) Open automatically after restart (auto-login, cwallet.sso):
ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE
FROM KEYSTORE IDENTIFIED BY "<keystore_pwd>";
-- 4) Backup (repeat after every SET KEY / rekey, store SEPARATELY from database backups):
ADMINISTER KEY MANAGEMENT BACKUP KEYSTORE USING 'daily'
FORCE KEYSTORE IDENTIFIED BY "<keystore_pwd>" TO '/backup/tde/';
-- 5) Status:
SELECT con_id, wrl_type, wrl_parameter, status, wallet_type, keystore_mode
FROM v$encryption_wallet;
SELECT con_id, key_id, tag, creation_time, activation_time
FROM v$encryption_keys ORDER BY creation_time;Qué hace
Configura un software keystore para Transparent Data Encryption en modo united (todas las PDB comparten el keystore de la CDB), crea la master encryption key y habilita auto-login para que se abra tras un reinicio. En 19c+ el método recomendado es WALLET_ROOT/TDE_CONFIGURATION en lugar de ENCRYPTION_WALLET_LOCATION en sqlnet.ora.
Cuándo usarlo
Como primer paso antes del cifrado de tablespaces/columnas en proyectos de cumplimiento que exigen cifrado de datos en reposo (GDPR, PCI-DSS, ISO 27001).
Precaución
On-premises requiere la opción Advanced Security (costo adicional); está incluida en las licencias de Oracle Cloud (OCI/Autonomous). WALLET_ROOT es estático y necesita reiniciar la instancia (tiempo de inactividad). Si se pierden el keystore y su contraseña, los datos cifrados quedan ilegibles DE FORMA PERMANENTE; guarde los backups del keystore de forma segura y separada de los backups de la base de datos. Cualquiera que tenga el archivo de auto-login (cwallet.sso) puede abrir la base de datos; restrinja los permisos del archivo y use LOCAL AUTO_LOGIN cuando corresponda. Con Data Guard, copie también el keystore al standby.
Relacionado
- Cifrar tablespaces con TDE (nuevos y existentes, online/offline)
- 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