10 Oracle Key Vaultのエンドポイントのエンロール
エンドポイントがOracle Key Vaultに登録された後、エンドポイント管理者がエンドポイントをエンロールおよびプロビジョニングしてKey Vaultのセキュリティ・オブジェクトを管理します。
- エンドポイントのエンロールとプロビジョニングについて
エンドポイントは、サーバーを使用してセキュリティ・オブジェクトの格納と管理、信頼できるピアとの共有、およびそれらの取得を実行するOracle 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 エンドポイントのエンロールとプロビジョニングについて
エンドポイントは、サーバーを使用してセキュリティ・オブジェクトの格納と管理、信頼できるピアとの共有、およびそれらの取得を実行するOracle 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_value
SERVER_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内の仮想ウォレットを検出するのに役立ちます。この値は変更しないでください。