DBAtlas · データベース運用アトラス

TDEキーストアの作成、オープン、マスターキーの設定、バックアップ(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用のソフトウェアキーストアを統合モード(全PDBがCDBのキーストアを共有)で設定し、マスター暗号化キーを作成し、再起動後にオープンされるよう自動ログインを有効にする。19c以降は、sqlnet.oraのENCRYPTION_WALLET_LOCATIONではなくWALLET_ROOT/TDE_CONFIGURATIONが推奨される方法。

使用する場面

保存データの暗号化を求めるコンプライアンスプロジェクト(GDPR、PCI-DSS、ISO 27001)で、表領域/列の暗号化前の最初の手順として。

注意

オンプレミスではAdvanced Securityオプション(有償)が必要。Oracle Cloud(OCI/Autonomous)のライセンスには含まれる。WALLET_ROOTは静的であり、インスタンスの再起動(停止時間)が必要。キーストアとそのパスワードを失うと、暗号化データは永久に読めなくなる。キーストアのバックアップはデータベースバックアップとは別に安全に保管する。自動ログインファイル(cwallet.sso)を持つ者は誰でもデータベースをオープンできるため、ファイル権限を制限し、必要に応じてLOCAL AUTO_LOGINを使用する。Data Guardではキーストアをスタンバイにもコピーする。

DBAtlas で開く →

関連項目