DBAtlas · 데이터베이스 운영 아틀라스

TDE keystore 생성, 열기, master key 설정 및 백업(19c+)

Oracle보안

명령어

-- 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;

하는 일

Transparent Data Encryption용 소프트웨어 keystore를 united 모드(모든 PDB가 CDB keystore를 공유)로 구성하고, master encryption key를 생성하며, 재시작 후 열리도록 auto-login을 활성화한다. 19c+에서는 sqlnet.ora ENCRYPTION_WALLET_LOCATION 대신 WALLET_ROOT/TDE_CONFIGURATION이 권장 방법이다.

사용 시점

저장 데이터 암호화가 필요한 컴플라이언스 프로젝트(GDPR, PCI-DSS, ISO 27001)에서 테이블스페이스/컬럼 암호화 전 첫 단계로.

주의

온프레미스에서는 Advanced Security 옵션(유료)이 필요하며 Oracle Cloud(OCI/Autonomous) 라이선스에는 포함되어 있다. WALLET_ROOT는 정적 파라미터이므로 인스턴스 재시작(다운타임)이 필요하다. keystore와 비밀번호를 잃으면 암호화된 데이터는 영구적으로 읽을 수 없다. keystore 백업은 데이터베이스 백업과 분리하여 안전하게 보관한다. auto-login 파일(cwallet.sso)을 가진 사람은 누구나 데이터베이스를 열 수 있으므로 파일 권한을 제한하고 필요한 경우 LOCAL AUTO_LOGIN을 사용한다. Data Guard에서는 keystore를 standby에도 복사한다.

DBAtlas에서 열기 →

관련 항목