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

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

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

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

制限事項:
  • Azure Key Vaultは商用リージョンでのみサポートされています。
  • Azure Key Vaultは、クロスリージョンAutonomous Data Guardスタンバイではサポートされていません。
  • サポートされているキー・シェイプとサイズは次のとおりです。

    • RSA 2048、3072および4096
    • EC-P256、EC-P256K、EC-P384、EC-P521

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

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

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

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

  3. Azure Directory tenant_idを使用したAzureサービス・プリンシパル認証を有効にして、Autonomous DatabaseインスタンスがAzure Key Vaultにアクセスできるようにします。
    1. Microsoft 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

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

      azure_consent.pngの説明が続きます
      図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の下に表示されます。
    4. アプリケーションIDをコピーします。この値は、Azure Key Vault内のキーへのこのアプリケーション・アクセスを許可するために後続のステップで使用されます。
  6. Azure Key Vaultにアクセスするために必要なロールをAzureアプリケーションに割り当てます。
    1. Azureポータルで、Azure Key Vaultのアクセス・ポリシーに移動します。

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

    2. アクセス・ポリシー・ページで、「+作成」をクリックして、このキー・ボールトにアクセスするためのアプリケーションのアクセス・ポリシーを作成します。
    3. 「アクセス・ポリシーの作成」ページの「権限」で、「キー管理操作」、「暗号化操作」、「特権キー操作」および「ローテーション・ポリシー操作」を含むすべてのキー権限を選択し、「次へ」をクリックします。
    4. 「プリンシパル」で、アプリケーション名を検索します。
    5. 表示されたアプリケーション名を選択し、「次へ」をクリックします。
    6. 「アプリケーション」(オプション)で、「次へ」を選択します。
    7. 「確認および作成」で、ポリシーの詳細を確認し、「作成」をクリックします。
    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」を選択します。
  5. 「Vault URI」フィールドに、「Azure Vault URI」を入力します。
    1. Azureポータルで、Azure Key Vaultに移動します。
    2. Azure Key Vaultの「概要」ページを選択し、表示されたVault URIをコピーします。
    3. コピーしたAzure Vault URIを、Autonomous Databaseの暗号化キーの管理ページの「Vault URI」フィールドに入力します。
  6. 「キー名」フィールドに、「Azureキー名」の名前を入力します。
    1. Azureポータルで、Azure Key Vaultに移動し、「キー」を選択します。このボールトのキーのリストが表示されます。
    2. 表示されたキーのリストから、使用するキー名をコピーします。
    3. コピーしたAzureキー名を、Autonomous Databaseの「暗号化キーの管理」ページの「キー名」フィールドに入力します。
  7. 「保存」をクリックします。

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

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

例:
sec_az_results.pngの説明が続きます
図sec_az_results.pngの説明