18 他の機能でのOracle Key Vaultの使用

Oracle Key Vaultは、Oracle GoldenGateやOracle Data Guardなどの他のOracle機能および製品と併用できます。

18.1 Oracle RAC環境でのTDE構成済Oracle Databaseの使用

各Oracle RACデータベースには、Oracle Key Vaultに独自のOracle仮想ウォレットがあります。

Oracle Real Application Clusters (Oracle RAC)環境では、各Oracle RACインスタンスにOracle Key Vaultに独自のエンドポイントがあります。これらのエンドポイントは、Oracle Key Vault内の同じ仮想ウォレットをデフォルト・ウォレットとして共有します。

クラスタが仮想ウォレットを共有できるようにするには、次のいずれかの手法を使用します。

  • Oracle RACデータベースが個別のウォレットでTDEを使用している場合、これらのウォレットに同じ内容が保持されていることを確認します。mkstore -wrl /directory/to/TDE-wallet -listコマンドを実行して、各ウォレットの内容を比較します。すべてに同じキーが含まれている場合は、いずれかのキーの内容をOracle Key Vaultの共有仮想ウォレットにアップロードします。
  • Oracle RACデータベースがTDEを共有ウォレット(推奨デプロイメント)で使用している場合は、そのウォレットをOracle Key Vaultにアップロードします。
  • Oracle Key Vaultとの自動オープン接続を確立します。
  • Oracle RACデータベースをOracle Key Vaultに移行します。

単一インスタンス・データベース環境の場合と同様、パスワード保護されたウォレットをダウンロードしたら、手動で開く必要があります。プライマリ・ノード上に1つのウォレットがあり、その後、そのウォレットを他のノードにダウンロードする場合、これらの各ノード上でウォレットを明示的に開く必要があります。

各Oracle RACノードはデータベースの別のエンドポイントであり、個別の永続キャッシュを持っています。Oracle RACデータベースの場合、各Oracle RACノードから問合せを開始して、操作が中断しないようにOracle RACノードに最新のマスター暗号化キーをキャッシュする必要があります。

18.2 Oracle GoldenGate環境でのTDE構成済Oracle Databaseの使用

Oracle Key Vaultは、OracleウォレットとOracle GoldenGateの共有シークレットの使用をサポートしています。

Oracle GoldenGate共有シークレットとTDEマスター暗号化キーを含むOracleウォレットをOracle Key Vaultサーバーにアップロードまたは移行できます。

18.2.1 Oracle GoldenGate環境でのOracle Wallet

Oracle GoldenGate共有シークレットは、マスター暗号化キーが格納されているのと同じOracleウォレットに配置できます。

Oracle Key Vaultが使用されておらず、Oracle TDE対応データベースがOracle GoldenGateを備えたOracleウォレットで構成されている環境では、このデータベース(ソース・データベースと呼ばれる)は、マスター暗号化キーが格納されているのと同じOracleウォレットにOracle GoldenGate共有シークレットを格納します。

つまり、Oracle Key Vaultエンドポイントとしてソース・データベースを構成する場合、Oracle GoldenGateの共有シークレットは、マスター暗号化キーがTDE対応のソース・データベース用に格納されている、同じOracle Key Vaultの仮想ウォレットに格納されます。

Oracle GoldenGate共有シークレットとTDEマスター暗号化キーが含まれるOracleウォレットを、okvutilコマンドライン・ユーティリティを使用してOracle Key Vaultに移行する場合、TDE対応のソース・データベースのデフォルト・ウォレットには、共有シークレットおよびマスター暗号化キーとともに移行されたOracleウォレット全体が格納されます。

また、構成されたターゲット・データベースがOracle Databaseの場合、すべてのTDEコマンドをレプリケートできるように、このターゲット・データベースがTDE対応であることを確認する必要があります。ソースおよびターゲットの2つのOracle TDE対応データベースでは、Oracle Wallet内に同じマスター暗号化キーを持つ必要がありません。このターゲット・データベースを新しいOracle Key Vaultエンドポイントとして構成した場合、独立のOracle Key Vaultエンドポイントで通常行うのと同様に、Oracle Key Vaultとの間でウォレットをアップロードおよびダウンロードできます。追加の構成は必要ありません。

18.2.2 Oracle GoldenGateデプロイメントでのオンライン・マスター・キー

Oracle GoldenGateデプロイメントでは、オンライン・マスター・キーを使用するための2つの構成ステップがあります。

  1. GoldenGateデプロイメントとOracle Key Vaultのソース・データベース間で接続を構成します。
  2. ソース・データベース上で、Oracle WalletにおけるOracle GoldenGateシークレットの格納を構成します。

これで構成は完了です。sqlnet.oraファイルを正しく構成して、ソース・データベース上でTDEに必要な他の構成ステップを完了すると、暗号化キーを設定した場合(ALTER SYSTEM SET ENCRYPTION KEYまたはADMINISTER KEY MANAGEMENT SET ENCRYPTION KEYを使用)、Oracle Key VaultにTDEマスター暗号化キーが作成されます。表の暗号化や、データベースへの暗号化された表領域の作成ができます。ソース・データベースで作成された暗号化データは、この手順を実行した後に、ターゲット・データベース上で引き続きレプリケートされます。他のOracle GoldenGate共有シークレットは、Oracle Key Vaultに格納されました。

関連項目:

18.2.3 Oracle GoldenGateのTDEウォレットのOracle Key Vaultへの移行

Oracleウォレットには、TDEマスター暗号化キーとOracle GoldenGate共有シークレットの両方を含めることができます。

TDE構成済データベースがあるOracle GoldenGate環境では、Oracle Walletには、TDEマスター暗号化キーとOracle GoldenGate共有シークレットの両方が含まれます。

このOracle GoldenGate環境で使用されるターゲットTDE対応データベースは、Oracle Key Vaultを使用するか、Oracle Walletを使用し続けるかのどちらかにも構成できます。これらのデータベースは、スタンドアロンのTDEデータベース・エンドポイントの場合と同じように扱ってください。

この移行を完了すると、構成は完了です。sqlnet.oraファイルを正しく構成して、TDEの必要な他の構成を完了すると、暗号化キーを設定した場合(ALTER SYSTEM SET ENCRYPTION KEYまたはADMINISTER KEY MANAGEMENT SET ENCRYPTION KEYを使用)、Oracle Key VaultにTDEマスター暗号化キーが作成されます。引き続き、暗号化された表または表領域をデータベースに作成し、使用することができます。ソース・データベースで作成された暗号化データは、この手順が実行された後に、ターゲット・データベース上で引き続きレプリケートされます。

18.3 Oracle Data Guard環境でのTDE構成済Oracle Databaseの使用

Oracle Walletのアップロードやオンライン・マスター・キーの使用などのアクティビティをOracle Data Guard環境で実行できます。

18.3.1 Oracle Data Guard環境でのOracle Walletのアップロードについて

アップロード操作により、プライマリとスタンバイの両方でOracleウォレットを使用できるようになります。

Oracle Walletを使用するTDE対応のプライマリおよびスタンバイ・データベースがあるOracle Data Guard環境では、初期TDE構成後、およびその後でプライマリ・データベース上のマスター暗号化鍵をキー更新する場合は、プライマリ・データベースからスタンバイにOracle Walletファイルを物理的にコピーして、管理対象リカバリ・プロセスを再起動する必要があります。

そのため、Oracle Key VaultをTDE対応のOracle Data Guardデータベースとともに使用する場合、プライマリおよびスタンバイ・データベースは、エンドポイントとしてOracle Key Vaultに登録する必要があります。プライマリ・データベースとすべてのスタンバイ・データベースのエンドポイントが同じ仮想ウォレットを共有していることを確認する必要があります。

このようにして、プライマリとスタンバイのデータベースは、ウォレット・ファイルをプライマリ・データベースからスタンバイ・データベースに手動でコピーすることなく、キーの集中管理による利点を確保できます。

Oracle Data Guard環境では、永続キャッシュの場合、プライマリ・データベースに対するキー更新操作によって、マスター暗号化鍵が独自の永続キャッシュにキャッシュされます。プライマリの新しいREDOログがスタンバイに適用されると、スタンバイはOracle Key Vaultから新しいキーをフェッチし、それをスタンバイの永続キャッシュにキャッシュします。プライマリでのキーのキャッシュとスタンバイでのキーのキャッシュの間には時間差があります。キー更新操作後、できるだけ早くプライマリとスタンバイを同期することをお薦めします。また、次のコマンドを使用して、プライマリ・データベースとスタンバイ・データベースの永続キャッシュの内容を確認してください。

$ okvutil list -t okv_peristent_cache -l /path_to_persistent_cache/

18.3.2 Oracle Data Guard環境でのOracle Walletのアップロード

Oracle Data Guard環境にOracle Walletをアップロードできます。

  1. プライマリおよびスタンバイ・データベースとして、それぞれ1つのエンドポイントを登録します。
  2. それぞれのデータベース上で各エンドポイント用のokvclient.jarファイルをダウンロードします。
  3. 移行または逆移行を実行する必要がある場合は、エンドポイント・パスワードがTDEウォレット・パスワードと同じであることを確認します。
  4. プライマリおよびスタンバイ・データベースのエンドポイントの両方が、同じデフォルト仮想ウォレットを使用していることを確認します。

18.3.3 Oracle Data Guard環境でのオンライン・マスター・キー接続の実行

Oracle Data Guard環境でTDE直接接続を実行するための手順は、標準Oracle Database環境の場合と同じです。

18.3.4 Oracle Data Guard環境でのOracle Walletの移行

Oracle Data Guard環境では、okvutilおよびSQL*Plusを使用してOracleウォレットを移行できます。

  1. okvutil uploadコマンドを使用して、プライマリ・データベース上にあるローカルのOracle Walletの内容をOracle Key Vaultにアップロードします。
  2. 既存のTDEウォレットのOracle Key Vaultへの移行の説明に従って、ウォレットの移行ステップを実行します。
  3. スタンバイ・データベース上で既存のOracle Walletを閉じます。
    • Oracle Database 11gリリース2の場合は、ALTER SYSTEMシステム権限を付与されたユーザーとして、次を実行します。
      ALTER SYSTEM SET ENCRYPTION WALLET CLOSE 
      IDENTIFIED BY "Key_Vault_endpoint_password"; 
      
    • Oracle Database 12c以上の場合は、SYSKM管理権限を付与されたユーザーとして、次を実行します。
      ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE 
      IDENTIFIED BY "Key_Vault_endpoint_password";
      
  4. スタンバイ・データベースを停止します。

    次に例を示します。

    SHUTDOWN IMMEDIATE
    
  5. スタンバイ・データベースを再起動します。

    次に例を示します。

    STARTUP
    
  6. Oracle Walletを開きます。
    • Oracle Database 11gリリース2の場合は、ALTER SYSTEMシステム権限を付与されたユーザーとして、次を実行します。
      ALTER SYSTEM SET ENCRYPTION WALLET OPEN 
      IDENTIFIED BY "Key_Vault_endpoint_password"; 
      
    • Oracle Database 12cまたは18cの場合は、SYSKM管理権限を付与されたユーザーとして、次を実行します。
      ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN 
      IDENTIFIED BY "Key_Vault_endpoint_password";
      
  7. Oracle Data Guard概要および管理の説明に従って、スタンバイ・データベースで適用プロセスを起動します。

18.3.5 Oracle Data Guard環境でのOracle Walletの逆移行

okvutilおよびSQL*Plusを使用して、Oracle Data Guard環境でOracleウォレットを逆に移行できます。

  1. okvutil downloadコマンドを使用して、Oracle Key Vaultからプライマリ・データベースにOracle Walletのキーをダウンロードします。これらの鍵は、ローカル・キーストアにダウンロードします。
  2. Oracle Database Advanced Securityガイドの説明に従って、逆移行を実行します。
  3. スタンバイ・データベース上で既存のOracle Walletを閉じます。
    • Oracle Database 11gリリース2の場合:
      ALTER SYSTEM SET ENCRYPTION WALLET CLOSE 
      IDENTIFIED BY "Key_Vault_endpoint_password"; 
      
    • Oracle Database12cまたは18cの場合:
      ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE 
      IDENTIFIED BY "Key_Vault_endpoint_password";
      
  4. Oracle Database Advanced Securityガイドの説明に従って、Oracleウォレットをプライマリ・データベースからスタンバイ・データベースにコピーします。
  5. スタンバイ・データベース上でOracle Walletを開きます。
    • Oracle Database 11gリリース2の場合:
      ALTER SYSTEM SET ENCRYPTION WALLET OPEN 
      IDENTIFIED BY "Key_Vault_endpoint_password"; 
      
    • Oracle Database12cまたは18cの場合:
      ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN 
      IDENTIFIED BY "Key_Vault_endpoint_password";
      
  6. Oracle Data Guard概要および管理の説明に従って、スタンバイ・データベースで適用プロセスを起動します。

エンドポイントのパスワードとローカルTDEウォレットのパスワードが異なる場合は、自動ログインHSM機能を使用してください。

18.3.6 ロジカル・スタンバイ・データベースでのOracle Key VaultへのOracle TDEウォレットの移行

Oracle Databaseリリース12 cまたは18 cを使用して、ロジカル・スタンバイ・データベースでTDEウォレットをOracle Key Vaultに移行できます。

  1. 同じデフォルトの仮想ウォレットを持つようにプライマリおよびスタンバイ・エンドポイントを登録します。
  2. 必要に応じて、各エンドポイントにokvclient.jarファイルをダウンロードしてインストールします。
  3. プライマリ・データベースで移行を実行します。
  4. Oracle Data Guard概要および管理の説明に従って、ロジカル・スタンバイでSQL適用プロセスを完了し、スタンバイ・データベースを再起動します。
  5. 移行に成功したというステータスを確認するには、V$ENCRYPTION_WALLET動的ビューを問い合せます。

18.3.7 ロジカル・スタンバイ・データベースでのOracle TDEウォレット移行の確認

SQL*Plusを使用して、移行を確認します。

Oracle Databaseリリース12c環境では、ロジカル・スタンバイ構成でOracle TDEウォレットを移行した後、構成を確認できます。
  1. スタンバイ・データベース・インスタンスで、SQL*Plusにログインします。
    次に例を示します。
    sqlplus / as sysdba
  2. V$ENCRYPTION_WALLET動的ビューのWRL_TYPEおよびWALLET_ORDER列を問い合せます。

    V$ENCRYPTION_WALLETビューはプライマリ・キーストアを追跡します。単一ウォレットのみを構成している場合、WALLET_ORDER列はSINGLEに設定されます。2ウォレットまたは混合構成の場合、アクティブなマスター暗号化キーが存在する場所に応じて、列はPRIMARYまたはSECONDARYに設定されます。

    たとえば、次の問合せでは、単一ウォレットのみが構成されています。
    SELECT WRL_TYPE, WALLET_ORDER FROM V$ENCRYPTION_WALLET;
    
    WRL_TYPE             WALLET_ORDER
    -------------------- ------------
    FILE                 SINGLE
    

    ロジカル・スタンバイ構成の次の問合せでは、アクティブ・マスター暗号化キーがOracle Key Vault仮想ウォレットに移行されています。

    SELECT WRL_TYPE, WALLET_ORDER FROM V$ENCRYPTION_WALLET;
     
    WRL_TYPE             WALLET_ORDER
    -------------------- ------------
    FILE                 SECONDARY
    HSM                  PRIMARY
    

    この問合せでは、論理構成のプライマリ・データベースとスタンバイ・データベースの両方で、HSMPRIMARYウォレットとして示されます。

18.4 Automatic Storage ManagementからOracle Key Vaultへのキーストアのアップロード

2ステップのプロセスにより、Automatic Storage Management (ASM)からOracle Key Vaultに(またはOracle Key VaultからASMに)キーストアをコピーできます。

18.4.1 Automatic Storage ManagementからOracle Key Vaultへのキーストアのアップロードについて

Oracle Automatic Storage Management (ASM)からOracle Key Vaultへのキーストアのアップロードは2ステップのプロセスです。

  1. ASMからファイル・システムにキーストアをコピーします。

  2. ファイル・システムからOracle Key Vaultにキーストアをアップロードします。

ASMからファイル・システムに(またはファイル・システムからASMに)キーストアをコピーするには、1つのソフトウェア・キーストアを既存のキーストアにマージするキーストア・マージ操作が必要です。このため、ソース・パスからターゲット・パスにキーストアをコピーするには、ターゲット・パスにキーストアが存在する必要があります。

18.4.2 Automatic Storage ManagementからOracle Key Vaultへのキーストアのアップロード

ADMINISTER KEY MANAGEMENT文を使用して、Automatic Storage Management (ASM)からソフトウェア・キーストアを移動できます。

  1. 次のSQL文で、ファイル・システム上のターゲット・キーストアを初期化します。
    ADMINISTER KEY MANAGEMENT CREATE KEYSTORE targetKeystorePath 
    IDENTIFIED BY targetKeystorePassword;

    このように指定した場合:

    • targetKeystorePathは、ファイル・システム上のターゲット・キーストアのディレクトリ・パスです。

    • targetKeystorePasswordは、キーストアに作成するパスワードです。

    次に例を示します。

    ADMINISTER KEY MANAGEMENT CREATE KEYSTORE '/etc/ORACLE/KEYSTORE/DB1/' 
    IDENTIFIED BY "destination_password"; 

    このように指定した場合、/etc/ORACLE/KEYSTORE/DB1/はファイル・システム上のターゲット・キーストアのパスで、destination_passwordはキーストアのパスワードです。

    キーストアをASMからターゲット・キーストアにコピーできるようになりました。
  2. 作成したターゲット・キーストアにASMのキーストアをコピーします。

    このステップでは、次のようにASMのキーストアをファイル・システムにマージする必要があります。

    ADMINISTER KEY MANAGEMENT MERGE KEYSTORE srcKeystorePath 
    IDENTIFIED BY srcKeystorePassword 
    INTO EXISTING KEYSTORE targetKeystorePath 
    IDENTIFIED BY targetKeystorePassword 
    WITH BACKUP USING backupIdentifier;

    このように指定した場合:

    • srcKeystorePathは、ソース・キーストアのディレクトリ・パスです。

    • srcKeystorePasswordは、ソース・キーストアのパスワードです。

    • targetKeystorePathは、ターゲット・キーストアのパスです。

    • targetKeystorePasswordは、ターゲット・キーストアのパスワードです。

    • backupIdentifierは、バックアップ・ファイル名に追加されるバックアップ識別子です。

    次に例を示します。

    ADMINISTER KEY MANAGEMENT MERGE KEYSTORE '+DATAFILE' IDENTIFIED BY "srcPassword" INTO EXISTING KEYSTORE '/etc/ORACLE/KEYSTORE/DB1/' IDENTIFIED BY "destination_password" WITH BACKUP USING "bkup";
    キーストアがファイル・システムにコピーされ、Oracle Key Vaultにアップロードできるようになりました。
  3. okvutil uploadコマンドを使用して、ファイル・システムからOracle Key Vaultにキーストアをアップロードします。
    $ okvutil upload -l location -t type

    このように指定した場合:

    • locationは、ファイル・システム上のターゲット・キーストアのパスです。

    • typeはwalletです

    次に例を示します。

    $ okvutil upload -l /etc/ORACLE/KEYSTORE/DB1 -t wallet

18.4.3 Oracle Key VaultからAutomatic Storage Managementへのキーストアのコピー

okvutil downloadとSQL*Plusの両方を使用して、コピー・プロセスを完了します。

キーストアをOracle Key VaultからAutomatic Storage Management (ASM)にコピーするには、リバース・プロシージャを使用して、キーストアをASMからOracle Key Vaultにコピーします。
  1. ファイル・システム上のターゲット・キーストア(存在しない場合)を初期化します。
    キーストアがファイル・システム上に存在する場合は、このステップを省略します。
  2. okvutil downloadコマンドを使用して、Oracle Key Vaultからファイル・システム上のターゲット・キーストアにキーストアをコピーします。
    $ okvutil download -l location -t type

    このように指定した場合:

    • locationは、ファイル・システム上のターゲット・キーストアのパスです。

    • typeはwalletです

    次に例を示します。

    $ okvutil download -l /etc/ORACLE/KEYSTORE/DB1 -t wallet
  3. 次のSQL文を使用して、ASMインスタンスのキーストアを初期化します。
    ADMINISTER KEY MANAGEMENT CREATE KEYSTORE asmKeystorePath 
    IDENTIFIED BY asmKeystorePassword;

    このように指定した場合:

    • asmKeystorePathは、ASMファイル・システム上のキーストアのディレクトリ・パスです。
    • asmKeystorePasswordは、キーストアに作成するパスワードです。
  4. 作成した初期化済のASMキーストアにキーストアをコピーします。

    このステップでは、次のようにファイル・システムからASMにキーストアをマージする必要があります。

    ADMINISTER KEY MANAGEMENT MERGE KEYSTORE srcKeystorePath 
    IDENTIFIED BY srcKeystorePassword 
    INTO EXISTING KEYSTORE asmKeystorePath 
    IDENTIFIED BY asmKeystorePassword 
    WITH BACKUP USING backupIdentifier;

    このように指定した場合:

    • srcKeystorePathは、ソース・キーストアのディレクトリ・パスです。
    • srcKeystorePasswordは、ソース・キーストアのパスワードです。
    • asmKeystorePathは、ASMキーストアのパスです。
    • asmKeystorePasswordは、ASMキーストアのパスワードです。
    • backupIdentifierは、バックアップ・ファイル名に追加されるバックアップ識別子です。

18.5 Oracle Key VaultとMySQLの統合

Oracle Key Vaultを使用して、MySQLでTDE暗号化キーを管理できます。

Oracle Key Vaultでは、リリース12.2以降からMySQLとの統合がサポートされています。

注意:

MySQL Windowsデータベースはサポートされません。

Oracle Key Vaultでは、MySQLのTDE暗号化キーを管理できます。

18.6 Oracle Key Vaultでサポートされるその他のOracle Database機能

Transparent Data Encryption (TDE)を、クラスタ化されたデプロイメントを移動または使用する他のデータベース機能とともに複数のトポロジにデプロイできます。

両方のエンドポイントのマスター暗号化キーを同期状態に保つ必要があるため、データの移動とレプリケーションはOracle Advanced Security TDEの大きな課題です。これらの課題に対応するため、Oracle Key Vaultは一般的なOracle Database機能をサポートします。

データ移動では、Oracle Key Vaultは次をサポートします。

  • Oracle Recovery Manager (RMAN)のバックアップおよびリカバリ操作

  • Oracle Data Pump

  • トランスポータブル表領域(Oracle Database 12c以降)

クラスタ化デプロイメントでは、Oracle Key Vaultは次をサポートします。

  • Oracle Data Guard

  • Oracle Real Application Clusters(Oracle RAC)

  • Oracle GoldenGate