Oracle Database@AWS上のExadata Database ServiceのAWS Key Management Service統合

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

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

前提条件

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

OCIアイデンティティ・ドメインは、Oracle Database@AWSのオンボーディング・プロセス中に自動的に構成されるため、アクションは必要ありません。AWS KMS統合(2025年11月18日)の一般提供前にリンクされたアカウントについてのみ、次のステップを実行します。

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

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

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

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

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

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

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

    既存のExadata VMクラスタがない場合は、Exadata 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ロールをExadata VMクラスタにアタッチして、AWSリソースへのアクセスを可能にするアイデンティティ・コネクタを割り当てる必要があります。

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

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

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

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

  1. AWSコンソールで、「キー管理サービス(KMS)」を選択します。
  2. 左側のメニューから、「顧客管理キー」を選択し、「キーの作成」ボタンを選択します。
  3. 「キーの構成」セクションで、次の情報を入力します。
    1. 「キー・タイプ」として「対称」オプションを選択します。
    2. 「暗号化および復号化」オプションを「キーの使用方法」として選択します。
    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ユーザーおよびロールを選択します。
      ノート

      このキーポリシーは、このKMSキーを完全に制御するAWSアカウントを提供します。これにより、アカウント管理者は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キーの作成を参照してください。

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

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

      アイデンティティ・コネクタに関連付けられているロールに、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 = 'cloudvmcluster' }
    • クラウドVMクラスタを含むコンパートメントで、PKCSデータ・オブジェクト作成フローに同じリソース・プリンシパルを認可します:
      Allow any-user to read oracle-db-aws-keys in compartment id <vm-cluster-compartment-ocid>
      where all { request.principal.type = 'cloudvmcluster' }
  • KMSリソースとクラウドVMクラスタが同じコンパートメントにある場合は、そのコンパートメントに1つのポリシーのみを構成します:
    Allow any-user to read oracle-db-aws-keys in compartment id <vm-cluster-compartment-ocid>
    where all { request.principal.type = 'cloudvmcluster' }
  • キー・プールを作成および管理するには、次の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鍵で構成された既存のデータベースは、鍵プールの採用準備中も引き続き動作します。

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

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

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

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

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

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

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

前提条件

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

ステップ

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

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

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

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

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

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

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

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

  1. ナビゲーション・メニューを開きます。「Oracle AI Database」をクリックし、「Oracle Exadata Database Service on Dedicated 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 Dedicated Infrastructure」をクリックします。
  2. コンパートメントを選択します。

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

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

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

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

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

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

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

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

  1. AWSコンソールに移動し、「キー管理サービス(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を使用したOracle Database@AWSでのExadata Database ServiceのAWS KMS統合の管理

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

次のリソースは、OCI SDK、CLIおよびTerraformを介してお客様に提供されます。これらのAPIは、Exadata上のOracle DatabaseをAWS KMSと統合したいお客様によって使用されます。

表5-14 OracleDbAwsIdentityConnector

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

表5-15 OracleDbAwsKey

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

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

ノート

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

rpm -qa | grep pkcs

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

出力例:

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

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

PKCS#11ドライバは、顧客の好みに応じて、ローリングメカニズムまたは非ローリングメカニズムを使用して更新できます。

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

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

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

ローリング更新

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

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

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

    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)

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