2 ウォレットベースの透過的データ暗号化のクイックスタート設定ガイド

  1. TDEウォレットを保持するディレクトリ(TDEウォレット・パスワードから導出されたキーで暗号化されているPKCS#12コンテナ)を作成します。

    最後2つのコマンドにより、ディレクトリの所有権をoracle:oinstallに変更し、ファイル権限を最小に減らします:

    この例でのORACLE_SIDは、financeです:
    mkdir -pv /etc/ORACLE/KEYSTORES/finance
    chown -Rv oracle:oinstall /etc/ORACLE
    chmod -Rv 700 /etc/ORACLE
  2. 静的システム・パラメータWALLET_ROOTを、先ほど作成したディレクトリに設定します:
    SYS> alter system set WALLET_ROOT = '/etc/ORACLE/KEYSTORES/$ORACLE_SID' scope = spfile;
  3. データベースを再起動して、このパラメータをアクティブ化します。
  4. 次のパラメータは、デフォルトの暗号化アルゴリズムとしてAES256を定義します(create keystoreコマンドの前に実行する必要があります。そうでない場合は、デフォルトの暗号化アルゴリズムはAES128のままです)。
    SYS> alter system set "_TABLESPACE_ENCRYPTION_DEFAULT_ALGORITHM" = 'AES256' scope = both;
  5. 最後のパラメータにより、ファイルベースのTDE設定にTDEウォレットを使用するようにデータベースを構成します:
    SYS> alter system set TDE_CONFIGURATION = "KEYSTORE_CONFIGURATION=FILE" scope = both;
  6. 新しい、パスワードで保護されたローカル自動オープンTDEウォレットを作成します。このローカル自動オープン・ウォレットにより、DBAの介入なしで自動でデータベースを再起動して、パスワードで保護されたTDEウォレットをオープンできるようになります:

    (注: このコマンドでは<WALLET_ROOT>/tde directoryも作成されます)

    SYSKM> administer key management CREATE KEYSTORE identified by <wallet-pwd>;
    SYSKM> administer key management CREATE LOCAL AUTO_LOGIN KEYSTORE from keystore identified by <wallet-pwd>;
  7. ルート・コンテナ・データベースで、最初のTDEマスター・キーを設定します:
    SYSKM> administer key management SET KEY force keystore identified by EXTERNAL STORE with backup container = current;
  8. 統合PDBまたは分離PDBを作成します。
    • 統合PDB: PDBで、最初のTDEマスター・キーを設定します:
      SYSKM:FINPDB19C> administer key management SET KEY force keystore identified by EXTERNAL STORE with backup;
    • 分離PDB
      1. : 独自の個別キーストアおよびキーストア・パスワードを持つ、分離されたPDBを作成します:
        SYSKM:FINPDB19C> administer key management CREATE KEYSTORE identified by <PDB-wallet-pwd>;
        次のコマンドは、次の3つのことを行います:
        1. 分離PDBについて、TDE_CONFIGURATIONFILEに設定します。
        2. <WALLET_ROOT>の下に<PDB_GUID>/tdeディレクトリを作成します。
        3. PDB用の個別のウォレットを作成し、それ固有のTDEウォレット・パスワード(これはルート・コンテナのDBAが把握していない可能性がある)を使用します。
      2. 分離PDB用に(ローカル)自動オープン・ウォレットを作成します:
        SYSKM:FINPDB19C> administer key management CREATE LOCAL AUTO_LOGIN KEYSTORE from keystore identified by <PDB-wallet-pwd>;
  9. そのPDBの表領域を暗号化します:
    SYS:FINPDB19C> alter tablespace USERS encryption ONLINE encrypt;
    SYS:FINPDB19C> alter tablespace SYSTEM encryption ONLINE encrypt;
    SYS:FINPDB19C> alter tablespace SYSAUX encryption ONLINE encrypt;
  10. 確認します:
    SYS> select c.name as PDB_NAME, t.name as TBS_NAME, e.ENCRYPTIONALG as ALG, e.STATUS from v$tablespace t, v$encrypted_tablespaces e, v$containers c where e.ts# = t.ts# and e.con_id = t.con_id and e.con_id = c.con_id order by e.con_id, t.name;
    PDB_NAME        TBS_NAME             ALG     STATUS
    --------------- -------------------- ------- -------
    FINPDB19C       SYSAUX               AES256  NORMAL
    FINPDB19C       SYSTEM               AES256  NORMAL
    FINPDB19C       USERS                AES256  NORMAL