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

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

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

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

要件:

制限:

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

これらのステップに従います。

  1. OKVエンドポイント、ウォレットおよびTDEマスター・キーを作成します。

    1. OKVインスタンスにサインインします。

      • OKVインスタンスの詳細ページでパブリックIPアドレスまたはプライベートIPアドレスをコピーして、ブラウザに貼り付けます。

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

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

    3. ウォレットの作成

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

      • OKVホーム・ページから、「Keys & Wallets」ページにナビゲートします。

      • 「Keys & Wallets」ページの「Wallets」で、「Create」をクリックします。

      • ウォレットの名前を「名前」フィールドに入力し、「保存」をクリックします。

        たとえば:

        sec_okv_wallet.pngの説明が続きます

        図sec_okv_wallet.pngの説明

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

    4. ウォレットにTDEマスター暗号化キーを作成します。

      • 「キーとシークレット」を選択し、「作成」をクリックします。

      • 「アプリケーション・キー」で、「TDEマスター暗号化キー」を選択します。

      • 「抽出可能」で、「True」を選択します。

      • Date of Deactivationが空であることを確認します。

        たとえば:

        sec_okv_key.pngの説明が続きます

        図sec_okv_key.pngの説明

        • 「Wallet Membership」で、「Select Wallet」をクリックします。
      • 表示されたウォレットのリストから、前のステップで作成したウォレットを選択し、「閉じる」をクリックします。

      • 「作成」をクリックします。TDEマスター暗号化キーが作成され、「Walletコンテンツ」の下に表示されます。

    5. 前に作成したウォレットをデフォルト・ウォレットにするようにエンドポイントを変更します。

      • エンドポイントの詳細ページにナビゲートします。

      • 「Default Wallet」ペインで「Choose Wallet」を選択します。

      • 「Walletの選択」ページで、以前に作成したウォレットを選択し、「選択」をクリックします。

      • 保存」をクリックします。

    6. Restfulサービスを有効にします。

      ノート

      ノート:ウォレットをダウンロードするには、後続のステップでcurlコマンドを正常に実行するには、OKVインスタンスでRestfulサービスを有効にする必要があります。

      • OKVホーム・ページから、「システム」タブを選択します。

      • 左側のナビゲーション・ペインで、「設定」をクリックします。

      • 「System Configuration」から「Restful services」を選択します。

      • 「すべて」「保存」の順にクリックします。

  2. 次の必要な設定でAutonomous AI Databaseインスタンスをプロビジョニングします:

    1. 「ネットワーク・アクセスの選択」で、「プライベート・エンドポイント・アクセスのみ」を選択します。

    2. 「仮想クラウド・ネットワーク」で、このデータベース・インスタンスが実行されているVCNを選択します。

    3. 「サブネット」で、このデータベース・インスタンスが実行されているプライベート・サブネットを選択します。

    4. 「ネットワーク・セキュリティ・グループ(NSG)」で、セキュリティ・グループを選択します。

    5. 「暗号化キー」設定では、デフォルトで「Oracle管理キーを使用した暗号化」に設定されます。これらの前提条件ステップが完了すると、これらの設定がOKVの顧客管理鍵に変更されます。お客様が管理するキーは、インスタンスのプロビジョニング時に無効になります。詳細は、Oracle Key Vaultを使用したAutonomous AI Databaseでの顧客管理暗号化キーの使用を参照してください。

  3. Autonomous AI Databaseインスタンスに接続し、OKVウォレットのディレクトリを作成します。

    1. ADMINユーザーとしてプライベート・エンドポイント自律型AIデータベース・インスタンスに接続します。

      たとえば、OKVDEMO1データベース・インスタンスに接続します。

       <pre class="copy"><code>SQL&gt; connect ADMIN/*&lt;password&gt;*@OKVDEMO1_low</code></pre>
      
    2. Autonomous AI Databaseインスタンスにディレクトリ・オブジェクトを作成します。

      たとえば:

       <pre class="copy"><code>SQL&gt; create directory okv_dir as &#39;okvdir&#39;;</code></pre>
      
    3. ディレクトリが作成されていることを確認します。

      たとえば、次の文ではOKV_DIRディレクトリ・オブジェクトが作成され、文の結果にはディレクトリ名(OKV_DIR)とディレクトリ・パス(/u03/dbfs/<path data>/data/okvdir)が表示されます。

       <pre class="copy"><code>SQL&gt; connect ADMIN/&lt;*admin password*&gt;#@OKVDEMO1_low Connected SQL&gt; SQL&gt; create directory okv_dir as &#39;okvdir&#39;; Directory created. SQL&gt; select * from dba_directories where directory_name = &#39;OKV_DIR&#39;; OWNER --------------------------------------------------------------------- DIRECTORY_NAME --------------------------------------------------------------------- DIRECTORY_PATH --------------------------------------------------------------------- ORIGIN_CON_ID ------------- SYS OKV_DIR /u03/dbfs/&lt;*path data*&gt;/data/okvdir SQL&gt;</code></pre>
      
  4. エンドポイント・ウォレットを、Autonomous AI Databaseインスタンスで作成されたディレクトリ・オブジェクトにダウンロードします。このウォレットは、TDEマスター暗号化キーを含むOKVの仮想TDEウォレットではありません。このウォレットには、OKVとAutonomous AI Databaseの間のmTLS 1.2接続を確立するために必要な証明書が含まれています。

    1. OKVインスタンスからエンドポイントのウォレットをダウンロードします。

      OKVと同じネットワーク上のコンピュート・インスタンスから次のコマンドを実行します。

       <pre class="copy"><code>curl -k -X POST  --location https**:**//*OKV server*:5695/okv/cloud/utility/endpoint/download/sso  --data &quot;token=*Enrollment Token*&quot;  --output cwallet.sso</code></pre>
      

      説明:

      • OKV serverは、内部完全修飾ドメイン名(FQDN)またはプライベートIPアドレスです。OCI VMを使用してOKVをホストしている場合、この値は、プライマリVNICの「ネットワーキング」タブのOCI OKVインスタンスの詳細ページから取得できます。

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

      たとえば:

       <pre class="copy"><code>$ curl -k -X POST --location https://10.0.0.123:5695/okv/cloud/utility/endpoint/download/sso                          --data &quot;token=H5r8NzqxopYOgkZC&quot;                          --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</code></pre>
      

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

    2. ウォレットをObject Storageにアップロードします。

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

    3. Object Storageで、アップロードされたウォレット・ファイルの事前認証済リクエスト(PAR) URLを生成します。詳細は、オブジェクト・ストレージでの事前認証済リクエストの作成を参照してください。

    4. VMから、ADMINユーザーとしてデータベース・インスタンスに接続します。

    5. データベース・インスタンスで、DBMS_CLOUD.GET_OBJECTプロシージャを実行して、ウォレットをオブジェクト・ストレージからデータベース・インスタンスのウォレット・ディレクトリにダウンロードします。

      たとえば:

       <pre class="copy"><code>BEGIN DBMS_CLOUD.GET_OBJECT(     object_uri =&gt; &#39;*&lt;PAR URL&gt;*&#39;,     directory_name =&gt; &#39;*&lt;wallet_dir&gt;*&#39;); END; /</code></pre>
      
      • 説明:

        • object_uriは、オブジェクト・ストレージのウォレット・ファイルに対して生成されたPAR URLです。

        • directory_nameは、データベース・インスタンスで作成されたウォレット・ディレクトリの名前です。

        詳細は、「GET_OBJECTプロシージャおよびファンクション」を参照してください。

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

  5. Wallet Contentから「詳細」列から「一意の識別子」値をコピーします。

    1. 証明書DNを抽出します。

      次のコマンドを実行して、証明書DNを取得します。

       <pre class="copy"><code>$ openssl x509 -in ./CA.pem -noout -subject -nameopt RFC2253 | sed &#39;s|subject=||&#39;</code></pre>
      
       Output
      
       <pre class="copy"><code>CN=CA,OU=Key_Vault,O=Oracle,L=Redwood_City,ST=California,C=us</code></pre>
      

      ここで、CNは証明書DNです。

      または、OKVコンソールから証明書DNの詳細を取得できます。

      • OKVインスタンスにサインインし、「システム」タブをクリックします。

      • 左側のナビゲーション・ペインで、「システム」の下の「設定」をクリックします。

      • 「証明書」で、「サービス証明書」をクリックします。

      • 「現在のCA証明書」セクションで、「共通名(証明書DN)」を見つけて、前述のopensslコマンドを実行するかわりに、この値を証明書DNとして使用します。

Oracle Key Vaultを使用した自律型AIデータベースでの顧客管理暗号化キーの使用

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

これらのステップに従います。

  1. 必要に応じて、顧客管理の必須暗号化キー前提条件ステップを実行します。詳細は、「Oracle Key Vaultで顧客管理暗号化キーを使用するための前提条件」を参照してください。

  2. Autonomous AI Databaseインスタンスの「詳細」ページで、「その他のアクション」をクリックし、「暗号化キーの管理」を選択します。

    sec_okv_manage.pngの説明が続きます

    図sec_okv_manage.pngの説明

    ノート

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

  3. 「暗号化キーの管理」ページで、「顧客管理キーを使用した暗号化」を選択します。

  4. 「Key type」ドロップダウンで、「Oracle Key Vault (OKV)」を選択します。

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

    sec_okv.pngの説明が続きます

    図sec_okv.pngの説明

  5. 次の情報を入力します:

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

      次の値を検索するには:

      1. OKVインスタンスにサインインし、「Keys & Wallets」を選択します。

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

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

        たとえば:

           <pre class="copy"><code>BC63511B-4B4A-411C-A71C-4AA90005F632 OKV Server URI: ok Certificate DN:</code></pre>
        
           Click the endpoint name, then click the green **Download (PEM format)**; this downloads the "CA.pem" to your computer.
        
           Extract the certificate DN with a command such as:
        
           <pre class="copy"><code>$ openssl x509 -in ./CA.pem -noout -subject -nameopt RFC2253 | sed &#39;s|subject=||&#39;</code></pre>
        

        次に例を示します。

           <pre class="copy"><code>CN=CA,OU=Key_Vault,O=Oracle,L=Redwood_City,ST=California,C=us</code></pre>
        
      4. 自律型AIデータベース・エンドポイントのデフォルト・ウォレットの名前をクリックします。

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

        sec_okv_uuid.pngの説明が続きます

        図sec_okv_uuid.pngの説明

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

      • OKVサーバーURI - OKVインスタンスの詳細ページで見つかった Internal Fully Qualified Domain NameまたはプライベートIPを入力します。

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

      sec_okv_fqdn.pngの説明が続きます

      図sec_okv_fqdn.pngの説明

      • 証明書DN - 証明書識別名(DN)を入力します。

      • 証明書ID (オプション) - 証明書IDを入力するか、空白のままにします。

        ノート

        ノート: OKVバージョン21.9以降を使用する場合、このフィールドはオプションです。21.9 より小さいOKVバージョンを使用している場合は、証明書IDが必要です。

      • ディレクトリ名 - ウォレットがAutonomous AI Databaseインスタンスに保存されるディレクトリ名を入力します。

  6. 保存」をクリックします。

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

    sec_okv_done.pngの説明が続きます

    図sec_okv_done.pngの説明

詳細は、Autonomous AI Databaseで顧客管理キーを使用するためのノートを参照してください。