プライマリ・コンテンツに移動
Oracle® Key Vault管理者ガイド
リリース12.2 BP11
E76998-09
目次へ移動
目次
索引へ移動
索引

前
次

9 Oracle Cloud Database as a Serviceのエンドポイント

オンプレミスにデプロイされたOracle Key Vaultでは、ハイブリッド・クラウド・トポロジにおけるOracle Cloud Database as a ServiceインスタンスのTDEマスター・キーを管理できます。

9.1 Database as a Serviceエンドポイントの管理について

オンプレミスにデプロイされたOracle Key Vaultアプライアンスでは、Oracle Cloud環境のDatabase as a ServiceインスタンスのTDEマスター・キーを管理できるようになりました。これにより、キーと暗号化データが物理的に分離されるだけでなく、暗号化キーを使用してクラウド内の暗号化データにアクセスする方法をオンプレミス管理者が制御および把握できるようになります。また、暗号化キーをオンプレミスで管理する、または暗号化データが格納されたシステムとは別にするというコンプライアンス要件も満たされます。

9.2 Database as a ServiceインスタンスをOracle Key Vaultエンドポイントとして使用するための準備

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

関連項目:

  • Oracle Database Cloud - Database as a Serviceの使用: Database as a Serviceの使用を開始する前に

9.2.1 Database Cloud 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の使用: データベース・デプロイメントの詳細情報の表示

9.2.2 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ユーザーを作成する手順:

  1. SSHユーティリティを実行します。
    $ ssh -i <private-key-file> opc@node-ip-address
    

    説明:

    private-key-fileは、opcユーザーのSSH秘密キー・ファイルのパスです。

    node-ip-addressは、Database as a Service計算ノードのパブリックIPアドレス(x.x.x.x形式)です。

  2. 計算ノードへの初回接続時には、SSHユーティリティにより公開キーの確認を求められます。

    求められたら、「yes」と入力します。

  3. Oracle Key Vaultユーザーを作成します。
    $ sudo adduser okv
    
  4. /etc/ssh/のSSH構成ファイルsshd_configに含まれているAllowUsersパラメータにOracle Key Vaultユーザーokvを追加します。
    $ sudo vi /etc/ssh/sshd_config
      AllowUsers oracle opc okv
    
  5. SSHデーモンを再起動します。
    $ sudo /sbin/service sshd restart
    
  6. Oracle Key Vaultユーザーokvに、/sbin/fuserをrootとして実行する権限を付与します。

    次に示すように、/etc/sudoersファイルの必要なエントリを編集および追加します。

    sudo chmod 740 /etc/sudoers
    sudo vi /etc/sudoers

    次のエントリを追加します。

    okv     ALL=(root) NOPASSWD:/sbin/fuser 
    sudo chmod 440 /etc/sudoers

    /etc/sudoersは次のようになります。

    ## Allow root to run any commands anywhere 
    root    ALL=(ALL)       ALL  
    okv     ALL=(root) NOPASSWD:/sbin/fuser 
  7. okvユーザー用のauthorized_keysファイルを作成し、このファイルに適切な権限を設定します。
    $ sudo su -s /bin/sh okv -c "mkdir ~/.ssh"
    $ sudo su -s /bin/sh okv -c "chmod 700 ~/.ssh"
    $ sudo su -s /bin/sh okv -c "touch ~/.ssh/authorized_keys"
    $ sudo su -s /bin/sh okv -c "chmod 640 ~/.ssh/authorized_keys" su okv
    
  8. 「ADD SSH Tunnel」ページに表示されたOracle Key VaultのSSH公開キーを/home/okv/.ssh/authorized_keysauthorized_keysファイルにコピーします。

関連項目:

  • 図9-2

  • Oracle Database Cloud: Database as a Serviceの使用: 計算ノードへのSSH接続

9.3 Key Vaultと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接続を設定する手順:

  1. Oracle Key Vaultサーバーにログインします。ホーム・ページが表示されます。
  2. 「System」をクリックします。

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

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

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

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

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

  5. 「SSH Public Key」のテキストをコピーして保存します。これを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: 特定のポート番号を使用する場合はポート番号を入力し、そうでなければ表示されたデフォルト値を使用します。

    • Username: ユーザー名としてokvを入力します。

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

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

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

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

    「Add」をクリックすると、「Add SSH Tunnel」ページにリダイレクトされます。

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

    図9-4 SSH Tunnel Details: Disable

    図9-4の説明が続きます
    「図9-4 SSH Tunnel Details: Disable」の説明

    このページには、トンネルについて次の詳細が表示されます。

    • Tunnel Name

    • IP Address

    • Port

    • Username

    • SSH Tunnel Status: 緑の上向き矢印はアクティブなトンネルを示し、下向き矢印は非アクティブなトンネルを示します。

    • 「Disable」「Cancel」および「Delete」

  9. トンネルを削除するには、削除対象のトンネルの横にあるチェック・ボックスを選択し、「Delete」をクリックします。複数のトンネルを削除するには、複数のボックスを選択します。確認メッセージが表示されます。確定すると、選択したトンネルが削除されます。

    「SSH Tunnel Settings」ページには、残りのトンネルが表示されます。

    図9-5 トンネル削除後の「SSH Tunnel Settings」

    図9-5の説明が続きます
    「図9-5 トンネル削除後の「SSH Tunnel Settings」」の説明
  10. 「Disable」をクリックして、トンネルを無効化します。トンネルを無効化すると、そのトンネルに関連付けられているエンドポイントがKey Vaultと通信できなくなります。

    確認メッセージが表示されます。確定すると、ステータスが無効に変わり、それを示す下向き矢印が表示されます。「Disable」ボタンが「Enable」ボタンに置き換わります。

    図9-6 SSH Tunnel Details: Enable

    図9-6の説明が続きます
    「図9-6 SSH Tunnel Details: Enable」の説明

9.4 SSHトンネルの管理性

SSHトンネルは、Key VaultとDatabase as a Serviceインスタンスの間にアクティビティがない場合でもキープ・アライブされます。トンネルが万一停止しても、自動的に再起動されます。

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

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

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インスタンスをエンドポイントとして登録およびエンロールする手順:

  1. 「Endpoints」タブをクリックします。「Endpoints」ページが表示されます。

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

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

  3. 次のエンドポイント詳細を入力します。

    • Endpoint Name

    • Type: 「Oracle Database Cloud Service」にする必要があります。

    • Platform: 「Linux」が自動的に選択されます。

    • Description: エンドポイントを識別するためのわかりやすい説明です。

    • Administrator Email: エンドポイント関連のアラートを受け取るためのオプション・フィールドです。

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

    少し遅れて、「Endpoints」ページに新しいエンドポイントが「Registered」状態で表示され、「Enrollment Token」が示されます。

  5. 「Endpoint Name」をクリックします。「Endpoint Details」ページが表示されます。

    登録したエンドポイントをエンロールする前に、そのエンドポイントにデフォルト・ウォレットを関連付けます。

  6. 「Enrollment Token」をコピーします。これは、エンドポイント・ソフトウェアをダウンロードし、エンドポイントをエンロールする際に必要になります(次のステップ)。

  7. Oracle Key Vaultからログアウトし、新しいセッションを開きます。

    ログイン・ページが表示されます。ログインしないでください

  8. 「Login」のすぐ下にある「Endpoint Enrollment and Software Download」をクリックします。「Enroll Endpoint & Download Software」ページが表示されます。

    図9-8 Database as a Serviceエンドポイントのエンロール

    図9-8の説明が続きます
    「図9-8 Database as a Serviceエンドポイントのエンロール」の説明

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

  9. 「Enrollment Token」を入力し、「Submit Token」をクリックしてトークンを検証します。

  10. 「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の場所を表します。

  11. エンドポイントにソフトウェアをインストールするために必要な管理権限があることを確認します。

  12. JDK 1.5以降がインストールされており、PATH環境変数にjava実行可能ファイル(JAVA_HOME/binディレクトリ内)が含まれていることを確認します。

    Oracle Key Vaultは、JDKバージョン1.5、1.6、7および8をサポートしています。

  13. シェル・ユーティリティのORAENVまたはsource ORAENVコマンドを実行して、Oracle Databaseサーバーに正しい環境変数を設定します。

  14. 環境変数ORACLE_BASEおよびORACLE_HOMEが正しく設定されていることを確認します。

    ORAENVを使用してこれらの変数を設定した場合は、ORACLE_BASEがOracle Databaseのルート・ディレクトリを指し、ORACLE_HOMEORACLE_BASEの下位のサブディレクトリ(Oracle Databaseのインストール先)を指していることを確認する必要があります。

  15. okvclient.jarファイルを保存したディレクトリに移動します。

  16. 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へのシンボリック・リンク参照を上書きできるようにするオプションの引数です。この引数は、エンドポイントを再エンロールする場合にのみ使用されます。
  17. インストール・プロセスによりパスワードの入力を求められます。次に示すように、パスワードを入力してパスワード保護ウォレットを作成することも、パスワードを使用しない自動ログイン・ウォレットを作成することもできます。

    • パスワード保護ウォレットは、エンドポイントが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.shroot.batというスクリプト、okveps.x64okveps.x86というバイナリ・ファイルが含まれています。

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

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

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

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

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

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

  18. 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のバージョンを要求されます。このステップが完了した後、ルート・ユーザーから切り替えます。

  19. okvutil listコマンドを実行して、エンドポイント・ソフトウェアが正しくインストールされ、エンドポイントからOracle Key Vaultサーバーに接続できることを確認します。

    エンドポイントからKey Vaultに接続できる場合は、「No objects found」というメッセージが表示されます。

    $ ./okvutil list
    No objects found
    

    「Server connect failed」というメッセージが表示された場合は、インストールで問題が発生していないかどうかトラブルシューティングする必要があります。最初に、環境変数が正しく設定されていることを確認します。

  20. エンドポイント・ソフトウェアのヘルプを表示するには、次のように-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]]
    
  21. インストールが終了したら、エンドポイント・ソフトウェア・ファイルokvclient.jarをセキュアに削除することをお薦めします。

  22. 「Endpoints」をクリックして、エンロール済のエンドポイントを表示します。

    図9-9 Database as a Serviceエンドポイントとその他のエンドポイント

    図9-9の説明が続きます
    「図9-9 Database as a Serviceエンドポイントとその他のエンドポイント」の説明
  23. エンドポイント名をクリックして、該当するエンドポイントのすべての詳細を1つのページに表示します。

    図9-10 Database as a Serviceエンドポイントの詳細

    図9-10の説明が続きます
    「図9-10 Database as a Serviceエンドポイントの詳細」の説明

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

オンプレミス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」状態のままになります。

エンドポイントを一時停止する手順(複数のエンドポイントを同時に一時停止可能):

  1. 「Endpoints」をクリックします。「Endpoints」ページが表示されます(図9-9)。
  2. 一時停止するエンドポイントの横にあるチェック・ボックスを選択します。
  3. 「Suspend」をクリックします。確認メッセージが表示されます。「Yes」をクリックして、アクションを確定します。
  4. 「Endpoints」をクリックして、一時停止中のエンドポイントを表示します。一時停止中のエンドポイントのステータスは赤で強調表示されます。

    図9-11 一時停止中のエンドポイント

    図9-11の説明が続きます
    「図9-11 一時停止中のエンドポイント」の説明

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

一時停止中のDatabase Cloud ServiceエンドポイントとKey Vaultの間の接続を回復できます。これらのエンドポイントを再開すると、そのステータスが「Enrolled」に変更されます。エンロールされたエンドポイントを再開しても、その「Enrolled」ステータスは変わりません。

Database Cloud ServiceからKey Vaultへのアクセスを再開する手順:

  1. 「Endpoints」をクリックします。「Endpoints」ページが表示されます。

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

  2. 再開するエンドポイントの横にあるチェック・ボックスを選択します。
  3. 「Resume」をクリックします。

    確認メッセージが表示されます。「Yes」をクリックして、アクションを確定します。

  4. 「Endpoints」をクリックして、再エンロールしたエンドポイントを表示します。ステータスは「Enrolled」になります。

    図9-12 「Enrolled」ステータスを示す再開されたエンドポイント

    図9-12の説明が続きます
    「図9-12 「Enrolled」ステータスを示す再開されたエンドポイント」の説明

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

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