顧客管理暗号化キーの概要

専用環境用の顧客管理暗号化キーについて学習します。

顧客管理の暗号化キーの概要

Oracle NoSQL Database Cloud Service (NDCS)は、データ暗号化キーを使用して保存データを暗号化することで、セキュリティ侵害からデータを保護します。その後、データ暗号化鍵はマスター暗号化キーを使用して暗号化されます。デフォルトでは、NDCSはOracle管理のマスター暗号化キーを使用します。

また、NDCSでは、顧客管理暗号化キー(CMEK)と呼ばれる独自のマスター暗号化キーを使用してデータ暗号化キーを暗号化できます。この機能を使用する前に、CMEKを専用環境で有効にする必要があります。CMEK用に構成された専用環境を作成すると、Oracle NoSQL Databaseでは、OCIブロック・ボリュームを使用して、制御するマスター暗号化キーを使用してデータベース・データを格納および暗号化します。さらに、環境のデータ・バックアップはOCIオブジェクト・ストレージに存在し、マスター・キーを使用して暗号化されます。サービス・チケットを発行するには、「専用ホスト環境のリクエスト」を参照してください。

独自のマスター暗号化キーを作成および管理します。NDCSでは、OCI Key Management Service (KMS)を使用して、マスター暗号化キーをボールト内に格納し、その運用状態を管理します。

用語

  • 顧客管理暗号化キー(CMEK):ブロック・ボリュームおよびオブジェクト・ストレージ・キーの暗号化および復号化に使用されるマスター暗号化キー。
  • 保存データ: Oracle NoSQL Databaseに格納されたデータを示します。
  • CMEKの専用環境:テナンシ専用のOracle NoSQL環境であり、顧客管理暗号化キーを使用するように構成されます。
  • キー管理サービス(KMS):ボールト内のキーを格納および管理するOCIサービス。KMSは、暗号化キーの一元的な管理および制御を提供します。
  • キーのローテーション:キーが危険にさらされた場合にリスクを軽減するために、古い暗号化キーを新しいキーに置き換えるプロセス。
  • ブロック・ボリューム・サービス:必要なアプリケーション要件を満たすようにブロック・ストレージを動的にプロビジョニングおよび管理できるOCIサービス。
  • オブジェクト・ストレージ・サービス:データ用に完全にプログラム可能でスケーラブルで耐久性の高いクラウド・ストレージを提供するOCIサービス。
  • OCI Vaultサービス:暗号化キーおよびシークレットを管理するためのセキュアで一元化された場所を提供するOCIサービス。

CMEKの仕組み

OCI Vaultサービスでは、暗号化キー用のコンテナとしてテナンシにボールトを作成できます。ボールトでCMEKを作成すると、それに一意のOracle Cloud ID (OCID)が割り当てられます。

OCIコンソールを使用して、CMEKを専用環境に割り当てます。ブロック・ボリューム・サービスおよびオブジェクト・ストレージ・サービスは、CMEKを使用してブロック・ボリュームおよびオブジェクト・ストレージのキーを暗号化します。

NDCSでは、新しいCMEKを割り当てることで、キー・ローテーションがサポートされます。まず、ボールトに新しいキーを作成する必要があります。ローテーションをトリガーするには、OCIコンソールから専用環境の新しいキーを更新します。新しいCMEKにローテーションしても、ブロック・ボリュームまたはオブジェクト・ストレージに格納されているデータは再暗号化されません。ブロック・ボリュームおよびオブジェクト・ストレージのキーのみが再暗号化されます。

Block VolumeサービスおよびObject Storageサービスは、すべてのデータ操作を管理します。

CMEKの作成

Oracle NoSQL Database Cloud Serviceは、OCI Vaultサービスとの統合のみをサポートし、ボールトを作成し、KMSを使用してボールト内のCMEKを作成、格納および管理します。ボールトの詳細は、Oracle Cloud InfrastructureドキュメントOCI Vaultのトピックを参照してください。

まず、OCIコンソールからボールトを作成してから、ボールトにCMEKを作成する必要があります。

詳細は、Oracle Cloud InfrastructureドキュメンテーションVaultの作成のトピックを参照してください。

CMEKの作成:

CMEKを作成する場合は、その保護モード、アルゴリズムおよび長さを指定します。

CMEKを作成するには、次のステップに従います。詳細は、Oracle Cloud Infrastructureドキュメンテーションマスター暗号化キーの作成のトピックを参照してください。

前提条件
  • ボールトの作成
手順
  1. OCIコンソールにサインインしてください。
  2. 左上隅にあるナビゲーション・メニューを開き、「アイデンティティとセキュリティ」「Vault」の順に選択します。
  3. ボールトを含むコンパートメントを選択します。
  4. CMEKを作成するボールトの名前を選択します。
  5. 「リソース」で、「マスター暗号化キー」「キーの作成」の順に選択します。キーは、ボールトとは異なるコンパートメントに作成できることに注意してください。
  6. 「保護モード」で、HSMまたはソフトウェアのいずれかのオプションを選択します。
  7. CMEKを識別する名前を入力してください。
  8. 「キー・シェイプ: アルゴリズム」で、Advanced Encryption Standard (AES)アルゴリズムを選択します。KMSは、AES、RSA、およびECDSAアルゴリズムをサポートしています。ただし、NDCSではCMEKの対称キー・シェイプのみが許可されます。したがって、対称キーを生成するAESオプションを選択する必要があります。
  9. 「キー・シェイプ: 長さ」で、キーの長さを256ビットとして選択します。
  10. 外部キーをインポートする場合は、「外部キーのインポート」チェック・ボックスを選択し、次の詳細を指定します:
    • ラップ・アルゴリズム: RSA_OAEP_AES_SHA256を選択します。OCIでは、パブリック・ラップされたキーをインポートするためにこのアルゴリズムがサポートされています。
    • 外部キー・データ・ソース:ラップされたRSAキー・マテリアルを含むファイルをアップロードします。
  11. 「キーの作成」を選択します。

    図- VaultでのCMEKの作成



    ノート:

    Oracle NoSQL Database Cloud Serviceでは、単一バージョン・キーのみがサポートされています。
CMEKアクセス:

CMEKを作成したら、専用の環境に割り当てます。専用環境のブロック・ボリューム・サービスおよびオブジェクト・ストレージ・サービスは、CMEKのOCIDを使用して内部的にCMEKにアクセスします。

VaultのCMEKライフサイクル:

ボールトでは次の操作がサポートされます。

  • 作成: ボールトにCMEKを作成します。
  • 無効化/有効化: CMEKを無効化/有効化して、その使用を制御できます。
  • 削除: ボールトからCMEKを削除できます。削除は、誤って削除されないように、待機期間がある2ステップのプロセスです。

    ノート:

    この待機期間中、CMEKのステータスは無効です。

CMEKの有効化、無効化および削除の詳細は、「CMEKキー管理ワークフロー」を参照してください。

CMEK管理業務

Oracle NoSQL Database Cloud Serviceは、専用環境でのCMEKの業務を管理します。これには、CMEKの専用環境への割当て、CMEKのローテーション、削除、ボールトでの無効化、再有効化および削除が含まれます。

次の表では、CMEK管理に関連するタスクについて説明します。CMEKキー管理タスクの詳細は、CMEKキー管理ワークフローを参照してください。

表- CMEK管理タスク

ユーザー・タスク NDCSタスク

CMEK割当て: OCIコンソールからCMEKを専用環境に割り当てます。

  • 専用環境のブロック・ボリュームおよびオブジェクト・ストレージでキーの暗号化をトリガーします。
  • CMEK割当の開始および完了に関する通知を表示します。
CMEKローテーション: 専用環境でCMEKを更新します。
  • 専用環境のブロック・ボリュームおよびオブジェクト・ストレージ内のキーの再暗号化をトリガーします。
  • 更新プロセスの開始と完了に関する通知が表示されます。
CMEK disable: ボールトからCMEKを無効にします。
  • 専用環境に関連付けられたCMEKのメタデータおよび現在のステータスをチェックします
  • 専用環境を使用不可にします。CMEKを使用するデータまたはリソースは使用不可になります。
  • 専用環境のすべてのアラームを無効にします。
  • ボールトでCMEKが無効になっていることを知らせる適切な通知を表示します。
CMEK re-enable: 無効になったCMEKをボールトから再度有効にします。
  • 自動サービス復元はできません。サービスの復元を要求するCAMチケットを発行する必要があります。
  • サービスの復元は、CAMチケットを介して明示的に要求することによってのみ可能です。
CMEK削除: ボールトからCMEKを削除します。
  • 2ステップの削除プロセスをサポートします。CMEKには削除保留状態が割り当てられます。これは無効状態と同じです。削除日に達すると、CMEKは完全に削除されます。
  • 専用環境を使用不可にします。削除されたCMEKで暗号化されたすべてのデータには、削除日以降に永続的にアクセスできなくなります。
  • ボールトでのCMEKの削除を通知するための適切な通知を表示します。
CMEKの削除: 専用環境からCMEKの割り当てを解除します。
  • 専用環境をOracle管理キーに戻し、専用環境のブロック・ボリュームおよびオブジェクト・ストレージ内のキーの再暗号化をトリガーします。
  • CMEKの削除の開始および完了に関する通知を表示します。

CMEKアクセス制御

Oracle NoSQL Database Cloud Serviceは、Oracle Cloud Infrastructure Identity and Access Management (IAM)を使用して、Oracleクラウドへのセキュアなアクセスを提供します。OCI IAMでは、KMS機能を使用するためのアクセス制御を実装できます。

必要なすべての操作について、ボールト、ブロック・ボリュームおよびオブジェクト・ストレージのCMEKにアクセスするポリシーを作成する必要があります。ポリシーの詳細は、Oracle Cloud Infrastructureドキュメンテーションポリシーの仕組みを参照してください。

CMEK使用のためのテナンシの基本的なIAMポリシー要件を次に示します:

  1. 必要なコンパートメントでCMEKを使用するためのブロック・ボリューム・アクセス権を付与するには:
    allow service blockstorage to use keys in compartment <name_of_compartment> where target.key.id = <key-ocid>

    ここで、

    専用環境のname_of_compartment:コンパートメント名。

    key-ocid: CMEKのOCID。

  2. リージョンおよびコンパートメント内のオブジェクト・ストレージにCMEKを使用するためのアクセス権を付与するには:
    allow service objectstorage-<region> to use keys in compartment <name_of_compartment> where target.key.id = <key-ocid>

    ここで、

    region:オブジェクト・ストレージが存在するリージョン。

    専用環境のname_of_compartment:コンパートメント名。

    key-ocid: CMEKのOCID。

  3. Oracle NoSQL Database Cloud Serviceにキー委任CMEKへのアクセス権を付与するには:

    NDCSなどの統合サービスで特定のコンパートメント内のキーを使用できるようにする場合は、キー委任権限を追加します。
    allow service nosql-database-cloud to use key-delegate in compartment <name_of_compartment> where target.key.id = <key-ocid>

    ここで、

    専用環境のname_of_compartment:コンパートメント名。

    key-ocid: CMEKのOCID。

  4. Oracle NoSQL Database Cloud ServiceにCMEKの読取りアクセス権を付与するには:
    allow service nosql-database-cloud to read keys in compartment <name_of_compartment> where target.key.id = <keyocid>

    ここで、

    専用環境のname_of_compartment:コンパートメント名。

    key-ocid: CMEKのOCID。

CMEKのモニタリングとロギング

Oracle NoSQL Database Cloud Serviceでは、専用環境内のすべてのCMEK関連イベントのロギング、および適切な通知によるアラートがサポートされています。

OCI監査ログ

Oracle NoSQL Database Cloud Serviceは、OCI Auditサービスを使用して、すべての主要な状態の変更を記録します。監査ログ情報には次のものが含まれます。

  • 状態変更が検出された時点のタイムスタンプ。
  • CMEKの過去と新しい状態CMEKライフサイクル管理の詳細は、CMEKキー管理ワークフローを参照してください。
  • 影響を受けるエンドポイント。
  • 特別な行動をとる。

OCIアラーム

Oracle NoSQL Database Cloud Serviceでは、OCI Monitoringサービスを使用して、メトリックおよびアラーム機能を使用してクラウド・リソースをアクティブおよびパッシブに監視します。次のメトリックに基づいてOCIアラームを設定できます:

表- CMEKメトリックおよびアラーム

メトリック Display name 単位 説明
EncryptionKeyStatus 暗号化キー・ステータス 整数

Oracle NoSQL Database Cloud Serviceに表示される暗号化キーのステータス。

値が0の場合、暗号化キーは無効になります。

値が1の場合、暗号化キーが有効になり、暗号化/復号化を実行できます。

Oracle管理キーは常に1を返します。

EncryptionKeyType 暗号化キー・タイプ 整数

Oracle NoSQL Database Cloud Serviceに割り当てられた現在のタイプの暗号化キー。

値が0の場合、Oracle管理キーが使用されます。

値が1の場合、かわりにCMEKが使用されます。

OCIコンソール

Oracle NoSQL Database Cloud Serviceは、OCI通知サービスを使用して、影響を受ける専用環境のOCIコンソールにクリティカル・アラートを表示します。

次のCMEK関連イベントについて通知されます。

  • 新しいCMEKが専用環境に割り当てられます。
  • CMEKは専用の環境で変更されます。
  • CMEKは専用の環境から削除されます。
  • CMEKはボールトから削除されており、待機期間中です。
  • ボールトからCMEKが削除されます。
  • ボールトでCMEKが再有効化されます。
  • 暗号化プロセスは専用環境で開始されます。
  • 暗号化プロセスは専用環境で完了しています。

アラートには次のものが含まれます。

  • CMEKの現在のステータスです。
  • 専用環境が使用できない場合、使用不可の理由。

CMEKサービス可用性

Oracle NoSQL Database Cloud Serviceは、ボールト内のCMEKサービスの可用性を監視し、CMEKが無効または削除されたときに適切なアクションを実行します。NDCSでは、CMEKの問題が原因で専用環境が使用できなくなったり、リカバリ不能になったりした場合に、明確なエラー・メッセージおよびログが提供されます。

CMEKが無効になっている場合、Oracle NoSQL Database Cloud Serviceは次のアクションをトリガーします。

  • 専用環境へのすべてのアクセスをただちに無効にします。
  • 専用環境でインスタンスを停止します。
  • 専用環境でのすべてのモニタリングを無効にします。
  • 専用環境のブロック・ボリュームおよびオブジェクト・ストレージのデータにアクセスできないようにします。

CMEKの無効化の詳細は、CMEK Disableを参照してください。

CMEKが削除されると、Oracle NoSQL Database Cloud Serviceによって次のアクションがトリガーされます。

  • 専用環境をリカバリ不能としてマークします。
  • 専用環境でインスタンスを停止します。
  • 専用環境でのすべてのモニタリングを無効にします。
  • 永久的な終了のために専用環境をスケジュールします。

CMEKの削除の詳細は、「CMEKの削除」を参照してください。

CMEKが再有効化されると、Oracle NoSQL Database Cloud Serviceは次のアクションを提案します。

  • CMEKがボールトで再度有効になったあとに、環境をオンラインに戻すためのCAMチケットを上げる必要があります。

CMEKの再有効化の詳細は、CMEKリストアを参照してください。