オンプレミスにデプロイされたOracle Key Vaultでは、ハイブリッド・クラウド・トポロジにおけるOracle Cloud Database as a ServiceインスタンスのTDEマスター・キーを管理できます。
オンプレミスにデプロイされたOracle Key Vaultアプライアンスでは、Oracle Cloud環境のDatabase as a ServiceインスタンスのTDEマスター・キーを管理できるようになりました。これにより、キーと暗号化データが物理的に分離されるだけでなく、暗号化キーを使用してクラウド内の暗号化データにアクセスする方法をオンプレミス管理者が制御および把握できるようになります。また、暗号化キーをオンプレミスで管理する、または暗号化データが格納されたシステムとは別にするというコンプライアンス要件も満たされます。
Oracle CloudのDatabase as a Serviceは、Oracle Compute Cloud Serviceによって提供される計算リソースおよびストレージ・リソースを使用する完全なOracle Databaseインスタンスとして機能します。これにより、サーバーおよびストレージ・システムのサイロを購入、構築および管理する必要がなくなります。また、データベース・リソースおよび機能がオンラインで使用できるようになるため、ユーザーは、必要なときに、時間や場所を問わずそれらを利用できます。
関連項目:
Oracle Database Cloud - Database as a Serviceの使用: Database as a Serviceの使用を開始する前に
Database as a Serviceインスタンスの設定手順は、Oracle Database Cloud Service (Database as a Service)のドキュメントを参照してください。Database as a Serviceインスタンスを設定する場合は、「関連項目」のリンクを参照してください。
設定が終了すると、Oracle Database as a Serviceインスタンスのデフォルト値は、次のようになります。
パブリックIPアドレス
oracle
およびopc
(Oracle Public Cloud)の2つのユーザー
両方のユーザー(oracle
およびopc
)へのSSHアクセス
関連項目:
Oracle Database Cloud - Database as a Serviceの使用: データベース・デプロイメントの作成
Oracle Database Cloud: Database as a Serviceの使用: 計算ノードへのSSH接続
Oracle Database Cloud: Database as a Serviceの使用: データベース・デプロイメントの詳細情報の表示
Database as a Serviceインスタンスは、デフォルトではoracle
およびopc
を使用してプロビジョニングされます。これらのユーザーの持つ権限はSSHトンネルを作成するために必要となるよりも多いため、Database as a Serviceインスタンスに、権限の低い別のOSユーザー(okv
)を作成することをお薦めします。Oracle Key Vaultでは、SSHトンネルの設定およびDatabase as a Serviceインスタンスとの通信にユーザーokv
が使用されます。
権限の低いokv
ユーザーを作成する手順:
関連項目:
Oracle Database Cloud: Database as a Serviceの使用: 計算ノードへのSSH接続
オンプレミスのOracle Key VaultとOracle Cloud Database as a Serviceインスタンスの間の通信には、セキュアなSSHトンネルが使用されます。SSHトンネルの設定は、Database as a Serviceインスタンスの設定が終了した後にのみ行うことができます。Database as a ServiceインスタンスのパブリックIPアドレスとトンネルの確立に使用するOSユーザーの名前が必要になります。
次の手順は、オラクル社の推奨に従っていること、およびokv
という名前の権限の低いユーザーを作成済であることを前提としています。これを使用して、Key VaultとDatabase as a Serviceインスタンスの間のSSHトンネルを作成します。
SSH接続を設定する手順:
SSHトンネルは、Key VaultとDatabase as a Serviceインスタンスの間にアクティビティがない場合でもキープ・アライブされます。トンネルが万一停止しても、自動的に再起動されます。
なんらかの理由でトンネルが使用不能になった場合、アラートが送信されます。管理ユーザーは、Key VaultでSMTP設定を構成することによって、これらの電子メール・アラートが届くように指定できます。
Oracle Database as a ServiceインスタンスがOracle Key Vaultサーバーと通信できるようにするには、インスタンスを事前にエンロールする必要があります。Database as a Serviceエンドポイントのエンロールは、次の例外を除き、オンプレミス・エンドポイントのエンロールと同じです。
Database as a Serviceエンドポイントは、エンドポイント・タイプを「Oracle Database Cloud Service」として登録する必要があります。
Database as a Serviceエンドポイントにはプライマリ・トンネルIPが関連付けられます。Database as a Serviceインスタンスと同じパブリックIPアドレスを持つSSHトンネルを選択する必要があります。
プラットフォームはLinuxである必要があります。これは自動的に選択され、変更できません。
jarファイルをオンプレミスにダウンロードし、SCPやFTPなどのバンド外の方式を使用してファイルをDatabase as a Serviceインスタンスに転送する必要があります。
Database as a Serviceインスタンスをエンドポイントとして登録およびエンロールする手順:
「Endpoints」タブをクリックします。「Endpoints」ページが表示されます。
「Add」をクリックします。
「Register Endpoint」ページが表示されます。
次のエンドポイント詳細を入力します。
Endpoint Name
Type: 「Oracle Database Cloud Service」にする必要があります。
Platform: 「Linux」が自動的に選択されます。
Description: エンドポイントを識別するためのわかりやすい説明です。
Administrator Email: エンドポイント関連のアラートを受け取るためのオプション・フィールドです。
「Register」をクリックします。
少し遅れて、「Endpoints」ページに新しいエンドポイントが「Registered」状態で表示され、「Enrollment Token」が示されます。
「Endpoint Name」をクリックします。「Endpoint Details」ページが表示されます。
登録したエンドポイントをエンロールする前に、そのエンドポイントにデフォルト・ウォレットを関連付けます。
「Enrollment Token」をコピーします。これは、エンドポイント・ソフトウェアをダウンロードし、エンドポイントをエンロールする際に必要になります(次のステップ)。
Oracle Key Vaultからログアウトし、新しいセッションを開きます。
ログイン・ページが表示されます。ログインしないでください。
「Login」のすぐ下にある「Endpoint Enrollment and Software Download」をクリックします。「Enroll Endpoint & Download Software」ページが表示されます。
これらのフィールドには、エンドポイントを登録する際にKey Vaultシステム管理者によって指定された値が移入されます。これらの値は、エンドポイントのエンロールを完了するときに変更できます。ドロップダウン・リストからDatabase as a Serviceエンドポイントに対して「Primary SSH Tunnel」を選択する必要があることに注意してください。これがオンプレミス・エンドポイントのエンロール・プロセスと唯一異なる点です。
「Enrollment Token」を入力し、「Submit Token」をクリックしてトークンを検証します。
「Enroll」をクリックして、ファイルokvclient.jar
をローカル・システムにダウンロードします。その後、他者が読み取ったりコピーすることができないように、Cloud Database as a Serviceインスタンス上の、適切な権限が設定されたセキュアなディレクトリに移動する必要があります。
$ scp -i <path-to-private-key-file> <path-to-okvclient.jar-on-local-mc> oracle@node-ip-address:<path-to-okvclient.jar-on-cloud-db-instance>
説明:
path-to-okvclient.jar-on-local-mc
は、オンプレミス・ローカル・マシン上のokvclient.jar
の場所を表します。
path-to-okvclient.jar-on-cloud-db-instance
は、Oracle Cloud Database as a Serviceインスタンス上のokvclient.jar
の場所を表します。
エンドポイントにソフトウェアをインストールするために必要な管理権限があることを確認します。
JDK 1.5以降がインストールされており、PATH
環境変数にjava
実行可能ファイル(JAVA_HOME/bin
ディレクトリ内)が含まれていることを確認します。
Oracle Key Vaultは、JDKバージョン1.5、1.6、7および8をサポートしています。
シェル・ユーティリティのORAENV
またはsource ORAENV
コマンドを実行して、Oracle Databaseサーバーに正しい環境変数を設定します。
環境変数ORACLE_BASE
およびORACLE_HOME
が正しく設定されていることを確認します。
ORAENV
を使用してこれらの変数を設定した場合は、ORACLE_BASE
がOracle Databaseのルート・ディレクトリを指し、ORACLE_HOME
がORACLE_BASE
の下位のサブディレクトリ(Oracle Databaseのインストール先)を指していることを確認する必要があります。
okvclient.jar
ファイルを保存したディレクトリに移動します。
java
コマンドを実行して、okvclient.jar
ファイルをインストールします。
java -jar okvclient.jar -d /home/oracle/okvutil -v
このコマンドの詳細は次のとおりです。
-d
引数では、エンドポイント・ソフトウェアと構成ファイルのディレクトリの場所(この例では/home/oracle/okvutil
)を指定します。
環境変数$OKV_HOME
は、エンドポイント・ソフトウェアのインストール先ディレクトリ(この例では/home/oracle/okvutil
)を表します。
-v
引数を指定すると、サーバー・エンドポイントの$OKV_HOME/log/okvutil.deploy.log
ファイルにインストール・ログが書き込まれます。
注意:
-o
は、okvclient.jar
が元のディレクトリ以外のディレクトリにデプロイされている場合に、okvclient.ora
へのシンボリック・リンク参照を上書きできるようにするオプションの引数です。この引数は、エンドポイントを再エンロールする場合にのみ使用されます。インストール・プロセスによりパスワードの入力を求められます。次に示すように、パスワードを入力してパスワード保護ウォレットを作成することも、パスワードを使用しない自動ログイン・ウォレットを作成することもできます。
パスワード保護ウォレットは、エンドポイントがOracle Key Vaultにアクセスするために使用する資格証明を格納したOracle Walletファイルです。エンドポイントがOracle Key Vaultに接続するときには、このパスワードが常に必要です。
パスワード保護ウォレットを作成するには、8-30文字のパスワードを入力します。その後、[Enter]を押します。
自動ログイン・ウォレットは、単に[Enter]をクリックすることで作成されます。
エンドポイントからOracle Key Vaultへの接続時にパスワードは必要ありません。自動ログイン・ウォレットを使用すると、人による操作なしでエンドポイントをプロビジョニングできるようになります。
Enter new Key Vault endpoint password (<enter> for auto-login): Key_Vault_endpoint_password Confirm new endpoint password: Key_Vault_endpoint_password
インストールが進行し、完了すると、次のメッセージが表示されます。
The Oracle Key Vault endpoint software installed successfully.
エンドポイント・ソフトウェアが正常にインストールされると、次のディレクトリが作成されます。
bin
: okvutil
プログラム、root.sh
とroot.bat
というスクリプト、okveps.x64
とokveps.x86
というバイナリ・ファイルが含まれています。
conf
: 構成ファイルokvclient.ora
が含まれています。
jlib
: Javaライブラリ・ファイルが含まれています。
lib
: ファイルliborapkcs.so
が含まれています。
log
: ログ・ファイルが含まれています。
ssl
: TLS関連のファイルおよびウォレット・ファイルが含まれています。ウォレット・ファイルには、Oracle Key Vaultへの接続に使用されるエンドポイント資格証明が含まれています。
ewallet.p12
ファイルはパスワード保護ウォレットを表します。cwallet.sso
ファイルは自動ログイン・ウォレットを表します。
UNIXプラットフォームのliborapkcs.so
ファイルには、Oracle DatabaseがOracle Key Vaultと通信するために使用するライブラリが含まれています。Windowsプラットフォームのliborapkcs.dll
ファイルには、Oracle DatabaseがOracle Key Vaultと通信するために使用するライブラリが含まれています。
TDE直接接続を使用する予定の場合、Oracle Linux x86-64、Solaris, AIXおよびHP-UX (IA)のインストールではroot.sh
を実行します。liborapkcs.so
ファイルは、/opt/oracle/extapi/64/hsm/oracle/1.0.0ディレクトリにコピーされます。
Windowsインストールでは、root.bat
を実行します。liborapkcs.dll
ファイルは、C:\oracle\extapi\64\hsm\oracle\1.0.0にコピーされます
ルート・ユーザーとしてログインし、root.sh
スクリプトを実行します。Windowsインストールでは、root.bat
を実行します。
$ sudo bin/root.sh
bin\root.bat
または
$ su - # bin/root.sh
Windowsプラットフォームでroot.bat
を実行すると、使用中のRDBMSのバージョンを要求されます。このステップが完了した後、ルート・ユーザーから切り替えます。
okvutil list
コマンドを実行して、エンドポイント・ソフトウェアが正しくインストールされ、エンドポイントからOracle Key Vaultサーバーに接続できることを確認します。
エンドポイントからKey Vaultに接続できる場合は、「No objects found」というメッセージが表示されます。
$ ./okvutil list No objects found
「Server connect failed」というメッセージが表示された場合は、インストールで問題が発生していないかどうかトラブルシューティングする必要があります。最初に、環境変数が正しく設定されていることを確認します。
エンドポイント・ソフトウェアのヘルプを表示するには、次のように-h
オプションを指定します。
java -jar okvclient.jar -h
次の出力が表示されます。
Oracle Key Vault Release 12.2.0.6.0 (2017-12-15 15:36:49.839 PDT) Production on Fri Dec 15 19:55:31 PDT 2017 Copyright (c) 1996, 2017 Oracle. All Rights Reserved. Usage: java -jar okvclient.jar [-h | -help] [[-v | -verbose] [-d <destination directory>] [-o]]
インストールが終了したら、エンドポイント・ソフトウェア・ファイルokvclient.jar
をセキュアに削除することをお薦めします。
「Endpoints」をクリックして、エンロール済のエンドポイントを表示します。
エンドポイント名をクリックして、該当するエンドポイントのすべての詳細を1つのページに表示します。
オンプレミスKey Vaultを使用してDatabase as a ServiceエンドポイントのTDEマスター・キーを管理する場合、マスター・キーをOracle Cloudに永続的に格納することはありません。したがって、オンプレミスKey Vault管理者は、クラウド内の暗号化データへのアクセスを制御できます。
オンプレミスOracle Key Vault管理者は、シングルクリックでDatabase as a Serviceエンドポイントを一時停止できます。つまり、一時停止中のエンドポイントからのリクエストはすべてOracle Key Vaultサーバーで拒否されます。エンドポイントではOracle Key Vaultサーバーに対してキーをリクエストできないため、メモリーにキャッシュされたキーがタイムアウトした時点で、暗号化データにアクセスできなくなります。Oracle Database Cloud Serviceエンドポイントでは、このタイムアウトはデフォルトで5分になっています。
オンプレミスOracle Key Vault管理者は、一時停止中のエンドポイントを再開できます。つまり、Oracle Key Vaultサーバーは、回復したエンドポイントからのリクエストに対してサービスを開始できます。回復したエンドポイントはOracle Key Vaultサーバーからキーを取得し、機密データにアクセスできるようになります。
注意:
一時停止操作は運用の中断を伴う破壊的な操作であるため、慎重に使用する必要があります。通常、このオプションは、Database as a Serviceインスタンスに異常なアクティビティが存在する可能性が高い場合にのみ使用してください。
一時停止できるのは、エンロール済のエンドポイントのみです。「Registered」状態のエンドポイントは一時停止できません。すでに一時停止されているエンドポイントを一時停止しようとしても、操作は実行されないことに注意してください。それらのエンドポイントは「Suspended」状態のままになります。
エンドポイントを一時停止する手順(複数のエンドポイントを同時に一時停止可能):
一時停止中のDatabase Cloud ServiceエンドポイントとKey Vaultの間の接続を回復できます。これらのエンドポイントを再開すると、そのステータスが「Enrolled」に変更されます。エンロールされたエンドポイントを再開しても、その「Enrolled」ステータスは変わりません。
Database Cloud ServiceからKey Vaultへのアクセスを再開する手順:
自動ログイン・キーストアをサポートするように構成されたDatabase as a Serviceエンドポイントの場合、再開するとすぐに稼働し始めます。一方、パスワード・キーストアを使用するように構成されたDatabase as a Serviceエンドポイントの場合、そのエンドポイントをOracle Key Vaultサーバーで再開し後に動作が再開されるわけではありません。Database as a Serviceインスタンス上のキーストアは、Key Vaultによるエンドポイントの一時停止に伴って閉じられています。再び稼働させるには、Database as a Serviceインスタンス上のパスワードベースのキーストアを開く必要があります。