以下是配置TDE透明加密的一般步骤:
首先要有一个数据库主密钥,如果还没有,使用CREATE MASTER KEY语句创建。例如:CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'YourStrongPassword';。这是整个加密体系的基础,用于保护后续创建的证书或非对称密钥。
可以使用CREATE CERTIFICATE语句创建证书,如CREATE CERTIFICATE MyServerCert WITH SUBJECT = 'My TDE Certificate';。也可以创建非对称密钥(不过证书更常用)。
在要加密的数据库中,使用CREATE DATABASE ENCRYPTION KEY语句。例如:USE YourDatabase; CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE MyServerCert;。这里指定了加密算法(如AES - 256)和用于加密数据库加密密钥的证书。
使用ALTER DATABASE语句并设置ENCRYPTION ON。如ALTER DATABASE YourDatabase SET ENCRYPTION ON;。之后数据库就会开始对数据页等进行透明加密操作。
钱包用于存储加密密钥。通过orapki工具或者SQLPlus命令来创建和管理钱包。例如,在SQLPlus中执行ALTER SYSTEM SET ENCRYPTION WALLET OPEN IDENTIFIED BY "YourPassword";(假设已经创建了钱包并且设置了密码)。
使用DBMS_CRYPTO包或者相关的加密管理工具创建加密密钥。
确定要加密的表空间,使用ALTER TABLESPACE语句加上加密选项。例如:ALTER TABLESPACE YourTablespace ENCRYPTION USING 'AES256' DEFAULT STORAGE(ENCRYPT);。这会对该表空间中的对象进行透明加密。