8 Oracle Cloud InfrastructureのOracle Databaseインスタンス

オンプレミスにデプロイされたOracle Key Vaultでは、Oracle Cloud Infrastructure (OCI)で実行されているOracle DatabaseインスタンスのTDEマスター暗号化キーを管理できます。

8.1 Oracle Cloud Infrastructureのデータベース・インスタンスのエンドポイントの管理について

このタイプのOracle Key Vaultサーバー・デプロイメントは、暗号化キーの管理に関するコンプライアンス標準を満たしています。

Oracle Cloud Infrastructure (OCI)で実行されているOracle Databaseインスタンスは、VMshape、ベアメタルまたはExadataにデプロイできます。このタイプのデプロイメントでは、キーと暗号化データが物理的に分離され、暗号化キーを使用してクラウド内の暗号化データにアクセスする方法をオンプレミス管理者が制御および把握できます。また、暗号化キーをオンプレミスで管理する、または暗号化データが格納されたシステムとは別にするというコンプライアンス要件も満たされます。

8.2 OCIのデータベース・インスタンスをOracle Key Vaultのエンドポイントとして使用するための準備

Oracle Key Vaultでは、Oracle Cloud Infrastructure (OCI)のOracleデータベース・インスタンスの使用をサポートしています。

8.2.1 OCIのデータベース・インスタンスをOracle Key Vaultのエンドポイントとして使用するための準備について

OCIのOracleデータベース・インスタンスをOracle Key Vaultエンドポイントになるように準備するには、まずインスタンスを構成してから、権限の低いユーザーを作成する必要があります。

Oracle Cloud Infrastructure (OCI)上のOracleデータベースは、Oracle Compute Cloud Serviceによって提供される計算リソースおよびストレージ・リソースを使用するフル機能のOracle Databaseインスタンスとして機能します。これにより、サーバーおよびストレージ・システムのサイロを購入、構築および管理する必要がなくなります。また、データベース・リソースおよび機能がオンラインで使用できるようになるため、ユーザーは、必要なときに、時間や場所を問わずそれらを利用できます。

8.2.2 Database Cloud Serviceインスタンスの構成

Database as a Service (DBaaS)インスタンスには、正しいネットワーク構成が必要です。

Database as a Service (DBaaS)インスタンスを構成する手順は、Oracle Database Cloud Service (Database as a Service)のドキュメントを参照してください。

DBaaSインスタンスを構成した後、次のデフォルト値が必要です。

  • パブリックIPアドレス

  • oracleおよびopc (Oracle Public Cloud)の2つのユーザー

  • oracleおよびopcユーザーへのSSHアクセス

8.2.3 Database as a Serviceでの権限の低いオペレーティング・システム・ユーザーの作成

権限の低いユーザー・アカウントokvは、SSHトンネルの構成とDBaaSインスタンスとの通信を担当します。

Database as a Serviceインスタンスは、デフォルトではoracleおよびopcユーザーを使用してプロビジョニングされます。これらのユーザーの持つ権限はSSHトンネルを作成するのに必要な権限よりも多いため、Database as a Serviceインスタンスに、権限の低い別のオペレーティング・システム・ユーザー(okv)を作成することをお薦めします。Oracle Key Vaultでは、SSHトンネルの構成およびDatabase as a Serviceインスタンスとの通信にユーザーokvが使用されます。
  1. ユーザーopcとして公開キー認証(Oracle OCIのデフォルト)を使用して、Oracle Cloud Infrastructure (OCI)インスタンスにログインします。
    $ ssh -i private_key_file opc@node_ip_address
    

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

    • private_key_fileは、秘密キー・ファイル(~/.ssh/id_rsa)へのパスです。このキーは、Oracle Cloud Infrastructureインスタンスをプロビジョニングしたときにアップロードした公開キーに対応します。
    • node_ip_addressは、計算ノードのパブリックIPアドレス(x.x.x.x形式)です。
    計算ノードへの初回接続時には、SSHユーティリティにより公開キーの確認を求められます。
  2. 公開キーの確認を求めるプロンプトに応じて、yesと入力します。
  3. Oracle Key Vaultユーザーを作成します。
    $ sudo adduser okv
    
  4. Oracle Key Vaultユーザーokvを、/etc/ssh/ディレクトリのSSH sshd_config構成ファイルのAllowUsersパラメータに追加します。
    $ sudo vi /etc/ssh/sshd_config
  5. ファイルの末尾に次のエントリを追加します。
    AllowUsers oracle opc okv
  6. SSHデーモンを再起動します。
    $ sudo /sbin/service sshd restart
    
  7. Oracle Key Vaultユーザーokvに、次のステップを実行して/sbin/fuserを実行する権限を付与します。
    1. /etc/sudoersファイルのファイル権限を変更します。
      sudo chmod 740 /etc/sudoers
    2. /etc/sudoersファイルを編集します。
      sudo vi /etc/sudoers
    3. 次のエントリを追加します。
      okv     ALL=(root) NOPASSWD:/sbin/fuser
    4. /etc/sudoersファイルを保存します。/etc/sudoersファイルのファイル権限を変更します。
      sudo chmod 440 /etc/sudoers
    5. /etc/sudoersは次のようになります。
      ## Allow root to run any commands anywhere 
      root    ALL=(ALL)       ALL  
      okv     ALL=(root) NOPASSWD:/sbin/fuser 
  8. okvユーザーになります。
    $ su okv
  9. authorized_keysファイルを作成し、このファイルに適切な権限を設定します。
    $ cd $HOME
    $ mkdir ./.ssh
    $ chmod 700 ./.ssh
    $ touch ./.ssh/authorized_keys
    $ chmod 640 ./.ssh/authorized_keys
  10. supportユーザーとしてOracle Key Vaultインスタンスにログインし、rootから切り替えてoracleに切り替えます。
  11. 次のコマンドを実行して、Oracle Key Vaultの公開キーを、作成したOracle Cloud Infrastructureのauthorized_keysファイルにアップロードします。
    ssh-copy-id ./.ssh/id_rsa.pub okv@node_ip_address
  12. Oracle Key Vaultのoracleユーザーが、パスワードを指定せずにOCIインスタンスにログインできることを確認します。
    $ ssh okv@node_ip_address

8.3 Oracle Key VaultとDatabase as a Serviceの間のSSHトンネルの使用

オンプレミスのOracle Key VaultとOracle Cloud Database as a Serviceインスタンスの間の通信には、セキュアなSSHトンネルが使用されます。

8.3.1 Oracle Key VaultインスタンスとDBaaSインスタンスの間のSSHトンネルの作成

SSHトンネルを構成することで、Oracle Key VaultとDatabase as a Service (DBaaS)インスタンスの間の接続を作成できます。

SSHトンネルの構成は、Database as a Serviceインスタンスの設定が終了した後にのみ行うことができます。Database as a ServiceインスタンスのパブリックIPアドレス、およびトンネルの確立に使用するオペレーティング・システム・ユーザーの名前が必要になります。
  1. システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
  2. 「System」タブを選択し、左側のナビゲーション・バーで「Settings」を選択します。
  3. 「Network Details」領域で、「SSH Tunnel」を選択します。

    「SSH Tunnel Settings」ページが表示されます。

    21_ssh_tnl_setting.pngの説明が続きます
    図21_ssh_tnl_setting.pngの説明

  4. 「Add」をクリックします。

    「Add SSH Tunnel」ページが表示されます。

    21_add_ssh_tunnel.pngの説明が続きます
    図21_add_ssh_tunnel.pngの説明

  5. 「SSH Public Key」フィールドのテキストをコピーして保存します。
    これは、ユーザーokvのOCIインスタンスにコピーされた公開キーであり、Database as a Serviceインスタンスに権限の低い別のオペレーティング・システム・ユーザーを作成したときにアップロードされました。これをDatabase as a Serviceインスタンスに転送して、Database as a Serviceユーザーokvauthorized_keysファイル(/home/okv/.ssh/authorized_keys)に追加する必要があります。
  6. 「Remote Host Details」ページで、次のフィールドに情報を入力します。
    • Tunnel Name: 関連するDatabase as a Serviceインスタンスに基づいて、トンネルを識別する記述名を選択します。

    • IP Address: Database as a ServiceインスタンスのパブリックIPアドレスを入力します。

    • Port: 特定のポート番号を使用する場合はポート番号を入力し、そうでなければ表示されたデフォルト値を使用します。

    • User Name: ユーザー名にokvを入力します。

    Database as a Serviceインスタンスを設定し、パブリックIPアドレスとユーザー名を取得した後にのみ、これらのフィールドに入力できます。

  7. 「Add」をクリックします。

    「SSH Tunnel Settings」ページが表示されます。作成したばかりのSSHトンネルと既存のSSHトンネルが表示されます。

    21_view_ssh.pngの説明が続きます
    図21_view_ssh.pngの説明

    ここには、作成済のトンネルとそれぞれの名前、IPアドレス、ポートおよび登録時間がリストされます。

  8. トンネル名をクリックして、「SSH Tunnel Details」ページを表示します。
  9. トンネルを削除するには、削除対象のトンネルの横にあるチェック・ボックスを選択し、「Delete」をクリックします。

    複数のトンネルを削除するには、複数のボックスを選択します。

    21_delete_ssh.pngの説明が続きます
    図21_delete_ssh.pngの説明

  10. 「Disable」をクリックして、トンネルを無効化します。

    トンネルを無効化すると、そのトンネルに関連付けられているエンドポイントがOracle Key Vaultと通信できなくなります。

    21_disable_ssh.pngの説明が続きます
    図21_disable_ssh.pngの説明

  11. 確認のダイアログ・ボックスで、「Yes」をクリックします。
    「Disable」ボタンが「Enable」ボタンに置き換わります。

8.3.2 マルチマスター・クラスタでのリバースSSHトンネルの管理

冗長性のために、マルチマスター・クラスタのSSHトンネルを複数のノードからクラウドベースのエンドポイントに逆向きにできます。

3つのトンネルを構成することをお薦めします。異なる読取り/書込みペアからのクラウドベースのリバースSSHトンネルが理想的です。同じエンドポイントへの複数のSSHトンネルは、使用されるポート番号によって区別されます。Oracle Key Vaultでは、ノードIDに基づいて一意のポート番号を提示します。別のポート番号を指定する場合は、異なるノードから同じエンドポイントへのSSHトンネルのポート番号を一意にします。

マルチマスター・クラスタでは、複数のノードから同じエンドポイントへのSSHトンネルが複数作成されます。ただし、エンドポイントを登録およびエンロールすると、そのノードからのトンネルのみが表示されます。

次のことに注意してください。

  • エンドポイントに対してSSHトンネルが作成されているエンドポイントを登録およびエンロールする必要があります。
  • そのノードからエンドポイントへのトンネルは、次の場所でのみ表示されます。
    • 登録時に、SSHトンネルを選択するオプション。
    • 登録後、エンドポイント詳細を表示すると、そのトンネルのみが表示されます。
    • エンロール・トークンを送信してエンドポイント・ソフトウェアをダウンロードすると、そのトンネルのみが表示されます。ただし、ダウンロードされたエンドポイント・ソフトウェアには、エンドポイントへのすべてのトンネルに関する情報が含まれています。つまり、エンドポイントは、エンドポイントが作成される前に作成されたすべてのトンネルを使用できます。

SSHトンネルが作成されているすべてのノードは、「Endpoint Details」ページにエンドポイントへのトンネルが表示されます。また、Oracle Key Vault管理コンソールの「SSH Tunnels」ページに、そのノードから作成されたすべてのトンネルがリストされます。

8.3.3 プライマリ/スタンバイ構成でのリバースSSHトンネルの管理

プライマリ/スタンバイ構成でのリバースSSHトンネルは、スタンドアロンのOracle Key VaultサーバーのリバースSSHトンネルと似ています。

プライマリ・サーバーとスタンバイ・サーバーのSSHキーは、ペアリング後も同じです。プライマリ/スタンバイのペアリングの前にOracle Key Vaultサーバーに作成されたトンネル、およびプライマリ/スタンバイのペアリングの後にプライマリに作成されたトンネルは、スイッチオーバーやフェイルオーバーなどのプライマリ/スタンバイ操作の後に有効ですが、これらの操作の実行中はトンネルを使用できない場合があります。

8.3.4 SSHトンネル構成の詳細の表示

Oracle Key Vault管理コンソールでは、Oracle Key Vault用に構成されているSSHトンネルに関する情報が提供されます。

  1. システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
  2. 「System」タブを選択し、左側のナビゲーション・バーで「Settings」を選択します。
  3. 「Network Details」領域で、「SSH Tunnel」を選択します。

    「SSH Tunnel Settings」ページが表示されます。

    21_view_ssh.pngの説明が続きます
    図21_view_ssh.pngの説明

  4. トンネル名をクリックして、「SSH Tunnel Details」ページを表示します。

8.3.5 SSHトンネル接続の無効化

Oracle Key Vault管理コンソールを使用して、Oracle Key VaultとDatabase as a Serviceインスタンスの間の接続を無効にできます。

  1. システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
  2. 「System」タブを選択し、左側のナビゲーション・バーで「Settings」を選択します。
  3. 「Network Details」領域で、「SSH Tunnel」を選択します。

    「SSH Tunnel Settings」ページが表示されます。

    21_view_ssh.pngの説明が続きます
    図21_view_ssh.pngの説明

  4. トンネル名をクリックして、「SSH Tunnel Details」ページを表示します。
  5. 「Disable」をクリックして、トンネルを無効化します。

    トンネルを無効化すると、そのトンネルに関連付けられているエンドポイントがOracle Key Vaultと通信できなくなります。「SSH Tunnel Status」ラベルの横に赤色の下矢印が表示されます。

    21_disable_ssh.pngの説明が続きます
    図21_disable_ssh.pngの説明

  6. 確認のダイアログ・ボックスで、「Yes」をクリックします。
    「Disable」ボタンが「Enable」ボタンに置き換わります。

8.3.6 SSHトンネルがアクティブでない場合の接続の動作

SSHトンネルは、Oracle Key VaultとDatabase as a Serviceインスタンスの間にアクティビティがない場合でもキープ・アライブされます。

トンネルが停止すると、自動的に再起動されます。なんらかの理由でトンネルが使用不能になった場合は、アラートが送信されます。管理ユーザーは、Oracle Key VaultでSMTP設定を構成することによって、これらの電子メール・アラートが届くように指定できます。

8.3.7 SSHトンネル構成の削除

Oracle Key Vault管理コンソールを使用して、Key VaultとDatabase as a Serviceインスタンスの間の接続を削除できます。

  1. システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
  2. 「System」をクリックします。

    「Status」ページが表示されます。

  3. 左側のサイドバーで「SSH Tunnel Settings」をクリックします。

    「SSH Tunnel Settings」ページが表示されます。

    21_view_ssh.pngの説明が続きます
    図21_view_ssh.pngの説明

  4. トンネルを削除するには、削除対象のトンネルの横にあるチェック・ボックスを選択し、「Delete」をクリックします。

    複数のトンネルを削除するには、複数のボックスを選択します。

    21_delete_ssh.pngの説明が続きます
    図21_delete_ssh.pngの説明

8.4 Oracle Key VaultエンドポイントとしてのDatabase as a Serviceインスタンスの登録およびエンロール

コマンドラインとOracle Key Vault管理コンソールを使用して、このタスクを完了できます。

8.4.1 Oracle Key VaultエンドポイントとしてのDatabase as a Serviceインスタンスの登録およびエンロールについて

Oracle Key Vaultサーバーと通信できるようにするには、Oracle Database as a Serviceを事前にエンロールする必要があります。

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インスタンスに転送する必要があります。

8.4.2 ステップ1: Oracle Key Vault管理コンソールへのエンドポイントの登録

エンドポイント登録プロセスでは、エンドポイントに必要なOracle Key Vaultソフトウェアを含むokvclient.jarファイルをローカル・システムにダウンロードします。

  1. システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
  2. 「Endpoints」タブを選択して、左側のナビゲーション・バーから「Endpoints」を選択します。
  3. 「Add」をクリックします。

    「Register Endpoint」ページが表示されます。

    21_dbcs_reg_endpoint.pngの説明が続きます
    図21_dbcs_reg_endpoint.pngの説明

  4. 次のエンドポイント詳細を入力します。
    • Endpoint Name: エンドポイントの一意の名前を入力します。
    • Make Unique: マルチマスター・クラスタを使用している場合は、「Make Unique」チェック・ボックスを選択するかどうかを決定します。「Make Unique」は、マルチマスター・クラスタ環境全体でユーザー名とのネーミング競合を制御するのに役立ちます。
      • 「Make Unique」を選択すると、Oracle Key Vault操作に対してエンドポイントがただちにアクティブになります。
      • 「Make Unique」を選択しない場合、ユーザー・アカウントはPENDING状態で作成されます。その後、Oracle Key Vaultは名前解決操作を開始し、エンドポイント名をクラスタ全体で一意の名前に変更できます。ネーミング競合がある場合は、一意の名前でユーザーを再作成する必要があります。PENDING状態のエンドポイントは、Oracle Key Vault操作では使用できません。
    • Type: 「Oracle Database Cloud Service」を選択します。このオプションを選択すると、「Click here to add a SSH tunnel link」が表示されます。このリンクをクリックして、「Add SSH Tunnel」ページに移動します。このページでSSHトンネルを追加できます。
    • Platform: 「Linux」が自動的に選択されます。
    • Description: エンドポイントを識別するためにわかりやすい説明を入力します。
    • Administrator Email オプションで、エンドポイント関連のアラートを受信する管理者の電子メール・アドレスを入力します。
    • Cluster Subgroup: マルチマスター・クラスタ環境の場合、このエンドポイントのクラスタ・サブグループを選択します。
  5. 「Register」をクリックします。
    少し遅れて、「Endpoints」ページに新しいエンドポイントが「Registered」状態で表示され、「Enrollment Token」が示されます。
  6. 「Endpoint Name」をクリックします。「Endpoint Details」ページが表示されます。
    登録したエンドポイントをエンロールする前に、そのエンドポイントにデフォルト・ウォレットを関連付けます。
  7. 「Enrollment Token」をコピーします。
    これは、エンドポイント・ソフトウェアをダウンロードし、エンドポイントをエンロールする際に必要になります(次のステップ)。
  8. Oracle Key Vaultからログアウトし、新しいセッションを開きます。
    ログイン・ページが表示されます。ログインしないでください
  9. 「Login」のすぐ下にある「Endpoint Enrollment and Software Download」をクリックします。

    「Enroll Endpoint & Download Software」ページが表示されます。

    21_endpoint_download.pngの説明が続きます
    図21_endpoint_download.pngの説明

    これらのフィールドには、エンドポイントを登録する際にOracle Key Vaultシステム管理者によって指定された値が移入されます。これらの値は、エンドポイントのエンロールを完了するときに変更できます。ドロップダウン・リストからDatabase as a Serviceエンドポイントに対して「Primary SSH Tunnel」を選択する必要があることに注意してください。これがオンプレミス・エンドポイントのエンロール・プロセスと唯一異なる点です。

  10. 「Enrollment Token」フィールドで、エンドポイント・トークンを入力し、「Submit Token」をクリックしてトークンを検証します。
  11. 「Enroll」をクリックして、okvclient.jarファイルをローカル・システムにダウンロードします。
  12. 他者が読み取ったりコピーできないように、Cloud Database as a Serviceインスタンス上の、適切な権限が設定されたセキュアなディレクトリにokvclient.jarファイルを移動します。
    $ scp -i path_to_private_key-file path_to_okvclient.jar_on_local_computer oracle@node_ip_address:path_to_okvclient.jar_on_cloud_db_instance
    

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

    • path_to_okvclient.jar_on_local_computerは、オンプレミス・ローカル・コンピュータ上のokvclient.jarの場所を表します。
    • path_to_okvclient.jar_on_cloud_db_instanceは、Oracle Cloud Database as a Serviceインスタンス上のokvclient.jarの場所を表します。

8.4.3 ステップ2: エンドポイント環境の準備

エンドポイントには、互換性のあるバージョンのJava Development Toolkit (JDK)があり、Oracle Database環境変数が設定されている必要があります。

  1. エンドポイントにソフトウェアをインストールするために必要な管理権限があることを確認します。
  2. JDK 1.5以降がインストールされており、PATH環境変数にjava実行可能ファイル(JAVA_HOME/binディレクトリ内)が含まれていることを確認します。
    Oracle Key Vaultは、JDKバージョン1.5、1.6、7および8をサポートしています。
  3. シェル・ユーティリティのoraenvまたはsource oraenvコマンドを実行して、Oracle Databaseサーバーに正しい環境変数を設定します。
  4. 環境変数ORACLE_BASEおよびORACLE_HOMEが正しく設定されていることを確認します。
    oraenvを使用してこれらの変数を設定した場合は、ORACLE_BASEがOracle Databaseのルート・ディレクトリを指し、ORACLE_HOMEORACLE_BASEの下位のサブディレクトリ(Oracleデータベースのインストール先)を指していることを確認する必要があります。

8.4.4 ステップ3: 登録およびエンロールのためのエンドポイントへのOracle Key Vaultソフトウェアのインストール

Oracle Key Vaultソフトウェア・インストールをインストールするには、エンドポイントでokvclient.jarファイルを実行します。

  1. エンドポイント管理者としてエンドポイント・サーバーにログインしていることを確認します。
  2. okvclient.jarファイルを保存したディレクトリに移動します。
  3. ターゲット・ディレクトリが存在し、空であることを確認してください。
  4. javaコマンドを実行して、okvclient.jarファイルをインストールします。
    java -jar okvclient.jar -d c:\db\okv_home -v [-db112]

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

    • -dは、エンドポイント・ソフトウェアと構成ファイルのディレクトリの場所(この例では/home/oracle/okvutil)を指定します。

    • -vを指定すると、サーバー・エンドポイントの/home/oracle/okvutil/log/okvutil.deploy.logファイルにインストール・ログが書き込まれます。

    • -db112は、Oracleデータベースが11.2.0.4で、エンドポイント・プラットフォームがWindowsの場合にのみ適用されます。

    -oは、okvclient.jarが元のディレクトリ以外のディレクトリにデプロイされている場合に、okvclient.oraへのシンボリック・リンク参照を上書きできるようにするオプションの引数です。この引数は、エンドポイントを再エンロールする場合にのみ使用されます。

    Oracle Databaseリリース11.2.0.4のみのWindowsエンドポイント・システムにokvclient.jarファイルをインストールする場合は、-db112オプションを指定します。(このオプションは、他の組合せのエンドポイントのプラットフォームまたはOracle Databaseバージョンでは必要ありません。)次に例を示します。

    java -jar okvclient.jar -d c:\db\okv_home\okvutil -v -db112
  5. パスワードの入力を求められたら、次の2つのステップのいずれかを実行します。
    オプション・パスワードは、okvutilADMINISTER KEY MANAGEMENTの2つの場所に設定します。okvutilに指定すると、そのパスワードを知っているユーザーのみがOracle Key Vaultに対してコンテンツをアップロードまたはダウンロードできます。ADMINISTER KEY MANAGEMENTに指定すると、IDENTIFIED BY password句でそのパスワードを使用する必要があります。パスワードを指定しないと、okvutil uploadおよびdownloadコマンドでパスワードの入力が求められず、ADMINISTER KEY MANAGEMENTのパスワードはNULLになります。
    パスワードを処理するための選択肢は次のとおりです。
    • パスワード保護されたウォレットを作成する場合は、少なくとも8文字から30文字のパスワードを入力して[Enter]を押します。セキュリティを向上させるために、大文字、小文字、特殊文字および数字をパスワードに含めることをお薦めします。次の特殊文字を使用できます: ピリオド(.)、カンマ(,)、アンダースコア(_)、プラス記号(+)、コロン(:)、スペース。
      Enter new Key Vault endpoint password (<enter> for auto-login): Key_Vault_endpoint_password
      Confirm new endpoint password: Key_Vault_endpoint_password
      

      パスワード保護ウォレットは、エンドポイントがOracle Key Vaultにアクセスするために使用する資格証明を格納したOracle Walletファイルです。エンドポイントがOracle Key Vaultに接続するときには、このパスワードが常に必要です。

    • または、パスワードを入力せずに、[Enter]を押します。
    エンドポイント・ソフトウェアが正常にインストールされると、次のディレクトリが作成されます。
    • bin: okvutilプログラム、root.shおよびroot.batスクリプト、バイナリ・ファイルokveps.x64が含まれています。

    • conf: 構成ファイルokvclient.oraが含まれています。

    • jlib: Javaライブラリ・ファイルが含まれています。

    • lib: ファイルliborapkcs.soが含まれています。

    • log: ログ・ファイルが含まれています。

    • ssl: TLS関連のファイルおよびウォレット・ファイルが含まれています。ウォレット・ファイルには、Oracle Key Vaultへの接続に使用されるエンドポイント資格証明が含まれています。

      ewallet.p12ファイルはパスワード保護ウォレットを表します。cwallet.ssoファイルは自動ログイン・ウォレットを表します。

8.4.5 ステップ4: インストール後タスクの実行

インストール後タスクは、Oracle Key Vaultインストールが完全に機能するために重要です。

インストールの完了後に、オプションで、エンドポイントに対してTDE接続を構成し、インストール内容を確認して、okvclient.jarファイルを削除できます。
  1. オプションで、エンドポイントに対してTDE接続を構成します。
    UNIXプラットフォームのliborapkcs.soファイルには、Oracle DatabaseがOracle Key Vaultと通信するために使用するライブラリが含まれています。Windowsプラットフォームのliborapkcs.dllファイルには、Oracle DatabaseがOracle Key Vaultと通信するために使用するライブラリが含まれています。
    • Oracle Linux x86-64、Solaris、AIXおよびHP-UX (IA)のインストールの場合: rootとしてログインし、次のいずれかのコマンドを実行します。
      $ sudo bin/root.sh
      

      または

      $ su -
      # bin/root.sh
      

      このコマンドにより、ディレクトリ・ツリー/opt/oracle/extapi/64/hsm/oracle/1.0.0が作成され、所有権および権限が変更されて、PKCS#11ライブラリがこのディレクトリにコピーされます。

    • Windowsインストールの場合: 次のコマンドを実行します。
      bin\root.bat

      このコマンドは、liborapkcs.dllファイルをC:\oracle\extapi\64\hsm\oracle\1.0.0ディレクトリにコピーします。

  2. nameils -lなどのコマンドを使用して、インストール・ターゲット・ディレクトリの/confサブディレクトリに実在するファイルを指すソフト・リンクが$ORACLE_BASE/okv/$ORACLE_SID/okvclient.oraに作成されたことを確認します。
    ORACLE_BASE環境変数が設定されていない場合は、$ORACLE_HOME/okv/$ORACLE_SIDにソフトリンクが作成されています。
  3. okvutil listコマンドを実行して、エンドポイント・ソフトウェアが正しくインストールされ、エンドポイントからOracle Key Vaultサーバーに接続できることを確認します。
    $ ./okvutil list
    エンドポイントからKey Vaultに接続できる場合は、「No objects found」というメッセージが表示されます。「Server connect failed」というメッセージが表示された場合は、インストールで問題が発生していないかどうかトラブルシューティングする必要があります。環境変数が正しく設定されていることを確認します。エンドポイント・ソフトウェアに関するヘルプを取得するには、次のコマンドを実行します。
    java -jar okvclient.jar -h
    
    

    出力は、次のようになります。

    Production on Fri Apr 12 15:03:01 PDT 2019
    Copyright (c) 1996, 2019 Oracle. All Rights Reserved.
    Usage:
      java -jar okvclient.jar [-h | -help] [[-v | -verbose] [-d <destination directory>] [-o]]
    
    Options:
      -h or -help : Display command help.
      -v or -verbose : Turn on the verbose mode. Logs will be written to files under
                       <destination directory>/log/ directory.
      -d <destination directory> : Specify the software installation directory.
      -o : Overwrite the current symbolic link to okvclient.ora.
    

8.5 Database Cloud ServiceからOracle Key Vaultへのアクセスの一時停止

エンロール済の1つ以上のDatabase as a ServiceエンドポイントからOracle Key Vaultへのアクセスを一時停止できます。

8.5.1 Database Cloud ServiceからOracle Key Vaultへのアクセスの一時停止について

DBaaSサービスが一時停止している場合、Oracle Key Vaultサーバーは一時停止しているエンドポイントからのすべてのリクエストを拒否します。

オンプレミスOracle Key Vaultを使用してDatabase as a Serviceエンドポイントのオンライン・マスター・キーを管理する場合、マスター暗号化鍵をOracle Cloudに永続的に格納することはありません。したがって、オンプレミスOracle 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」状態のままになります。

8.5.2 Database Cloud ServiceからOracle Key Vaultへのアクセスの一時停止

Database as a ServiceからOracle Key Vaultへのアクセスを一時停止した後、必要に応じてアクセスを再開できます。

  1. システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
  2. 「Endpoints」タブを選択して、左側のナビゲーション・バーから「Endpoints」を選択します。
  3. 「Endpoints」ページで、一時停止するエンドポイントの横にあるチェック・ボックスを選択します。
  4. 「Suspend」をクリックします。
  5. 確認のダイアログ・ボックスで、「Yes」をクリックします。
  6. 「Endpoints」をクリックして、一時停止中のエンドポイントを表示します。

    一時停止中のエンドポイントのステータスは赤で強調表示されます。

    21_dbcs_suspend_endpoints.pngの説明が続きます
    図21_dbcs_suspend_endpoints.pngの説明

8.6 Database Cloud ServiceからOracle Key Vaultへのアクセスの再開

一時停止中のDatabase Cloud ServiceエンドポイントとOracle Key Vaultの間の接続を回復できます。

これらのエンドポイントを再開すると、そのステータスが「Enrolled」に変更されます。エンロール済のエンドポイントを再開しても、「enrolled」ステータスは変更されません。
  1. システム管理者ロールを持っているユーザーとしてOracle Key Vault管理コンソールにログインします。
  2. 「Endpoints」タブを選択して、左側のナビゲーション・バーから「Endpoints」を選択します。
  3. 「Endpoints」ページで、再開するエンドポイントの横にあるチェック・ボックスを選択します。
  4. 「Resume」をクリックします。
  5. 確認のダイアログ・ボックスで、「Yes」をクリックします。
  6. 「Endpoints」をクリックして、再エンロールしたエンドポイントを表示します。ステータスは「Enrolled」になります。

8.7 パスワードベースのキーストアを使用するように構成されたデータベース・エンドポイントの再開

構成によっては、Database as a Serviceエンドポイントは自動的に再開できるか、手動で再開する必要があります。

自動ログイン・キーストア・サポートで構成されたDatabase as a Serviceエンドポイントは、リバースSSHアクセスで構成されたノードの1つがDBCSエンドポイントへの接続をリストアするとすぐに稼働し始めます。一方、パスワード・キーストアを使用するように構成されたDatabase as a Serviceエンドポイントの場合、そのエンドポイントをOracle Key Vaultサーバーで再開し後に動作が再開されるわけではありません。Database as a Serviceインスタンス上のキーストアは、Oracle Key Vaultによるエンドポイントの一時停止に伴って閉じられています。再び稼働させるには、Database as a Serviceインスタンス上のパスワードベースのキーストアを開く必要があります。