Chiffrer des tablespaces avec TDE (nouveaux et existants, en ligne/hors ligne)
OracleSécuritéCommande
-- 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;Ce que fait la commande
Le chiffrement de tablespace chiffre chaque bloc écrit dans les datafiles ; les données sont en clair dans le buffer cache, donc aucun changement d'application ni de SQL n'est nécessaire. La conversion en ligne construit une copie chiffrée du datafile et bascule dessus pendant que les DML continuent ; la conversion hors ligne chiffre les blocs sur place.
Quand l'utiliser
Pour chiffrer au repos les tablespaces applicatifs contenant des données sensibles, déplacer des données vers un nouveau tablespace chiffré, ou clore une constatation d'audit.
Attention
En on-premise, exige l'option Advanced Security (payante). La conversion en ligne nécessite un espace supplémentaire égal aux datafiles chiffrés et génère beaucoup d'E/S et de redo ; une standby Data Guard effectue le même travail. La conversion hors ligne doit être exécutée séparément sur une standby Data Guard. SYSTEM/SYSAUX/UNDO peuvent être chiffrés en ligne en 12.2+ mais demandent une attention particulière. Les sauvegardes de tablespaces chiffrés ne peuvent pas être restaurées sans le keystore.
Voir aussi
- Créer, ouvrir, définir la clé maître et sauvegarder un keystore TDE (19c+)
- Créer une politique Unified Auditing, l'activer sous condition, consulter les enregistrements, la supprimer
- Ajouter une politique d'accès au niveau ligne avec VPD (DBMS_RLS)
- Créer un profil de politique de mots de passe et l'attribuer aux utilisateurs
- Trouver les privilèges inutilisés avec privilege analysis