10 Oracle Key Vaultのエンドポイントのエンロール
エンドポイントがOracle Key Vaultに登録された後、エンドポイント管理者がエンドポイントをエンロールおよびプロビジョニングしてKey Vaultのセキュリティ・オブジェクトを管理します。
- エンドポイントのエンロールとプロビジョニングについて
エンドポイントは、サーバーを使用してセキュリティ・オブジェクトの格納と管理、信頼できるピアとの共有、およびそれらの取得を実行するKey Vaultクライアントです。 - エンロールとプロビジョニングのファイナライズ
登録済エンドポイントをエンロールおよびプロビジョニングするには、エンドポイント管理者がokvclient.jarファイルをダウンロードしてインストールする必要があります。 - 環境変数およびエンドポイント・プロビジョニングのガイダンス
Oracle Key Vaultがユーティリティにアクセスできるように、JAVA_HOMEやOKV_HOMEなどの環境変数を正しく設定する必要があります。 - Oracle Key Vaultクライアント・ソフトウェアを使用しないエンドポイント
サード・パーティのKMIPエンドポイントでは、Oracle Key Vaultソフトウェアのokvutilおよびliborapkcs.soは使用されません。 - Transparent Data Encryptionエンドポイント管理
Oracle Key Vaultは、TDEが外部キーストアとの通信に使用するのと同じPKCS#11インタフェースを使用することで、TDEキーを管理できます。 - エンドポイントokvclient.ora構成ファイル
Oracle Key Vaultエンドポイント・ライブラリおよびユーティリティでは、エンドポイントに関連付けられた構成パラメータを格納するokvclient.ora構成ファイルが使用されます。
10.1 エンドポイントのエンロールとプロビジョニングについて
エンドポイントは、サーバーを使用してセキュリティ・オブジェクトの格納と管理、信頼できるピアとの共有、およびそれらの取得を実行するKey Vaultクライアントです。
これらのクライアントは、Oracle Databaseサーバー、Oracleミドルウェア・サーバー、オペレーティング・システム、その他の情報システムなどのシステムとなります。
Oracle Key Vaultシステム管理者は、最初にエンドポイントをKey Vaultに追加(または登録)してから、エンドポイントのエンロール・トークン(登録時に生成)をエンドポイント管理者に送信します。エンドポイント管理者は、エンドポイントをエンロールおよびプロビジョニングする前に、エンロール・トークンを検証します。エンロールされたエンドポイントでは、Key Vaultを使用してセキュリティ・オブジェクトをアップロード、ダウンロードおよび管理できます。
エンドポイント・エンロールは、次の表に示す3つのステップで構成されるプロセスであり、2種類の管理ユーザーによって実行されます。
表10-1 エンドポイント・エンロールの概要
| ステップ# | タスク | 実行担当者 | エンドポイント・ステータス(Oracle Key Vault管理コンソールでの表示) |
|---|---|---|---|
|
1. |
|
Oracle Key Vaultのシステム管理者ロールとキー管理者ロールを持つユーザー |
Registered |
|
2. |
|
Oracle Key Vault管理コンソールを使用するエンドポイント管理者 |
Enrolled |
|
3. |
エンドポイントに |
エンドポイント上のエンドポイント管理者 |
Enrolled |
エンドポイント・エンロールにより、許可されたエンドポイントのみがOracle Key Vaultと通信できるようになります。これは、通信に必要なユーティリティがokvclient.jarエンドポイント・ソフトウェア・ファイルとともにバンドルされているためです。
okvclient.jarの内容は次のとおりです。
-
エンドポイントでOracle Key Vaultに対する自己認証に使用されるTransport Layer Security (TLS)証明書と秘密キー
-
ルートCAとして機能するOracle Key VaultのTLS証明書
-
エンドポイント・ライブラリとユーティリティ
-
okvutilでokvclient.ora構成ファイルを作成するために使用されるOracle Key Vault IPアドレスなどの追加情報
Oracle Real Application Clusters (RAC)環境では、各Oracle RACノードをエンドポイントとしてエンロールおよびプロビジョニングする必要があります。Oracle RAC対応の各データベースは、Oracle Key Vaultの1つの仮想ウォレットに対応します。そのデータベースの各Oracle RACインスタンスは、Oracle Key Vaultのエンドポイントに対応します。各データベースのすべてのエンドポイントは、デフォルト・ウォレットとして同じウォレットを共有します。インスタンスごとに1つの個別のokvclient.jarをダウンロードする必要があります。
10.2 エンロールとプロビジョニングのファイナライズ
登録済エンドポイントをエンロールおよびプロビジョニングするには、エンドポイント管理者がokvclient.jarファイルをダウンロードしてからインストールする必要があります。
- ステップ1: エンドポイントのエンロールとソフトウェアのダウンロード
エンドポイント・ソフトウェアokvclient.jarをダウンロードする前に、エンドポイントのエンロール・トークンが必要です。 - ステップ2: エンドポイント環境の準備
正しいバージョンのJava Development Toolkit (JDK)があり、Oracle環境変数が設定されていることを確認する必要があります。 - ステップ3: エンドポイントへのOracle Key Vaultソフトウェアのインストール
エンロール済エンドポイントの最新のエンドポイント・ソフトウェアにアップグレードするには、エンドポイントを再エンロールせずにエンドポイント・ソフトウェアをダウンロードします。 - ステップ4: インストール後タスクの実行
インストール後の手順には、必要に応じてエンドポイントへのTDE接続の構成、インストールの内容の確認、およびokvclient.jarファイルの削除が含まれます。
10.2.1 ステップ1: エンドポイントのエンロールとソフトウェアのダウンロード
エンドポイント・ソフトウェアokvclient.jarをダウンロードする前に、エンドポイントのエンロール・トークンが必要です。
okvclient.jarソフトウェア・ファイルをインストールする準備が整い、エンドポイント環境の準備を開始できます。
関連項目
親トピック: エンロールとプロビジョニングのファイナライズ
10.2.2 ステップ2: エンドポイント環境の準備
Java Development Toolkit (JDK)の正しいバージョンがあり、Oracle環境変数が設定されていることを確認する必要があります。
親トピック: エンロールとプロビジョニングのファイナライズ
10.2.3 ステップ3: エンドポイントへのOracle Key Vaultソフトウェアのインストール
エンロールされたエンドポイントを最新のエンドポイント・ソフトウェアにアップグレードするために、エンドポイントを再エンロールしないでエンドポイント・ソフトウェアをダウンロードできます。
親トピック: エンロールとプロビジョニングのファイナライズ
10.2.4 ステップ4: インストール後タスクの実行
インストール後の手順には、必要に応じてエンドポイントへのTDE接続の構成、インストールの内容の確認、およびokvclient.jarファイルの削除が含まれます。
親トピック: エンロールとプロビジョニングのファイナライズ
10.3 環境変数およびエンドポイント・プロビジョニングのガイダンス
Oracle Key Vaultがユーティリティにアクセスできるように、JAVA_HOMEやOKV_HOMEなどの環境変数を正しく設定する必要があります。
- JAVA_HOMEの場所の決定方法
okvclient.oraファイルのデフォルトの場所は、$OKV_HOME/confディレクトリです。 - okvclient.oraファイルの場所と環境変数
$OKV_HOMEは、インストール中に-dオプションで指定されたエンドポイント・ソフトウェアのインストール先ディレクトリです。 - 非データベース・ユーティリティとOracle Key Vaultの通信に必要なOKV_HOMEの設定
非データベース・ユーティリティの場合、エンドポイント・ソフトウェアのインストール先ディレクトリを指すように環境変数OKV_HOMEを設定する必要があります。 - sqlnet.oraファイルの環境変数
Oracle Databaseエンドポイントでsrvctlユーティリティを使用している場合は、複数のポイントを考慮する必要があります。
10.3.1 JAVA_HOMEの場所の決定方法
okvclient.oraファイルのデフォルトの場所は、$OKV_HOME/confディレクトリです。
エンドポイントをプロビジョニングする場合、インストール・プロセスによってJavaホームの場所およびokvclient.oraファイルの場所が決定される方法を把握する必要があります。
エンドポイント・ソフトウェアのインストール・プロセスでは、次のルールに基づいてJavaホームの場所が決定されます。
-
ユーザー定義の
JAVA_HOME環境変数が存在する場合、インストール・プロセスではこの値が使用されます。 -
JAVA_HOMEが設定されていない場合、インストール・プロセスでは、Java仮想マシン(JVM)のjava.homeシステム・プロパティ内が検索されます。
インストール・プロセスでは、決定されたJAVA_HOMEパスが、すべてのokvutilコマンドで使用されるokvclient.ora構成ファイルに追加されます。
次の方式の1つを使用することで、okvutilに、異なるJAVA_HOME設定を強制的に使用させることができます。
-
okvutilを実行するシェルにJAVA_HOME環境変数を設定します。setenv JAVA_HOME path_to_Java_homeまたは
export JAVA_HOME = path_to_Java_home -
okvclient.ora構成ファイルで直接JAVA_HOMEプロパティを設定します。JAVA_HOME=path_to_Java_home
10.3.2 okvclient.oraファイルの場所と環境変数
$OKV_HOMEディレクトリは、インストール中に-dオプションで指定する、エンドポイント・ソフトウェアのインストール先ディレクトリです。
okvclient.oraファイルは、$OKV_HOME/confディレクトリ内の構成ファイルです。
インストール・プロセスでは、$OKV_HOME/confファイルに加えて、既存のデータベースのokvclient.oraへのソフト・リンクも作成されます。ソフト・リンクの場所は次のことによって異なります。
-
$ORACLE_BASE環境変数が設定されている場合、インストール・プロセスは、($OKV_HOME/confの)okvclient.ora構成ファイルへのシンボリック・リンクを$ORACLE_BASE/okv/$ORACLE_SIDの場所に作成します。okvclient.oraファイルが$ORACLE_BASE/okv/$ORACLE_SIDの場所にすでに存在する場合、インストール・プロセスは、okvclient.oraへの既存のソフト・リンクを有効なソフト・リンクとして承認します。 -
$ORACLE_BASE/okv/$ORACLE_SIDディレクトリが設定されていない場合、インストール・プロセスは作成しようと試みます。 -
$ORACLE_HOME環境変数は設定されているが、$ORACLE_BASE変数は設定されていない場合、インストール・プロセスは、$ORACLE_HOME/okv/$ORACLE_SIDの場所のシンボリック・リンクを作成して、$OKV_HOME/confディレクトリにある構成ファイルを参照します。
10.3.3 非データベース・ユーティリティとOracle Key Vaultの通信に必要なOKV_HOMEの設定
非データベース・ユーティリティを使用する場合は、エンドポイント・ソフトウェアのインストール先ディレクトリを指すように環境変数OKV_HOMEを設定する必要があります。
インストール・プロセスではこの変数が自動的に設定されないため、OKV_HOMEを手動で設定する必要があります。OKV_HOMEを設定すると、ユーティリティはOracle Key Vaultと通信できます。これらのユーティリティとしては、Oracle Key Vaultにアクセスしてキーを取得するOracle Recovery Manager (RMAN)などがあります。
RMANなどのユーティリティを実行する予定のすべての環境で、OKV_HOMEを設定する必要があります。たとえば、新しいxtermウィンドウを起動する場合、RMANを実行する前にこの環境でOKV_HOMEを設定する必要があります。
10.3.4 sqlnet.oraファイルの環境変数
Oracle Databaseエンドポイントでsrvctlユーティリティを使用しているときは、いくつかの点について考慮する必要があります。
-
srvctlユーティリティを使用し、かつsqlnet.ora構成ファイルに環境変数を含める場合は、それらの環境変数をオペレーティング・システムとsrvctl環境の両方で設定する必要があります。 -
Oracle Databaseエンドポイントで
srvctlユーティリティを使用し、かつsqlnet.oraで環境変数を設定する場合は、オペレーティング・システムとsrvctl環境の両方で設定する必要があります。 -
オペレーティング・システムと
srvctlユーティリティでは、$ORACLE_SID、$ORACLE_HOMEおよび$ORACLE_BASEが同じ値に設定される必要があります。
10.4 Oracle Key Vaultクライアント・ソフトウェアを使用しないエンドポイント
サード・パーティのKMIPエンドポイントでは、Oracle Key Vaultソフトウェアokvutilおよびliborapkcs.soは使用されません。
この場合、次の手順に従って、Transport Layer Security (TLS)認証を手動で設定する必要があります。
-
okvclient.jarファイルからsslディレクトリを抽出します。jar xvf okvclient.jar ssl
-
次のファイルを使用してTLS認証をセットアップします。
-
ssl/key.pem: エンドポイント秘密キー -
ssl/cert.pem: エンドポイント証明書 -
ssl/cert_req.pem:cert.pemに対応する証明書リクエスト -
ssl/CA.pem: Oracle Key Vaultサーバー証明書を検証するためのトラスト・アンカー
-
10.5 Transparent Data Encryptionエンドポイント管理
Oracle Key Vaultは、TDEが外部キーストアと通信するために使用するのと同じPKCS#11インタフェースを使用してTDE鍵を管理できます。
このため、Oracle Key Vaultを使用してTDEマスター暗号化キーを格納および取得するためにデータベースをパッチする必要はありません。Oracle Key Vaultでは、Oracle Key Vaultと通信するためのPKCS#11ライブラリを提供しています。
Oracle Key Vaultでは、TDEキーの管理が改善されています。たとえば、ウォレット内のキーは、長期保持、および同じエンドポイント・グループ内の他のデータベース・エンドポイントと共有するために、Oracle Key Vaultに直接アップロードできます。このため、移行の後、無期限にウォレットに格納する必要はありません。このコンテキストにおける移行とは、ウォレット・バックアップ用にOracle Key Vaultを使用するようデータベースが構成され、管理者にオンライン・マスター・キー(旧称: TDE直接接続)に移行する意図があることを意味します。
引き続きウォレットを使用したり、WITH BACKUP SQL句を含むすべてのTDEキー管理SQL操作の一部として、ウォレットのコピーをKey Vaultにアップロードすることができます。ただし、WITH BACKUP句は、ADMINISTER KEY MANAGEMENT文で必須である場合でも、Oracle Key Vaultオンライン・キー・デプロイメントではTDEによって無視されることに注意してください。
Oracle DatabaseとTDEはOracle Key Vaultのエンドポイントです。エンドポイントをエンロールおよびインストールすると、PKCS#11ライブラリは確実に正しい場所にインストールされ、TDEが取得して使用できます。PKCS#11ライブラリがインストールされると、他のすべての構成と操作が有効になります。
例10-1に、暗号化キーの設定の例を示します。
例10-1 暗号化キーの設定
ALTER SYSTEM SET ENCRYPTION KEY IDENTIFIED BY secret_passphrase -- For Oracle Database 11g Release 2 ADMINISTER KEY MANAGEMENT SET ENCRYPTION KEY IDENTIFIED BY secret_passphrase WITH BACKUP; -- For Oracle Database 12c and later
10.6 エンドポイントokvclient.ora構成ファイル
Oracle Key Vaultエンドポイント・ライブラリおよびユーティリティでは、エンドポイントに関連付けられた構成パラメータを格納するokvclient.ora構成ファイルが使用されます。
okvclient.oraファイルは、等号(=)で区切られた、キーと値の組から構成されています。エンドポイント構成ファイルに次のパラメータを設定できます。
-
SERVER=node1_IP:node1_port/node1_DN,node2_IP:node2_port/node2_DN,...このパラメータでは、Oracle Key VaultサーバーのIPアドレスとポート番号をコロン区切りで指定します。ポート番号を指定しない場合、デフォルトの標準KMIPポート
5696が使用されます。 -
STANDBY_SERVER=standby_server_IP:standby_server portこれはスタンバイ・サーバーです。プライマリ・スタンバイが構成されている場合、このパラメータはスタンバイのIPアドレスを表示します。
READ_SERVER=node1_IP:node1_port/node1_DN,node2_IP:node2_port/node2_DN,...このパラメータは、読取り専用サーバーのリストを指定します。
-
SSL_WALLET_LOC=directoryこのパラメータは、エンドポイントのTLS証明書があるウォレットの場所を指定します。
-
SERVER_POLL_TIMEOUT=timeout_valueSERVER_POLL_TIMEOUTパラメータを使用すると、クライアントによるOracle Key Vaultサーバーへの接続の試行で、リスト内の次のサーバーを試行するまでのタイムアウトを指定できます。デフォルト値は300 (ミリ秒)です。Oracle Key Vaultでは、クライアントは最初にアクセス不可能なサーバーを迅速に検出するように、Oracle Key Vaultへの非ブロッキングのTCP接続を確立します。
最初の試行後、クライアントは、サーバーへの第2および最終試行を実行しますが、今度は
SERVER_POLL_TIMEOUTパラメータで指定された期間の2倍まで待機します。これは、考えられるネットワークの輻輳や遅延を克服するために行われます。
okvclient.oraファイルのCONF_ID値は一意の内部値で、OracleデータベースでOracle Key Vault内の仮想ウォレットを検出するのに役立ちます。この値は変更しないでください。
