Oracle Key Vaultでのマスター暗号化キーの管理

Autonomous Databaseは、Oracle Key Vault (OKV)に存在する顧客管理Transparent Data Encryption (TDE)キーをサポートしています。

Oracle Key Vaultで顧客管理暗号化キーを使用する前提条件

Autonomous DatabaseのOracle Key Vault (OKV)に存在する顧客管理のマスター暗号化キーを使用するための前提条件ステップについて説明します。

要件:
  • Autonomous Databaseインスタンスはプライベート・エンドポイントを使用する必要があります。

  • Autonomous Databaseは、プライベート・ネットワーク内にあり、Autonomous Databaseが存在する同じネットワークからアクセスできるOKVインスタンスをサポートしています。

    詳細は、「VCNおよびサブネットの管理」および「Oracle Key Vaultのインストールと構成」を参照してください。

制限:
  • OKVは、クロスリージョンAutonomous Data Guardスタンバイではサポートされていません。

次のステップを実行します:

  1. OKVエンドポイント、ウォレットおよびTDEマスター・キーを作成します。
    1. OKVインスタンスにサインインします。
      • OKVインスタンスの詳細ページでパブリックIPアドレスまたはプライベートIPアドレスをコピーし、ブラウザに貼り付けます。

      • OKVインスタンスのログイン・ページで、ユーザー名とパスワードを入力します。

    2. OKVエンドポイントを作成して登録します。
    3. walletの作成

      OKVウォレットには、TDEマスター暗号化キーが保持されます。

      • OKVホーム・ページから、「キーとウォレット」ページにナビゲートします。
      • 「ウォレットとウォレット」ページの「ウォレット」で、「作成」をクリックします。
      • ウォレットの名前を「名前」フィールドに入力して、「保存」をクリックします。

        たとえば:



        詳細は、「仮想Walletの作成」を参照してください。

    4. ウォレットにTDEマスター暗号化キーを作成します。
      • 「キーとシークレット」を選択し、「作成」をクリックします。
      • 「アプリケーション・キー」で、「TDEマスター暗号化キー」を選択します。
      • 「Extractable」で、「True」を選択します。
      • 「非アクティブ化の日付」が空であることを確認します。

        たとえば:



      • 「Walletメンバーシップ」で、「Walletの選択」をクリックします。
      • 表示されたウォレットのリストから、前のステップで作成したウォレットを選択し、「閉じる」をクリックします。
      • 「作成」をクリックしますTDEマスター暗号化キーが作成され、「Walletコンテンツ」の下に表示されます。

        たとえば:



    5. 以前に作成したウォレットをデフォルト・ウォレットにするようにエンドポイントを変更します。
      • エンドポイントの詳細ページに移動します。
      • 「Default Wallet」ペインで「Choose Wallet」を選択します。
      • 「Walletの選択」ページで、以前に作成したウォレットを選択し、「選択」をクリックします。
      • 「保存」をクリックします。
    6. RESTfulサービスの有効化
      ノート

      ウォレットをダウンロードするには、後続のステップでcurlコマンドを正常に実行するために、OKVインスタンスでRestfulサービスを有効にする必要があります。
      • OKVホーム・ページで、「システム」タブを選択します。
      • 左側のナビゲーション・ペインで、「設定」をクリックします。
      • 「System Configuration」から「Restful services」を選択します。
      • 「すべて」「保存」の順にクリックします。
  2. 次の必要な設定でAutonomous Databaseインスタンスをプロビジョニングします:
    1. 「ネットワーク・アクセスの選択」で、「プライベート・エンドポイント・アクセスのみ」を選択します。
    2. 「仮想クラウド・ネットワーク」で、このデータベース・インスタンスが実行されているVCNを選択します。
    3. 「サブネット」で、このデータベース・インスタンスが実行されているプライベート・サブネットを選択します。
    4. 「ネットワーク・セキュリティ・グループ(NSG)」で、セキュリティ・グループを選択します。
    5. 「暗号化キー」設定では、デフォルトで「Oracle管理キーを使用した暗号化」に設定されています。これらの設定は、これらの前提条件ステップが完了した後、OKVで顧客管理キーに変更されます。顧客管理キーは、インスタンスのプロビジョニング中に無効になります。詳細は、Oracle Key Vaultを使用したAutonomous Databaseでの顧客管理暗号化キーの使用を参照してください。
  3. Autonomous Databaseインスタンスに接続し、OKVウォレットのディレクトリを作成します。
    1. ADMINユーザーとしてプライベート・エンドポイントAutonomous Databaseインスタンスに接続します。
      たとえば、OKVDEMO1データベース・インスタンスに接続します。
      SQL> connect ADMIN/<password>@OKVDEMO1_low
    2. Autonomous Databaseインスタンスにディレクトリ・オブジェクトを作成します。
      たとえば:
      SQL> create directory okv_dir as 'okvdir';
    3. ディレクトリが作成されていることを確認します。
      たとえば、次の文ではOKV_DIRディレクトリ・オブジェクトが作成され、文の結果にはディレクトリ名(OKV_DIR)とディレクトリ・パス(/u03/dbfs/<path data>/data/okvdir)が表示されます。
      SQL> connect ADMIN/<admin password>#@OKVDEMO1_low
      Connected
      SQL>
      SQL> create directory okv_dir as 'okvdir';
      Directory created.
      SQL> select * from dba_directories where directory_name = 'OKV_DIR';
      OWNER
      –--------------------------------------------------------------------
      DIRECTORY_NAME
      –--------------------------------------------------------------------
      DIRECTORY_PATH
      –--------------------------------------------------------------------
      ORIGIN_CON_ID
      –------------
      SYS
      OKV_DIR
      /u03/dbfs/<path data>/data/okvdir
      SQL>
  4. Autonomous Databaseインスタンスで作成されたディレクトリ・オブジェクトにエンドポイントwalletをダウンロードします。このwalletは、TDEマスター暗号化キーを含むOKVの仮想TDE walletではありません。このwalletには、OKVとAutonomous Databaseの間のmTLS 1.2接続を確立するために必要な証明書が含まれています。
    1. OKVインスタンスからエンドポイントのウォレットをダウンロードします。
      OKVと同じネットワーク上のコンピュート・インスタンスから次のコマンドを実行します。
      curl -k -X POST
       --location https://OKV server:5695/okv/cloud/utility/endpoint/download/sso
       --data "token=Enrollment Token"
       --output cwallet.sso
      説明:
      • OKV serverは、OKVインスタンスの詳細ページにある内部完全修飾ドメイン名またはプライベートIPアドレスです。

      • Enrollment Tokenは、「エンドポイント」ページで見つかったエンドポイントのエンロール・トークンです。

      たとえば:

      $ curl -k -X POST --location https://10.0.0.123:5695/okv/cloud/utility/endpoint/download/sso 
                                 --data "token=H5r8NzqxopYOgkZC" 
                                 --output cwallet.sso
      % Total    % Received % Xferd Average Speed   Time    Time    Time  Current 
               Dload  Upload  Total   Spent    Left  Speed
      100  3697  100  3675  100    22  2157     12  0:00:01  0:00:01 --:--:--  2172 
      
      ls -altr ./cwallet.sso 
      -rw-r--r--. 1 opc opc 3675 Jun 17 16:53 wallet.sso

      walletがダウンロードされると、OKVインスタンスのエンドポイントがREGISTEREDからENROLLEDに変わります。

    2. ウォレットをオブジェクト・ストレージにアップロードします。

      アップロード・オブジェクトを使用して、ローカル・マシンからObject Storageバケットにウォレット・ファイルをアップロードします。詳細は、バケットへのオブジェクトのアップロードを参照してください。

    3. オブジェクト・ストレージで、アップロードされたウォレット・ファイルの事前認証済リクエスト(PAR) URLを生成します。詳細は、オブジェクト・ストレージでの事前認証済リクエストの作成を参照してください。
    4. VMから、ADMINユーザーとしてデータベース・インスタンスに接続します。
    5. データベース・インスタンスで、DBMS_CLOUD.GET_OBJECTプロシージャを実行して、オブジェクト・ストレージからデータベース・インスタンス・ウォレット・ディレクトリにウォレットをダウンロードします。
      たとえば:
      BEGIN
          DBMS_CLOUD.GET_OBJECT(
              object_uri => '<PAR URL>',
              directory_name => '<wallet_dir>');
      END;
      /
      • 説明:
        • object_uriは、オブジェクト・ストレージのウォレット・ファイルに対して生成されるPAR URLです。
        • directory_nameは、データベース・インスタンスで作成されたウォレット・ディレクトリの名前です。

        詳細は、GET_OBJECTプロシージャを参照してください。

    6. オブジェクト・ストレージからウォレットを削除します。

Oracle Key VaultでのAutonomous Databaseでの顧客管理暗号化キーの使用

Oracle Key Vault (OKV)に存在する顧客管理のマスター暗号化キーを使用してAutonomous Databaseを暗号化するステップを示します。

次のステップを実行します:

  1. 必要に応じて、必要な顧客管理暗号化キーの前提条件ステップを実行します。詳細は、Oracle Key Vaultで顧客管理暗号化キーを使用するための前提条件を参照してください。
  2. Autonomous Databaseインスタンスの「詳細」ページで、「その他のアクション」をクリックし、「暗号化キーの管理」を選択します。


    sec_okv_manage.pngの説明が続きます
    図sec_okv_manage.pngの説明

    ノート

    すでにOKVで顧客管理キーを使用し、TDEキーをローテーションする場合は、次のステップに従って別のキーを選択します(現在選択されているマスター暗号化キーとは異なるキーを選択します)。ただし、同じAutonomous Databaseインスタンスで以前に使用されていたOKVキーは使用できません。

  3. 「暗号化キーの管理」ページで、「顧客管理キーを使用した暗号化」を選択します。
  4. 「キー・タイプ」ドロップダウンで、「Oracle Key Vault (OKV)」を選択します。

    「暗号化キーの管理」ダイアログに、Oracle Key Vault (OKV)オプションが表示されます。
    sec_okv.pngの説明が続きます
    図sec_okv.pngの説明

  5. 次の情報を入力します:
    • OKV UUID: OKVインスタンスにあるキーのTDEマスター・キーの一意識別子を入力します。

      この値を検索するには:

      1. OKVインスタンスにサインインし、「キーとウォレット」を選択します。

      2. Autonomous Databaseエンドポイントのデフォルト・ウォレットの名前をクリックします。

      3. 「Wallet Contents」までスクロールし、「Details」列から「Unique Identifier」をコピーします。

        たとえば:

        BC63511B-4B4A-411C-A71C-4AA90005F632
        OKV Server URI: ok
        Certificate DN:

        エンドポイント名をクリックし、緑色の「ダウンロード」(PEM形式)をクリックします。これにより、コンピュータにCA.pemがダウンロードされます。

        次のようなコマンドを使用して、証明書DNを抽出します。

        $ openssl x509 -in ./CA.pem -noout -subject -nameopt RFC2253 | sed 's|subject=||'

        たとえば:

        CN=CA,OU=Key_Vault,O=Oracle,L=Redwood_City,ST=California,C=us
      4. Autonomous Databaseエンドポイントのデフォルト・ウォレットの名前をクリックします。

      5. 「Walletコンテンツへのアクセス」までスクロールし、「一意識別子」をコピーします。

        .


        sec_okv_uuid.pngの説明が続きます
        図sec_okv_uuid.pngの説明

      6. 「OKV UUID」フィールドに一意識別子を貼り付けます。

    • OKVサーバーURI - 「内部完全修飾ドメイン名」またはOKVインスタンスの詳細ページで見つかったプライベートIPを入力します。

      たとえば、OCI VMを使用してOKVをホストする場合、この値は、OKVインスタンスの詳細ページの「プライマリVNIC」にあります:


      sec_okv_fqdn.pngの説明が続きます
      図sec_okv_fqdn.pngの説明

    • 証明書DN - 証明書識別名(DN)を入力します。
    • 証明書ID (オプション) - 証明書IDを入力するか、空白のままにします。
      ノート

      OKVバージョン21.9以上を使用している場合、このフィールドはオプションです。OKVバージョンが21.9未満の場合は、証明書IDが必要です。
    • ディレクトリ名 - ウォレットがAutonomous Databaseインスタンスに保存されるディレクトリ名を入力します。
  6. 「保存」をクリックします。

保存が正常に完了すると、Autonomous Databaseインスタンスの暗号化設定が更新され、顧客管理キー(Oracle Key Vault (OKV))と表示され、作業リクエストの状態が成功しました。


sec_okv_done.pngの説明が続きます
図sec_okv_done.pngの説明