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のインストールと構成」を参照してください。

制限事項
  • Autonomous DatabaseインスタンスとOKVが異なるテナンシにあるクロステナンシ・アクセスはサポートされていません。
  • OKVはクロスリージョン・スタンバイではサポートされていません。
  • OKVはリフレッシュ可能クローンではサポートされていません。

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

  1. OKVエンドポイント、ウォレットおよびTDEマスター・キーを作成します。
    1. OKVインスタンスにサインインします。
      • OKVインスタンスの詳細ページでパブリックIPアドレスまたはプライベートIPアドレスをコピーし、ブラウザに貼り付けます。
      • OKVインスタンスのログイン・ページで、ユーザー名とパスワードを入力します。
    2. OKVエンドポイントを作成して登録します。
      • OKVホームページで「エンドポイント」をクリックします。
      • 「エンドポイントの詳細」ページで「追加」をクリックし、エンドポイントの名前を入力します。
      • その他のすべての設定をデフォルトにし、「登録」をクリックします。

        次に例を示します。
        sec_okv_epregister.pngの説明が続きます

        詳細は、エンドポイントの追加、削除または再エンロールを参照してください。

    3. ウォレットを作成します。

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

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

        たとえば:


        sec_okv_wallet.pngの説明が続きます

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

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

        たとえば:


        sec_okv_extractable.pngの説明が続きます

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

        たとえば:


        sec_okv_key.pngの説明が続きます

    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インスタンスで作成されたディレクトリ・オブジェクトにOKVウォレットをダウンロードします。
    1. 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インスタンスの詳細ページで見つかった内部完全修飾ドメイン名(FQDN)です
      • Enrollment Tokenは、エンドポイントの「エンドポイント」ページにあるOKVインスタンス登録トークンです。

      ウォレットがダウンロードされると、OKVインスタンスのエンドポイントに「登録済」のステータスが表示されます。

    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の説明が続きます

    ノート

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

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

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

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

      この値を検索するには:

      1. OKVインスタンスにサインインし、「エンドポイント」を選択します。
      2. ウォレットとキーを含むエンドポイントを選択します。
      3. 「Walletコンテンツへのアクセス」までスクロールし、「一意の識別子」をコピーします。


        sec_okv_uuid.pngの説明が続きます

      4. 一意の識別子を「OKV UUID」フィールドに貼り付けます。
    • OKVサーバーURI - OKVインスタンスの内部完全修飾ドメイン名(FQDN)を入力します。

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


      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の説明が続きます