19 キー管理サービスを使用したOracle GoldenGate暗号化の管理

Oracle GoldenGate 21c以降では、Oracle Key Vault (OKV)およびOracle Cloud Infrastructureキー管理サービス(OCI KMS)を暗号化の管理に使用できます。この章では、これらのキー管理システムをOracle GoldenGateで構成する場合の利点、システム要件、プロセスおよびパラメータについて説明します。

内容は次のとおりです。

19.1 キー管理サービス

Oracle GoldenGateは、暗号化キーを管理するためのOracle Key Vault (OKV)およびOracle Cloud Infrastructureキー管理サービス(OCI KMS)メソッドをサポートしています。

Oracle GoldenGate Microservices Architectureは、KMSをサポートすることで暗号化キーと資格証明の管理についてのスケーラビリティを実現しています。これには、キーがOracle GoldenGateによって保管または管理されないなどのセキュリティも付随します。

Oracle GoldenGateでは、カプセル化アプローチを使用して証跡ファイルを暗号化します。証跡ファイルごとにローカル・キーと呼ばれるデータ暗号化キー(DEK)を生成します。暗号化バージョンのローカル・キーが証跡ファイル・ヘッダーに含まれ、データ暗号化キーの暗号化にマスター・キーが使用されます。このプロセスをカプセル化暗号化と呼びます。

Oracle GoldenGateでは、KMSを使用して企業内の暗号化キーを管理できます。

内容は次のとおりです。

19.1.1 Oracle GoldenGate暗号化キーの保管にKMSを使用する理由

Oracle GoldenGateの証跡ファイルの暗号化は、マスター・キーを保管するためのキー管理サービス(KMS)としてOKVまたはOCI KMSを使用することで強化されます。

Oracle GoldenGateで証跡ファイルが作成されるたびに、新しい暗号化キーが自動的に生成されます。この暗号化キーで証跡の内容を暗号化します。マスター・キーは、暗号化キーを暗号化します。この暗号化キーを暗号化するプロセスはキー・ラップと呼ばれています(詳細は、米国標準委員会のANS X9.102標準を参照してください)。

キー管理とは、企業内で暗号化キーを管理することを指します。また、必要に応じてキーの生成、交換、保管、使用および置換を処理します。KMSには、キー・サーバー、ユーザー・プロシージャおよびプロトコルも含まれます。企業のセキュリティは、キー管理の成否によって決まります。

Oracle GoldenGateでKMSを使用する利点は次のとおりです。
  • マスター・キーの一元的なライフサイクル管理。カスタム属性を使用することでマスター・キーを作成してOracle Key Vaultに直接アップロードできます。また、KMS内でライフサイクル・メンテナンス・タスクを直接実行できます。

  • Oracle GoldenGateは、マスター・キーをローカルに保管する必要はなく、マスター・キーのライフサイクル管理には関与しません。

  • Oracle GoldenGateは、キー管理に複数のセキュリティ・レイヤーを提供する特別なKMS機能を利用できます。

19.1.2 Oracle Key Vaultの機能

Oracle GoldenGateはOracle Key Vaultをサポートしています。

次の表に、Oracle Key Vaultの動作と機能を示します。

Oracle Key Vaultの構成の詳細は、Oracle Key Vaultのインストールと構成を参照してください。

KMS名 KMSタイプ タグのサポート キーのインポートのサポート

Oracle Key Vault

バージョニングのためのキー名属性とカスタム属性

はい

はい

19.2 Oracle GoldenGate Classic ArchitectureでのOKVを使用した暗号化の管理

この章では、Oracle GoldenGate Classic ArchitectureでOKVを使用する利点について説明します。また、Oracle GoldenGateでOracle Key Vault (OKV) を構成する場合のシステム要件、Oracle GoldenGateで使用可能なプロセスとパラメータについても説明します。

内容は次のとおりです。

19.2.1 暗号化プロファイルとは

Oracle GoldenGateでは、使用する暗号化方法を定義するために暗号化プロファイルが使用されます。

暗号化プロファイルは、ローカル・ウォレットまたはOKVやOCI KMSなどのキー管理サービス(KMS)からマスター・キーを取得するために使用される構成情報です。暗号化プロファイル構成は、Microservices Architectureでのみ使用できます。

次の方法で、マスター・キーの暗号化を管理できます。
  • ローカル・ウォレット

  • キー管理システム:
    • Oracle Key Vault

    • Oracle Cloud Infrastructure

各ExtractおよびReplicatプロセスが、暗号化プロファイルに関連付けられています。デフォルトの暗号化プロファイルは、別の暗号化プロファイルをデフォルトとして指定していない場合、ローカル・ウォレットに格納されます。

KMSを使用する別の暗号化プロファイルを使用する場合、KMSサーバーへの接続と認証に必要なすべての情報がそこに含まれます。また、暗号化および復号化に使用される特定のマスター・キーの取得に必要な詳細も含まれます。あらゆるKMSが、認証トークンを使用してそのAPIにアクセスします。Oracle GoldenGate Microservices Architectureは、このアクセス・トークンを資格証明として保管します。この資格証明は、Microservices Architectureの暗号化プロファイルを使用して作成されます。

Oracle Golden Gateプロセスは、証跡ファイルが開かれるたびにキー管理サービス(KMS)への要求を実行する必要があります

  • Oracle Key Vault (OKV)の場合、暗号化プロファイル・パラメータ存続時間(TTL)を使用して、TTLに到達するまでマスター・キーをメモリーに保持します。

  • OCI KMSでは、実際のマスター・キーが返されることはなく、かわりにクライアントがデータを送信して暗号化または復号化します。その後、サーバーは結果をクライアントに返します。

暗号化プロファイルは、プロセスが証跡ファイルを書き込むか、読み取るかに応じて、Oracle GoldenGateプロセスによって暗号化または復号化に使用されます。
  • Extract: 暗号化(ライター)

  • Replicat: 復号化(リーダー)

  • 分散サービス・パス(DISTPATH): 暗号化/復号化(ライター/リーダー)。

  • LogDump: 復号化(リーダー)

Oracle GoldenGate Microservicesを使用してのステップ・バイ・ステップ・データ・レプリケーション暗号化プロファイルの構成方法を参照してください。

19.2.2 Oracle GoldenGateでOKVを構成するための前提条件

Oracle GoldenGateでOKVを設定するための前提条件について学習します。

次のステップは、Oracle GoldenGateインスタンスが実行されているマシンのOKV構成の場合です。

  1. Oracle GoldenGateがデプロイメントと同じシステム・ユーザーとしてデプロイされるOKVサーバーから、okvrestservices.jarをダウンロードします。

  2. エンドポイント・ファイル(okvclient.jar)を、Oracle GoldenGateがデプロイメントと同じシステム・ユーザーとしてデプロイされるOKVサーバーからダウンロードしてインストールします。次に例を示します。

    OS> java -jar okvclient.jar -d /u01/app/oracle/OKV

  3. キーを作成します。ウォレットの名前は、OKV管理者によって指定されます。次の例は、キーの作成方法を示しています。
    OS> java -jar okvrestservices.jar kmip 
            --config /u01/app/oracle/OKV/conf/okvclient.ora
            --service create_key 
            --algorithm AES 
            --length 256 
            --mask "ENCRYPT,DECRYPT,TRANSLATE_ENCRYPT,TRANSLATE_DECRYPT,TRANSLATE_WRAP,TRANSLATE_UNWRAP" 
            --wallet OKV_WALLET76876ABA-B06D-4F35-BF7C-D9306D29764B
    また、次の例に示すように、独自のキーを登録することもできます。
    OS>java -jar okvrestservices.jar kmip 
                --config ./conf/okvclient.ora --service reg_key -ENCRYPT,DECRYPT,TRANSLATE_ENCRYPT,TRANSLATE_DECRYPT,TRANSLATE_WRAP,TRANSLATE_UNWRAP 
                --wallet OGG_WALLET 
                --object /u01/key.txt64B3AAD0-BE77-1821-E053-0100007FD178
  4. OKV_HOME環境変数を設定します。

    OS> setenv OKV_HOME /u01/app/oracle/OKV

    サブディレクトリ構造には、OKV環境に必要なライブラリ、バイナリおよび構成ファイルが含まれています。OKVサーバーでの構成の詳細は、『Oracle Key Vault管理者ガイド』エンドポイントへのOKVソフトウェアのインストールに関する項を参照してください。

  5. 次の例に示すように、キーをアクティブ化します。
    OS> java -jar okvrestservices.jar kmip 
                --config /u01/app/oracle/OKV/conf/okvclient.ora
                --service activate 
                --uid 76876ABA-B06D-4F35-BF7C-D9306D29764B
    INFO: Success
  6. Oracle GoldenGate関連のキー属性(KeyName、KeyVersion)を構成に追加します。キー名は、Oracle GoldenGate内で作成されたKMS暗号化プロファイルのマスター・キー名と一致する必要があります。キー値はマスター・キーのバージョン番号と一致する必要があります。

    OS> java -jar okvrestservices.jar kmip 
                --config /u01/app/oracle/OKV/conf/okvclient.ora
                --service add_custom_attr 
                --uid 76876ABA-B06D-4F35-BF7C-D9306D29764B 
                --attribute x-OGG-KeyName 
                --type TEXT 
                --value OGG_Masterkey 
    INFO: Success
    OS> java -jar okvrestservices.jar kmip 
                --config /u01/app/oracle/OKV/conf/okvclient.ora
                --service add_custom_attr 
                --uid 76876ABA-B06D-4F35-BF7C-D9306D29764B 
                --attribute x-OGG-KeyVersion 
                --type TEXT 
                --value 1
    INFO: Success
  7. okvutilを使用して構成設定をリストし、エンドポイントのステータスを確認します。次に例を示します。

    OS>okvutil list -v 4
    okvutil version 18.2.0.0.0
    Endpoint type: Oracle (non-database)
    Configuration file: /u01/app/oracle/OKV/conf/okvclient.ora
    Server: 10.245.64.45:5696 10.245.64.46:5696
    Standby Servers:Read Servers: 10.245.64.48:5696
    Auto-login wallet found, no password needed
    Trying to connect to 10.245.64.45:5696 ...
    Connected to 10.245.64.45:5696.
    Unique ID Type Identifier
    72B673E8-840B-4AD6-8400-CB77B68D74B5 Template Default template for OGG_EP
    76876ABA-B06D-4F35-BF7C-D9306D29764B Symmetric Key -

この次のステップでは、Oracle GoldenGate内のAdmin Clientから管理を実施します。

19.2.3 暗号化プロファイルを設定するための要件

このトピックでは、Oracle GoldenGateで暗号化プロファイルを構成する際の要件について説明します。

1つのデプロイメント内に複数の暗号化プロファイルを作成できますが、Oracle GoldenGateプロセス(Extract、Replicat、分散パス)では一度に1つの暗号化プロファイルのみを使用できます。フィルタリングを使用した分散パスの場合、フィルタを適用するために復号化が行われますが、出力証跡ファイルは暗号化されたままになります。PASSTHRUでは、明示的に指定されていないかぎり、分散パスは暗号化プロファイルの使用または証跡ファイルの復号化を試行しません。

デプロイメント内の既存の暗号化プロファイルのいずれかをデフォルト・プロファイルとして設定できます。このデフォルト・プロファイルは、Extract、Replicatまたは分散パスのプロセスの作成時にのみ関連します。プロセスの作成時に暗号化プロファイルが明示的に指定されていない場合、現在のデフォルト・プロファイルが新しいプロセスに割り当てられます。デフォルト・プロファイルを変更しても、既存のOracle GoldenGateプロセスに割り当てられた暗号化プロファイルは更新されません。

ノート:

証跡ファイルをすでに処理したプロセスの暗号化プロファイルまたはマスター・キーを変更しないことをお薦めします。

Administration ServiceのWebインタフェースを使用すると、暗号化プロファイルを管理できます。暗号化プロファイルは変更できません。変更する必要がある場合は、管理サーバーを使用してプロファイルを削除してから新しいプロファイルを追加する必要があります。Oracle GoldenGate Microservicesを使用してのステップ・バイ・ステップ・データ・レプリケーション暗号化プロファイルの追加方法を参照してください。

暗号化プロファイルは、Administration Serviceまたは管理クライアントから構成できます。

暗号化プロファイルを設定するツール 説明

Administation Service

管理サーバーを使用して暗号化プロファイルを構成する場合は、管理サーバー: プロファイル・ページを参照してください。

管理クライアント

Extract、Replicatおよび分散パスの暗号化プロファイルを設定するために使用される管理クライアント・コマンドには、次のものがあります。

ADD ENCRYPTIONPROFILE

ALTER ENCRYPTIONPROFILE

DELETE ENCRYPTIONPROFILE

INFO ENCRYPTIONPROFILE

また、Extract、DISTPATH、ReplicatコマンドのADDまたはALTERは、パラメータENCRYPTIONPROFILE encryption-profile-nameを含むように変更されています。

詳細は、Oracle GoldenGateコマンドライン・インタフェース・リファレンス管理クライアント・コマンドライン・インタフェースのコマンドを参照してください。

19.2.4 Oracle Key Vaultの異なるキー状態に対するクライアントの動作

このトピックでは、様々な暗号化キーの状態に応じたリーダーまたはライターのクライアント・プロセスの相対動作について説明します。

キーの状態は次のいずれかになります。
キー状態 証跡ライター(暗号化) 証跡リーダー(復号化)

アクティブ

証跡ライターは、暗号化のためにアクティブ状態の最大のバージョン番号を選択します。

証跡リーダーは、このキーとバージョン番号を証跡の復号化に使用します。

事前アクティブ

証跡ライターは、このような状態のキーとバージョン番号を無視して考慮に入れません。

該当なし

非アクティブ

なし

証跡ファイル・リーダーは、キーとバージョン番号が非アクティブまたは危殆化の場合に証跡を取得して復号化します。

危殆化

なし

証跡ファイル・リーダーは、キーとバージョン番号が非アクティブまたは危殆化の場合に証跡を取得して復号化します。

破棄

なし

証跡ファイル・リーダーは、復号化に必要なキーとバージョン番号が破棄状態または破棄-危殆化状態にある場合は、エラー生成して異常終了します。

破棄-危殆化

なし

証跡ファイル・リーダーは、復号化に必要なキーとバージョン番号が破棄状態または破棄-危殆化状態にある場合は、エラー生成して異常終了します。