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

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

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

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

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

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

  1. 「Oracle管理キーを使用した暗号化」のデフォルト暗号化キー設定を使用するAutonomous Databaseインスタンスを作成します。詳細は、Autonomous Databaseインスタンスのプロビジョニングを参照してください。
    ノート

    Azure Key Vaultの顧客管理キーの暗号化キー設定は、作成プロセス中は使用できません。このオプションは、インスタンスの編集時にプロビジョニング後に使用できます。
  2. Transparent Data Encryption (TDE)マスター・キーを使用してAzure Key Vaultを作成します。

    詳細は、「About Azure Key Vault」を参照してください。

  3. Azureディレクトリtenant_idでAzureサービス・プリンシパル認証を有効にして、Autonomous DatabaseインスタンスがAzure Key Vaultにアクセスできるようにします。
    1. Microsoft Azure Active DirectoryのテナントIDを取得します。


      sec_az_tenant_id.pngの説明が続きます

      詳細は、Azure Active DirectoryのテナントIDを見つける方法を参照してください。

    2. ADMINとしてインスタンスに接続します。
    3. DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTHを使用してAzureサービス・プリンシパルを有効にします。azure_tenantidの値は、前のステップで取得したAzureディレクトリIDです。
      たとえば:
      BEGIN
       DBMS_CLOUD_ADMIN.ENABLE_PRINCIPAL_AUTH(
               provider => 'AZURE',
               params   => JSON_OBJECT('azure_tenantid' value 'azure_directoryID'));
       END;
       /

      これにより、Azureサービス・プリンシパル認証が有効になり、AzureポータルにAutonomous DatabaseのAzureアプリケーションが作成されます。詳細は、Azureサービス・プリンシパルの有効化を参照してください。

  4. Autonomous DatabaseからAzureリソースにアクセスするためのAzureアプリケーションの同意を提供します。
    1. Autonomous Databaseで、CLOUD_INTEGRATIONSを問い合せます。

      たとえば:

      SELECT * FROM CLOUD_INTEGRATIONS;
      
      PARAM_NAME        PARAM_VALUE
      --------------- ------------------------------------------------------------------------------------------------------------------------------------------
      azure_tenantid    29...eb
      azure_consent_url https://login.microsoftonline.com/f8...5a/oauth2/v2.0/authorize?client_id=d4f5...d5&response_type=code&scope=User.read
      azure_app_name    ADBS_APP_OCID1.AUTONOMOUSDATABASE...

      CLOUD_INTEGRATIONSビューは、ADMINユーザーまたはDWROLEロールを持つユーザーが使用できます。

    2. ブラウザで、azure_consent_urlパラメータで指定されたAzure同意URLを開きます。

      たとえば、問合せ結果からazure_consent_urlをコピーし、次のURLをブラウザに入力します:

      https://login.microsoftonline.com/f8...5a/oauth2/v2.0/authorize?client_id=d4f5...d5&response_type=code&scope=User.read

      「Permissions requested」ページが開き、次のような同意リクエストが表示されます:

      azure_consent.pngの説明が続きます
  5. Azureアプリケーション名を取得します。
    1. Autonomous Databaseで、CLOUD_INTEGRATIONSを問い合せます。

      たとえば:

      SELECT * FROM CLOUD_INTEGRATIONS;
    2. consent_urlに含まれているclient_id値をコピーします。
      PARAM_NAME        PARAM_VALUE
      --------------- ------------------------------------------------------------------------------------------------------------------------------------------
      azure_tenantid    29...eb
      azure_consent_url https://login.microsoftonline.com/f8...5a/oauth2/v2.0/authorize?client_id=d4f5...d5&response_type=code&scope=User.read
      azure_app_name    ADBS_APP_OCID1.AUTONOMOUSDATABASE...
    3. Azureポータルのclient_idで検索します。アプリケーションIDがMicrosoft Entra IDの下に表示されます。


      sec_az_app_name.pngの説明が続きます

    4. アプリケーションIDをコピーします。この値は、後続のステップで使用して、このアプリケーションがAzure Key Vaultのキーにアクセスできるようにします。
  6. Azure Key Vaultにアクセスするために必要なロールをAzureアプリケーションに割り当てます。
    1. Azureポータルで、Azure Key Vaultのアクセス・ポリシーに移動します。

      このボールトにアクセスできるアプリケーションのリストが表示されます。

    2. 「アクセス・ポリシー」ページで、「+作成」をクリックして、アプリケーションがこのキー・ボールトにアクセスするためのアクセス・ポリシーを作成します。


      sec_az_acc_pol.pngの説明が続きます

    3. 「アクセス・ポリシーの作成」ページの「権限」で、キー管理操作、暗号化操作、特権キー操作およびローテーション・ポリシー操作を含むすべてのキー権限を選択し、「次」をクリックします。
    4. 「プリンシパル」で、アプリケーション名を検索します。
    5. 表示されたアプリケーション名を選択し、「次へ」をクリックします。
    6. 「アプリケーション」(オプション)で、「次へ」を選択します。
    7. 「確認および作成」で、ポリシー詳細を確認し、「作成」をクリックします。


      sec_az_create_pol.pngの説明が続きます

    8. Azure Key Vaultの詳細ページで、「リフレッシュ」をクリックしてアプリケーション名を検索します。このAzure Key Vaultのキーにアクセスする権限を持つアプリケーションの表示リストに含まれています。

    詳細は、Key Vaultアクセス・ポリシーの割当てを参照してください。

Azure Key Vaultを使用したAutonomous Databaseでの顧客管理暗号化キーの使用

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

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

  1. 必要な顧客管理マスター・キー前提条件ステップを実行します。Azure Key Vaultで顧客管理暗号化キーを使用するための前提条件を参照してください。
  2. 「詳細」ページで、「他のアクション」ドロップダウン・リストから「暗号化キーの管理」を選択します。
    ノート

    Azure Key Vaultに格納されている顧客管理Transparent Data Encryption (TDE)キーをすでに使用していて、キーをローテーションする場合は、次のステップに従って別のキーを選択します(現在選択されているマスターTDEキーとは異なるキーを選択します)。

  3. 「暗号化キーの管理」ページで、「顧客管理キーを使用した暗号化」を選択します。
  4. 「キー・タイプ」ドロップダウンから、「Microsoft Azure」を選択します。


    sec_azure.pngの説明が続きます

  5. 「Vault URI」フィールドに、Azure Vault URIを入力します。
    1. Azureポータルで、Azure Key Vaultに移動します。
    2. Azure Key Vaultの「概要」ページを選択し、表示されたVault URIをコピーします。


      sec_az_vault_uri.pngの説明が続きます

    3. 「Autonomous Database暗号化キーの管理」ページの「Vault URI」フィールドに、コピーしたAzure Vault URIを入力します。
  6. 「キー名」フィールドに、「Azureキー名」の名前を入力します。
    1. Azureポータルで、Azure Key Vaultに移動し、「キー」を選択します。このボールトのキーのリストが表示されます。
    2. 表示されたキーのリストから、使用するキー名をコピーします。


      sec_az_key_name.pngの説明が続きます

    3. コピーしたAzureキー名を、Autonomous Databaseの「暗号化キーの管理」ページの「キー名」フィールドに入力します。
  7. 「保存」をクリックします。

「ライフサイクル状態」「更新中」に変わります。リクエストが完了すると、「ライフサイクル状態」「使用可能」と表示されます。

リクエストが完了すると、Oracle Cloud Infrastructure Consoleで、キー情報が「暗号化」ヘッダーの下の「Autonomous Database情報」ページに表示されます。この領域には、「暗号化キー」「顧客管理キー(Microsoft Azure)」と表示され、「Vault URI」および「キー名」が表示されます。

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