Exascale Infrastructure@AWS上のExadata Database ServiceのAWS Key Management Service統合

Exascale Infrastructure@AWS上のExadata Database Serviceは、AWS Key Management Service (KMS)との統合をサポートしています。この機能強化により、ユーザーはAWS顧客管理キーを使用してTransparent Data Encryption (TDE)マスター暗号化キー(MEK)を管理できます。

Exascale Infrastructure@AWS上のExadata Database Serviceの場合、TDE MEKは、ファイルベースのOracle Wallet、Oracle Cloud Infrastructure (OCI) Vault、Oracle Key Vault (OKV)またはAWS KMSに格納でき、組織固有のセキュリティ・ポリシーに合せたオプションを提供します。AWS KMSとの統合により、VMクラスタ上のアプリケーション、AWSサービスおよびデータベースが、一元化された単一のキー管理ソリューションを活用できます。

前提条件

データベースのキー管理ソリューションとしてAWS KMSを使用する前に、次の手順を実行する必要があります。

OCIアイデンティティ・ドメインは、Oracle AI Database@AWSオンボーディング・プロセス中に自動的に構成され、アクションは必要ありません。

AWS KMS統合(2026年8月)の一般提供前にリンクされたアカウントについてのみ、次のステップを実行します。

OCIアイデンティティ・ドメインを構成して、VMクラスタのAWS統合を有効にします。これにより、AWS Identity and Access Management (IAM)サービス・ロールをAWS統合に関連付けることができます。

  1. AWSコンソールから、「Oracle AI Database@AWS」を選択し、「設定」を選択します。
  2. 「構成」ボタンを選択して、OCIアイデンティティ・ドメインを構成します。
  3. 完了したら、「設定」ページから「ステータス」、「OCIアイデンティティ・ドメインURL」および「OCIアイデンティティ・ドメインURL」の情報を確認できます。

既存のODBネットワークを作成または活用する方法を学習します。

  1. 既存のODBネットワークがない場合は、ODBネットワークのステップバイステップの手順に従ってプロビジョニングできます。既存のODBネットワークがある場合は、「変更」ボタンを選択して変更できます。手順を追った手順は、「ODBネットワークの変更」を参照してください。
  2. 「サービス統合の構成」セクションから:
    1. 「セキュリティ・トークン・サービス(STS)」オプションを選択して、データベースからのAWS KMSおよびAWS STSアクセスのネットワークを設定します。
    2. AWS KMSが認証ポリシーでKMSキーを使用できるようにするには、「AWS KMS」チェック・ボックスを選択します。

Exascale VMクラスタの作成は、AWS ConsoleおよびAWS CLIを介してのみ使用できます。詳細は、Exascale VMクラスタを参照してください。

クラスタごとにスタックを作成します。CloudFormationスタックを作成するには、次のステップを使用します。これは、Exascale VMクラスタごとに実行する必要があります。

CloudFormationスタックでOIDC (OpenID Connect)プロバイダが作成されると、外部アイデンティティ・ソース(OCIなど)がAWSに対して認証できるように、信頼関係が確立されます。関連付けられたIAMロールは、信頼できるアイデンティティの実行を許可する内容を定義します。

  1. 既存のExascale VMクラスタをリストから選択して、AWS管理コンソールで詳細ページを開きます。
    ノート

    既存のExascale VMクラスタがない場合は、Exascale VMクラスタのステップバイステップの手順に従ってプロビジョニングできます。

  2. 「IAMサービス・ロール」タブを選択し、「CloudFormation」リンクをクリックします。
  3. 「スタックのクイック作成」ページから、事前入力された情報を確認します。
    1. 「パラメータ」セクションで、パラメータはテンプレートで定義され、スタックを作成または更新するときにカスタム値を入力できます。
      1. 事前入力済のOCIIdentityDomainUrl情報を確認します。
      2. OIDCProviderArnフィールドはオプションです。CloudFormationスタックを初めて作成すると、OIDCプロバイダおよび関連付けられたIAMロールが作成されます。スタックを初めて実行する場合は、OIDCProviderArnフィールドに値を指定する必要はありません。
      3. 追加の実行時間については、既存のOIDCプロバイダのARNを指定して、OIDCProviderArnフィールドに指定する必要があります。OIDCProviderArn情報を取得するには、次のステップを実行します。
        1. AWSコンソールから、IAMに移動し、「アイデンティティ・プロバイダ」を選択します。
        2. 「アイデンティティ・プロバイダ」リストから、「タイプ」を「OpenID Connect」として選択するプロバイダをフィルタできます。
        3. CloudFormationスタックが最初に作成されたときに作成された「プロバイダ」リンクを選択します。
        4. 「サマリー」ページから、ARN情報をコピーします。
        5. ARN情報をOIDCProviderArnフィールドに貼り付けます。
    2. 「権限」セクションで、ドロップダウン・リストからIAMロール名を選択し、スタックで実行されるすべての操作に使用するCloudFormationのIAMロールを選択します。
    3. 変更を適用するには、「スタックの作成」ボタンを選択します。
  4. CloudFormationスタックのデプロイメントが完了したら、スタックの「リソース」セクションに移動し、作成されたIdPおよびIAMロール・リソースを確認します。将来使用するためにIAMロールARNをコピーします。

以前に作成したIAMロールをExascale VMクラスタにアタッチして、AWSリソースへのアクセスを可能にするアイデンティティ・コネクタを割り当てる必要があります。

  1. AWSコンソールから、「Oracle AI Database@AWS」を選択します。
  2. 左側のメニューから「Exascale VMクラスタ」を選択し、リストからExascale VMクラスタを選択します。
  3. 「IAMロール」タブを選択し、「関連付け」ボタンを選択します。
    1. 「AWS統合」フィールドは読取り専用です。
    2. 「ロールARN」フィールドに、VMクラスタに関連付けるIAMロールのAmazonリソース名(ARN)を入力します。ARN情報は、以前に作成したロールの「サマリー」セクションから取得できます。
    3. ロールを添付するには、「関連付け」ボタンを選択します。
      ノート

      IAMロールをVMクラスタに関連付けると、アイデンティティ・コネクタがExascale VMクラスタにアタッチされます。

前提条件のセクションを完了したら、次のアクションを続行します。

  1. AWS Consoleから、AWS KMSで顧客管理キーを作成します。
  2. OCIコンソールから、Exascale VMクラスタおよびデータベースを有効にして、ステップ1で作成したAWS KMSキーを利用します。

  1. AWSコンソールから、「キー管理サービス(KMS)」を選択します。
  2. 左側のメニューから、「顧客管理キー」を選択し、「キーの作成」ボタンを選択します。
  3. 「キーの構成」セクションで、次の情報を入力します:
    1. 「キー・タイプ」として「対称」オプションを選択します。
    2. 「Key usage」として、「Encrypt and decrypt」オプションを選択します。
    3. 「詳細設定オプション」セクションを展開します。AWS KMSとAWS CloudHSMの両方がサポートされています。
      1. KMS標準キー・ストアを使用する場合は、「KMS - 推奨」オプションを「キー・マテリアル・オリジン」として選択し、「単一リージョン・キー」オプションまたは「複数リージョン・キー」オプションを「リージョン」セクションから選択します。
      2. AWS CloudHSMを使用する場合は、「AWS CloudHSMキー・ストア」オプションを「キー・マテリアル・オリジン」として選択します。
    4. 作成プロセスを続行するには、「次へ」ボタンを選択します。
  4. 「ラベルの追加」セクションで、次の情報を入力します:
    1. 「別名」フィールドにわかりやすい表示名を入力します。256文字以内にする必要があります。英数字および'_-/'文字を使用します。
      ノート

      • 別名をaws/で始めることはできません。aws/接頭辞は、アカウント内のAWS管理対象キーを表すためにAWSによって予約されています。
      • 別名は、KMSキーを識別するために使用できる表示名です。保護するデータのタイプ、またはKMSキーで使用する予定のアプリケーションを示す別名を選択することをお薦めします。
      • AWSコンソールでKMSキーを作成する場合、別名は必須です。
    2. 「説明」フィールドはオプションです。
    3. 「タグ」セクションはオプションです。タグを使用して、KMSキーを分類および識別し、AWSコストを追跡するのに役立ちます。
    4. 「次へ」ボタンを選択して作成プロセスを続行するか、「前へ」ボタンを選択して前のページに戻ります。
  5. 「キー管理権限の定義」セクションで、次のサブステップを実行します:
    1. 以前に作成したロールを検索し、チェック・ボックスを選択します。KMSキーを管理できるIAMユーザーおよびロールを選択します。
      ノート

      このキーポリシーは、AWSアカウントにこのKMSキーを完全に制御させます。これにより、アカウント管理者はIAMポリシーを使用して、KMSキーを管理するための他のプリンシパル権限を付与できます。

    2. 「キーの削除」セクションから、「キー管理者によるこのキーの削除を許可」チェック・ボックスがデフォルトで選択されています。選択したIAMユーザーおよびロールがKMSキーを削除しないようにするには、チェック・ボックスの選択を解除します。
    3. 「次へ」ボタンを選択して作成プロセスを続行するか、「前へ」ボタンを選択して前のページに戻ります。
  6. 「キー使用権限の定義」セクションで、次のサブステップを実行します:
    1. 以前に作成したロールを検索し、チェック・ボックスを選択します。
    2. 「次へ」ボタンを選択して作成プロセスを続行するか、「前へ」ボタンを選択して前のページに戻ります。
  7. 「キー・ポリシーの編集」セクションで、次のサブステップを実行します:
    1. 「プレビュー」セクションから、キー・ポリシーを確認できます。変更する場合は、「編集」タブを選択します。
      {
          "Version": "2012-10-17",
          "Statement": [
              {
                  "Sid": "KMSKeyMetadata",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "<arn>"
                  },
                  "Action": [
                      "kms:DescribeKey"
                  ],
                  "Resource": "*"
              },
              {
                  "Sid": "KeyUsage",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "<arn>"
                  },
                  "Action": [
                      "kms:Encrypt",
                      "kms:Decrypt"
                  ],
                  "Resource": "*"
              }
          ]
      }
    2. 「次へ」ボタンを選択して作成プロセスを続行するか、「前へ」ボタンを選択して前のページに戻ります。
  8. 「確認」セクションで、情報を確認して「終了」ボタンを選択します。

詳細は、対称暗号化KMSキーの作成を参照してください。

Exascale VMクラスタでAWS KMSを有効にするには、まずAWS KMSキーをOCIに登録する必要があります。

  1. OCIコンソールから、「Oracle AI Database」、「Database Multicloud Integrations」の順に選択します。
  2. 「AWS統合」を選択し、「AWSキー」を選択します。
  3. 「AWSキーの登録」を選択し、次のステップを実行します:
    1. 「コンパートメント」ドロップダウン・リストから、VMクラスタが存在するコンパートメントを選択します。
    2. オプションで、以前に作成した鍵プールを選択します。詳細は、Create a Key Poolを参照してください。
    3. キー・プールを選択する場合は、そのタイプがAWSキー・タイプと一致していることを確認してください:
      • 単一リージョンのAWSキーは、単一リージョンのキー・プールに追加する必要があります。
      • マルチリージョンAWSキーは、マルチリージョン・キー・プールに追加する必要があります。
    4. 「AWSキー」で、ドロップダウン・リストからアイデンティティ・コネクタを選択します。
      ノート

      コネクタに関連付けられているロールに、キーに対するDescribeKey権限があることを確認します。検出を正常に実行するには、この権限が必要です。詳細は、「アイデンティティ・プロバイダの構成」のステップ2を参照してください。

    5. オプションで、「キーARN」フィールドにキーARNを入力します。
    6. 「検出」を選択します。
  4. 結果にリストされている検出されたキーを確認し、登録するキーを選択して、「登録」を選択します。

登録されたKMSリソースおよびクラウドVMクラスタを含むコンパートメントに基づいて、必要なIAMポリシーを構成します。

  • KMSリソースとクラウドVMクラスタが異なるコンパートメントにある場合は、次の2つのポリシーを構成します:
    • KMSリソースを含むコンパートメントで、クラウドVMクラスタ・リソース・プリンシパルが登録済のKMSリソースの読取りを許可します:
      Allow any-user to read oracle-db-aws-keys in compartment id <key-compartment-ocid> where all { request.principal.type = 'exadbvmcluster' }
    • クラウドVMクラスタを含むコンパートメントで、PKCSデータ・オブジェクト作成フローに同じリソース・プリンシパルを認可します:
      Allow any-user to read oracle-db-aws-keys in compartment id <vm-cluster-compartment-ocid> where all { request.principal.type = 'exadbvmcluster' }
  • KMSリソースとクラウドVMクラスタが同じコンパートメントにある場合は、そのコンパートメントに1つのポリシーのみを構成します:
    Allow any-user to read oracle-db-aws-keys in compartment id <vm-cluster-compartment-ocid> where all { request.principal.type = 'exadbvmcluster' }
  • キー・プールを作成および管理するには、次のIAMポリシーが必要です:
    Allow any-user to manage oracle-db-aws-key-pools in tenancy

鍵プールについて

キー・プールは、Oracle Databasesの暗号化に使用されるAWSキーを編成および制御するのに役立ちます。

キー・プールは、データベースの暗号化に使用される顧客管理AWSキーの集合です。OCIでプールを作成し、それにAWSキーを追加し、それらのキーを複数のデータベースで再利用できるかどうかを定義します。プールは、データベース作成および鍵管理操作のための鍵のソースを提供します。

キー・プールを使用する理由

キー・プールがない場合、AWSキーはデータベースで使用するために個別に登録できます。キー・プールは複数のAWSキーをグループ化するため、キー・ローテーションでプールからキーを選択し、キーの使用を一元的に制御できます。

キー・プールの場合:

  • 使用できるAWSキーは組織によって制御されます。
  • 異なるCDBおよびPDBで別々のキーを使用できます。
  • キーの選択とローテーションは、定義された再利用ポリシーに従うことができます。
  • キーの割り当て方法と使用方法を確認できます。

鍵プールのしくみ

まず、名前、コンパートメント、リージョン・コンテキストおよびキー再利用ポリシーを使用してキー・プールを作成します。AWSキーを追加する前にプールを作成し、将来のデータベース・デプロイメントのためにプールを準備できます。

次に、適切なAWSキーをプールに追加します。鍵は1つのプールにのみ所属できるため、鍵の所有権と使用状況を明確に保つことができます。以前の単一キー暗号化モデルから移動するときに、既存の検出されたキーをプールに関連付けることもできます。

CDBをプロビジョニングする場合、最初にキー・プールを選択し、次にそのプールからキーを選択します。CDBは、選択したキーを使用して暗号化のために作成されます。

PDBの作成は単純なままです。PDBの作成時に特定のキーは選択しません。このサービスは、PDBの作成およびその他のサポートされているキー操作のために、関連付けられたキー・プールからキーを自動的に選択します。鍵プールからの鍵の選択では、プールの鍵再利用ポリシーが考慮されます。これにより、複数のデータベースで鍵を再利用できるかどうかが決まります。

キー・ローテーションは、同じプール・ベースのアプローチに従います。通常どおりローテーションを開始し、プールに関連付けられたポリシーに従って適切なキーがサービスによって選択されます。PDB固有のキーの選択は必要ありません。

プールの管理および監査

プール内のキー、その使用情報および関連するライフサイクル・アクティビティを表示できます。監査レコードは、プールの作成、ポリシーの変更、鍵の追加と削除、鍵の移動、および削除アクティビティーの追跡に役立ちます。

マルチリージョン・デプロイメント

サポートされているマルチリージョンおよびData Guard構成では、キー・プールをリージョン間でレプリケートできます。プール情報およびメンバーシップの変更は、スタンバイ環境で適切なリージョナル構成を使用できるように調整されたままです。

前のモデルからの移動

既存の単一キー暗号化構成は、移行の準備中も引き続き動作します。ガイド付き移行機能は、前提条件の確認、既存のキーとプールの関連付け、および中断を最小限に抑えたデータベース環境の移行に役立ちます。

鍵プールの作成

  1. OCIコンソールから、「Oracle AI Database」に移動し、「データベース・マルチクラウド統合」を選択します。
  2. 左側のメニューから、「AWS統合」、「キー・プール」の順に選択します。
  3. 「キー・プールの作成」ボタンを選択して作成します。
    1. 「Create key pool」ページで、次の手順を実行します。
    2. ドロップダウン・リストから、コンパートメントを選択します。
    3. キー・プールのわかりやすい名前を入力します。表示名に使用できるのは、英数字、ハイフン( - )およびアンダースコア( _ )のみです。
    4. 「キーの再使用を許可」トグルはデフォルトで有効になっています。「キーの再使用を許可して、キー・プール内のキーを複数のデータベースに対して再利用できるようにします。無効にすると、1つのキーを1つのデータベースにのみ使用できます。
    5. マルチリージョン・キー・プールのトグルは、デフォルトで無効になっています。このステップは省略可能です。マルチリージョン・キー・プールを有効にして、マルチリージョン・キーのみをキー・プールに追加できるようにします。無効にすると、単一リージョン・キーのみをキー・プールに追加できます。
    6. 「タグ」セクションはオプションのステップです。リソースにタグを追加する場合は、「タグの追加」ボタンを選択します。
  4. キー・プールが作成されたら、「Key Pools」ページに戻り、「State」、「Allow key reuse」、「Multi-region key pool」および「Created」情報を表示します。

キー・プール内の既存のAWSキーの検出および登録

  1. OCIコンソールから、「Oracle AI Database」に移動し、「データベース・マルチクラウド統合」を選択します。
  2. 左側のメニューから、「AWS統合」、「キー・プール」の順に選択します。
  3. 「Key Pools」リストから、以前に作成した鍵プールを選択します。
  4. 「キー」タブを選択します。AWSキーを登録していない場合は、[AWSキーの登録]ボタンを選択してAWSキーを登録します。
  5. AWSキーの登録ページで、次のステップを実行します。
    1. AWSキーを登録するコンパートメントを選択します。
      • 検出された鍵が現在の鍵プールに追加されます。
      • 選択したキー・プールが複数リージョン・キー・プールの場合、検出された結果の複数リージョン・キーのみが有効化され、このキー・プールに追加できます。
    2. アイデンティティ・コネクタ・リストを使用してAWSキーを検出し、アイデンティティ・コネクタを選択します。
    3. 「キー名」フィールドにAWSキーARN情報を入力します。
    4. 「検出」ボタンを選択します。
    5. 「Advanced Options (詳細設定オプション)」セクションを展開します。このステップはオプションです。リソースにタグを追加する場合は、「タグの追加」ボタンを選択します。
    6. 結果にリストされている検出されたキーを確認し、キー・プールに追加するキーを選択して、「登録」を選択します。
  6. AWSキーをキー・プールに追加するには、「キー・プールへのキーの追加」ボタンを選択します。
    1. 「Add keys to key pool」ページで、鍵を選択します。

      キー・プールに追加する既存のAWSキーを1つ以上選択します。リストには、現在のコンパートメントにあり、別のキー・プールに関連付けられていないキーのみが表示されます。

    2. 「追加」ボタンを選択します。

リージョン間のキー・プールのレプリケート

  1. OCIコンソールから、「Oracle AI Database」に移動し、「データベース・マルチクラウド統合」を選択します。
  2. 左側のメニューから、「AWS統合」、「キー・プール」の順に選択します。
  3. 「Key Pools」リストで、レプリケートする複数リージョンの鍵プールを選択します。
  4. 「アクション」メニューから、「キー・プールのレプリケート」を選択します。
  5. 「Replicate Key Pool」ウィンドウで、鍵プールとその鍵をレプリケートする宛先リージョンを選択します。
  6. 「レプリケート」を選択します。
  7. 「クロスリージョン・レプリケーション」タブを選択して、キー・プールがレプリケートされたリージョンを表示します。

鍵プールへの鍵の追加または削除

  1. OCIコンソールから、「Oracle AI Database」に移動し、「データベース・マルチクラウド統合」を選択します。
  2. 左側のメニューから、「AWS統合」、「キー・プール」の順に選択します。
  3. 「Key Pools」リストで、前に作成した「Key Pool」を選択します。
  4. 鍵プールに鍵を追加するには:
    1. 「キー」タブを選択し、「キー・プールへのキーの追加」を選択します。
    2. 「Add keys to key pool」ページで、ドロップダウンリストから鍵を選択します。
      ノート

      • 別のキー・プールに割り当てられていない現在のコンパートメント内のキーのみが表示されます。
      • 単一リージョン・キー・プールの場合、単一リージョン・キーのみが表示されます。
      • 複数リージョン・キー・プールの場合、複数リージョン・キーのみが表示されます。
    3. 「保存」を選択します。
  5. 鍵プールから鍵を削除するには:
    1. 削除するキーを選択します。
    2. 「詳細」ページで、「キー・プール」フィールドにスクロールし、「削除」を選択します。
    3. 確認フィールドにDELETEと入力し、「削除」を選択します。

      鍵が鍵プールから削除されます。

キー使用量数の表示

  1. OCIコンソールから、「Oracle AI Database」に移動し、「データベース・マルチクラウド統合」を選択します。
  2. 左側のメニューから、「AWS統合」、「キー・プール」の順に選択します。
  3. 「Key Pools」リストで、前に作成した鍵プールを選択します。
  4. 鍵プールのタイプに基づいて鍵の使用回数を表示します。
    • 単一リージョン・キー・プール: 「詳細」ページで、「キー使用数」フィールドにスクロールします。
    • マルチリージョン・キー・プール: 「キー」タブを選択し、確認するAWS KMSキーを選択して、「詳細」ページの「キー使用数」フィールドにスクロールします。

しきい値未満の使用可能キー

「キー使用率数」フィールドには、現在AWSキーを使用しているアクティブなデータベース・リソースの数が表示されます。このカウントは鍵の使用状況を反映し、鍵プール内の使用可能な鍵の数は示しません。

キーの再利用がfalseで、キープール内のキーの25%未満が使用可能な場合、Available Keys Below Thresholdの警告が表示されます。警告が表示された場合は、鍵プールに鍵を追加するか、鍵プールポリシーで鍵の再利用を有効にして、鍵をデータベース操作に使用できるようにしてください。

個々のAWS KMS鍵から鍵プールへの移行

Oracle AI Database@AWSは、AWS KMSキーのキー・プールをサポートしています。鍵プールには複数のAWS KMS鍵が含まれており、データベースの暗号化に使用される鍵を集中的に制御できます。

キー・プールの場合:

  • 組織は、データベースの暗号化に使用できるAWS KMS鍵を制御します。
  • 異なるCDBおよびPDBで別々のキーを使用できます。
  • ローテーション中のキーの選択は、キー・プールの再利用ポリシーに従うことができます。
  • キーの割り当て方法と使用方法を確認できます。

開始する前に

  • 必要な設定、権限および構成については、前提条件を確認してください。
  • ドライバ要件およびリリース固有の情報については、『リリースノート』を参照してください。
  • VMクラスタで、キー・プール・サポートを含むAWSマルチクラウドPKCS#11ドライバ・リリース2.203 (260927.1348)が使用されていることを確認します。必要に応じて、ドライバを更新します。「マルチクラウドPKCS#11ドライバの更新」を参照してください。
  • VMクラスタに、キー・プールに追加するすべてのAWS KMSキーにアクセスする権限があることを確認します。
  • ドライバ更新のメンテナンス・ウィンドウと、移行コマンドに必要なデータベースの再起動を計画します。

鍵プールへのデータベースの移行

  1. 鍵プールを作成します。
  2. 使用するAWS KMS鍵を鍵プールに追加します。
  3. キー・プール内のすべてのAWS KMSキーにアクセスするためのVMクラスタ権限を付与します。
  4. VMクラスタに接続し、移行するデータベースに対して次のコマンドを実行します:
    dbaascli tde setPrimaryHSMKey \
      --dbname <db_name> \
      --awsKeyPoolOCID <key_pool_ocid> \
      --bounceDatabase

次のプレースホルダを置き換えます。

  • <db_name>は、データベース名です。
  • <key_pool_ocid>とキー・プールのOCID。

--bounceDatabaseオプションは、データベースを再起動します。

dbaascliを使用した個々のAWS KMSキーを使用したデータベースの作成

ノート

個々のAWS KMSキーを使用してデータベースを作成できますが、Oracleではキー・プールを使用することを強くお薦めします。

キー・プールのかわりに個々のAWS KMSキーを使用する場合は、AWS KMSキーOCIDを指定してデータベースを作成します。

dbaascli database create \
  --dbName <db_name> \
  --oracleHome <db_home_path> \
  --oracleHomeName <db_home_name> \
  --tdeConfigMethod AWS \
  --tdeKeyOCID <key_ocid>

次のプレースホルダを置き換えます。

  • <db_name>は、データベース名です。
  • Oracle Homeへのパスを含む<db_home_path>。
  • <db_home_name>とOracle Homeの名前。
  • AWS KMSキーのOCIDが指定された<key_ocid>。

この方法では、鍵プールをサポートするためにドライバをアップグレードする必要はありません。

個々のAWS KMS鍵で構成された既存のデータベースは、鍵プールの採用準備中も引き続き動作します。

コンソールを使用したExascale Infrastructure@AWS上のExadata Database ServiceのAWS KMS統合の管理

Exascale Infrastructure@AWS上のExadata Database ServiceのAWS KMS統合を管理する方法について学習します。

データベースでAWSキー管理を有効にすると、VMクラスタでの使用が認可され、OCIに登録されているAWSキーのみを使用できます。

  1. OCIコンソールから、「Oracle AI Database」を選択し、「Oracle Exadata Database Service on Exascale Infrastructure」を選択します。
  2. 左側のメニューから「VMクラスタ」を選択し、VMクラスタを選択します。
  3. 「VMクラスタ情報」タブを選択し、「AWS顧客管理暗号化キー」の横にある「有効化」ボタンを選択します。
ノート

VMクラスタに対してAWSキー管理を有効にすると、「無効化」ボタンを使用して無効にできます。この機能を無効にすると、暗号化および復号化操作にAWS Key Management Serviceを使用するデータベースの可用性に影響します。VMクラスタ・レベルで無効にする前に、現在AWSキー管理を使用しているデータベースがないことを確認してください。

このトピックでは、データベースを作成し、キー管理ソリューションとしてAWS KMSを使用する手順のみについて説明します。

汎用データベース作成手順については、既存のVMクラスタにデータベースを作成するにはを参照してください。

前提条件

「前提条件」を参照してください。

ステップ

AWS KMSキー管理がVMクラスタ・レベルで有効になっている場合、2つのキー管理オプション(Oracle WalletとAWSキー管理)があります。

  1. 「暗号化」セクションで、「AWSキー管理」を選択します。
  2. ドロップダウン・リストから「コンパートメント」および「キー・プール」を選択します。
  3. ドロップダウン・リストから「コンパートメント」および「キー」を選択します。
    ノート

    • 登録されたキーのみがリストされます。
    • 必要なキーが表示されない場合は、まだ登録されていない可能性があります。「AWSキーの登録」をクリックして検出し、登録します。

      詳細な手順は、「AWS KMSキーの登録」を参照してください。

    • ドロップダウン・リストからキー別名を選択できます。キー別名を使用できない場合は、ドロップダウンリストにキーIDが表示されます。

VMクラスタ内の既存のデータベースのキー管理をOracle WalletからAWS KMSに変更する場合は、次のステップを実行します。

  1. 「VMクラスタ」から、「コンテナ・データベース」タブに移動し、使用しているデータベースを選択します。
  2. 「暗号化」セクションで、「キー管理」が「Oracle Wallet」に設定されていることを確認し、「変更」リンクを選択します。
  3. 「キー管理の変更」ページで、次の情報を入力します。
    1. ドロップダウン・リストから「キー管理」を「AWSキー管理」として選択します。
    2. 使用している鍵プールコンパートメントを選択し、ドロップダウンリストから目的の鍵プールを選択します。
    3. 「Save changes」ボタンを選択します。

コンテナ・データベース(CDB)のAWS KMSキーをローテーションするには、この手順を使用します。

  1. ナビゲーション・メニューを開きます。「Oracle AI Database」をクリックし、「Oracle Exadata Database Service on Exascale Infrastructure」をクリックします。
  2. コンパートメントを選択します。

    選択したコンパートメントに対するVMクラスタのリストが表示されます。

  3. VMクラスタのリストで、暗号化キーをローテーションするデータベースを含むVMクラスタの名前をクリックします。
  4. 「コンテナ・データベース」をクリックします。
  5. 暗号化キーをローテーションするデータベースの名前をクリックします。

    「データベース詳細」ページに、選択したデータベースに関する情報が表示されます。

  6. 「暗号化」セクションで、「キー管理」が「AWSキー管理」に設定されていることを確認し、「ローテーション」リンクをクリックします。
  7. 表示される「キーのローテーション」ダイアログで、「ローテーション」をクリックしてアクションを確認します。
    ノート

    AWS KMSキーをローテーションすると、同じキーの新しい暗号化コンテキストが生成されます。

プラガブル・データベース(PDB)のAWS KMSキーをローテーションするには、この手順を使用します。

  1. ナビゲーション・メニューを開きます。「Oracle AI Database」をクリックし、「Oracle Exadata Database Service on Exascale Infrastructure」をクリックします。
  2. コンパートメントを選択します。

    選択したコンパートメントに対するVMクラスタのリストが表示されます。

  3. VMクラスタのリストで、起動するPDBを含むVMクラスタの名前をクリックし、その名前をクリックして詳細ページを表示します。
  4. 「コンテナ・データベース」で、暗号化キーをローテーションするPDBを含むデータベースを見つけます。
  5. データベースの名前をクリックして、「データベース詳細」ページを表示します。
  6. ページの「リソース」セクションの「プラガブル・データベース」をクリックします。

    このデータベース内の既存のPDBのリストが表示されます。

  7. 暗号化キーをローテーションするPDBの名前をクリックします。

    プラガブル詳細ページが表示されます。

  8. 「暗号化」セクションに、キー管理がAWSキー管理として設定されていることが表示されます。
  9. 「Rotate」リンクをクリックします。
  10. 表示される「キーのローテーション」ダイアログで、「ローテーション」をクリックしてアクションを確認します。
    ノート

    AWS KMSキーをローテーションすると、同じキーの新しい暗号化コンテキストが生成されます。

オプションで、次のステップを実行して、特定のCDBまたはPDBキーを無効にします。

  1. AWSコンソールに移動し、「Key Management Service (KMS)」を選択します。
  2. 左側のメニューから、「顧客管理キー」を選択し、編集するキーの「キーID」を選択します。
  3. 「ポリシーの編集」ボタンを選択します。
  4. 次の問合せを実行して、キーのEncryptionContext MKIDを取得します。

    操作を有効または無効にするための現在のマスター・キーID (MKID)を表示するには、次のコマンドを使用します。

    dbaascli tde getHSMKeys --dbname <DB-Name>

    次のSQL問合せを実行して、すべてのキー・バージョンをリストすることもできます。

    SELECT key_id, con_id, creation_time, key_use FROM v$encryption_keys;
  5. 次に示すように、取得したEncryptionContext MKIDを使用して拒否ポリシーを追加します:
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": [
        "kms:Encrypt",
        "kms:Decrypt"
      ],
      "Resource": "arn:aws:kms:us-east-1:867344470629:key/7139075d-a006-4302-92d5-48ecca31d48e",
      "Condition": {
        "StringEquals": {
          "kms:EncryptionContext:MKID": "ORACLE.TDE.HSM.MK.06AE5EFB528D9D4F21BFEDA63C6C8738D9"
        }
      }
    }
  6. ポリシー更新を適用するには、「保存」を選択します。

APIを使用したExascale Infrastructure@AWS上のExadata Database ServiceのAWS KMS統合の管理

APIの使用およびリクエストの署名の詳細は、REST APIおよびセキュリティ資格証明を参照してください。SDKについては、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。

次のリソースは、OCI SDK、CLIおよびTerraformを介してお客様に提供されます。これらのAPIは、Exascaleインフラストラクチャ上のOracle AI DatabaseをAWS KMSと統合するお客様によって使用されます。

表5-14 OracleDbAwsIdentityConnector

API 説明
ListOracleDbAwsIdentityConnectors 指定されたフィルタに基づいて、すべてのAWS Identity Connectorリソースを一覧表示します。
GetOracleDbAwsIdentityConnector 特定のAWSアイデンティティ・コネクタ・リソースに関する詳細情報を取得します。
CreateOracleDbAwsIdentityConnector 指定されたExaDB-XS VMクラスタの新しいAWSアイデンティティ・コネクタ・リソースを作成します。
UpdateOracleDbAwsIdentityConnector 既存のAWS Identity Connectorリソースの構成詳細を更新します。
ChangeOracleDbAwsIdentityConnectorCompartment AWSアイデンティティ・コネクタ・リソースを別のコンパートメントに移動します。
DeleteOracleDbAwsIdentityConnector 指定されたAWSアイデンティティ・コネクタ・リソースを削除します。
RefreshOracleDbAwsIdentityConnector 指定されたAWSアイデンティティ・コネクタ・リソースの構成詳細をリフレッシュしました。

表5-15 OracleDbAwsKey

API 説明
ListOracleDbAwsKeys 指定されたフィルタに基づいて、すべてのAWS Keyリソースを一覧表示します。
CreateOracleDbAwsKey 新しいAWS Keyリソースを作成します。
ChangeOracleDbAwsKeyCompartment AWSキー・リソースを別のコンパートメントに移動します。
GetOracleDbAwsKey 特定のAWSキー・リソースに関する詳細情報を取得します。
UpdateOracleDbAwsKey 既存のAWSキー・リソースの構成詳細を更新します。
DeleteOracleDbAwsKey 指定されたAWS Keyリソースを削除します。
RefreshOracleDbAwsKey AWSキー・リソースの構成詳細をリフレッシュします。

マルチクラウドPKCS#11ドライバの更新

ノート

AWS用のPKCS#11ドライバは、AWSキー管理がVMクラスタで有効になっているときに自動的にインストールされます。ドライバがインストールされていることを確認し、そのバージョンを確認するには、次のコマンドを実行します。

rpm -qa | grep pkcs

このコマンドは、VMクラスタにインストールされているPKCSパッケージをリストします。Azure、Google CloudまたはAWSのいずれかに対応する、一度にアクティブにできるPKCS#11ドライバは1つのみです。

出力例:

pkcs-multicloud-driver-maz-0.2-250814.1708.x86_64

これにより、pkcs-multicloud-driver-mazパッケージがバージョンおよびアーキテクチャとともにインストールされることが確認されます。

PKCS#11ドライバは、顧客のプリファレンスに応じて、ローリング・メカニズムまたは非ローリング・メカニズムのいずれかを使用して更新できます。

ローリング・モードでは、更新は一度に1つのVMに適用され、そのVM上のデータベースは、次に進む前に再起動されます。非ローリング・モードでは、クラスタ内のすべてのデータベースが停止され、更新がすべてのノードに適用され、データベースがオンラインに戻ります。後続のステップ(特に両方のシナリオのステップ3)では、PKCS#11ドライバの更新時にバージョンに応じて異なるアクションが必要になるため、ユーザーは使用中のdbaastoolsバージョンを認識する必要があります。

dbaastoolsのバージョンは、次のコマンドを実行して確認できます。

/var/opt/oracle/dbaascli/dbaascli admin showLatestStackVersion

ローリング・アップデート

各ゲストVMで、次のようにPKCS#11ドライバ更新を適用します(一度に1つのノード)。

  1. AWS KMSを使用しているデータベース・インスタンスを停止します。

    AWS KMS for master encryption keys (MEK)を使用するすべてのデータベースは、ドライバを更新する前に停止する必要があります。次のものを使用します。

    srvctl stop instance -d <db_unique_name> -i <instance_name> [-o <stop_option>]
    • -d <db_unique_name>: データベースの一意の名前(データベースのDB_UNIQUE_NAMEと同じ)。
    • -i <instance_name>: 停止するインスタンスの名前(たとえば、orcl1)。

    その他のオプションの詳細は、SRVCTLコマンドライン・ヘルプまたはリファレンス・マニュアルを参照してください。

  2. データベースがシャットダウンされていることを確認します。

    続行する前に、AWS KMSを使用しているすべてのデータベース・インスタンスが停止していることを確認してください。

  3. RPMを更新します。

    rootユーザーとして、次のコマンドを実行します(dbaastools 25.4.1以降の場合)。

    /var/opt/oracle/dbaascli/dbaascli admin updateMCKMS --keystoreProvider AWS --nodeList <node> --databasesStopped
    

    このコマンドは、指定されたノードに最新のRPMをダウンロードしてインストールします。

  4. ドライバのインストールを確認します。

    rootユーザーとして次のコマンドを実行します。

    /bin/rpm -qa | grep -i pkcs-multicloud-driver
  5. データベースインスタンスを起動します。

    ドライバの更新後、次を使用してデータベース・インスタンスを再起動します。

    <oracle_home>/bin/srvctl start instance -node "<node>"

非ローリング更新

非ローリング・モードでは、PKCS#11ドライバ更新を適用する前に、クラスタ上のすべてのデータベースが停止されます。

  1. AWS KMSを使用してデータベースを停止します。

    ドライバを更新する前に、マスター暗号化キー(MEK)にAWS KMSを使用するすべてのデータベースを停止します。

    dbaascli database stop [--dbname <value>]
  2. データベースがシャットダウンされていることを確認します。

    続行する前に、AWS KMSを使用しているすべてのデータベースが停止していることを確認してください。

  3. RPMをアップグレードします。

    rootユーザーとして、次のコマンドを実行します(dbaastools 25.4.1以降の場合)。

    /var/opt/oracle/dbaascli/dbaascli admin updateMCKMS --keystoreProvider AWS --databasesStopped

    このコマンドは、最新のRPMをダウンロードしてインストールします。

  4. ドライバのインストールを確認します。

    rootユーザーとして次のコマンドを実行します。

    /bin/rpm -qa | grep -i pkcs-multicloud-driver
  5. データベースを再起動します。

    ドライバが更新されたら、データベースを再起動します。

    dbaascli database start [--dbname <value>]

リリース・ノート

AWSドライバのさまざまなリリースで行われた変更を確認します。

リリース2.203 (260927.1348)

  • keypoolのサポート。
  • 様々なバグ修正および安定性の向上。

リリース2.202 (260721.2348)

  • 様々なバグ修正および安定性の向上。

リリース2.196 (260325.2123)

  • 様々なバグ修正および安定性の向上。

リリース2.185 (251201.0551)

  • 様々なバグ修正および安定性の向上。