Cloud External Key Manager

このトピックでは、Cloud External Key Manager(Cloud EKM)の概要を説明します。

用語

  • 外部鍵マネージャー(EKM)

    Google Cloud の外部で使用する鍵マネージャー。

  • Cloud External Key Manager(Cloud EKM)

    サポートされている EKM で管理されている外部鍵を使用するための Google Cloud サービス。

  • インターネット経由での Cloud EKM

    Google Cloud がインターネット経由で外部鍵マネージャーと通信する任意のバージョンの Cloud EKM。

  • VPC 経由での Cloud EKM

    Google Cloud が Virtual Private Cloud(VPC)を介してお客様の外部鍵マネージャーと通信する任意のバージョンの Cloud EKM。詳細については、VPC ネットワークの概要をご覧ください。

  • Cloud KMS の EKM 鍵管理

    Cloud EKM コントロール プレーンをサポートする外部鍵管理パートナーを持つ VPC を介して Cloud EKM を使用する場合は、Cloud KMS EKM 管理モードを使用してプロセスを簡略化できます。外部の鍵管理パートナーと Cloud EKM で外部鍵を保守する。詳細については、このページの調整された外部鍵Cloud KMS の EKM 鍵管理をご覧ください。

  • 暗号空間

    外部鍵管理パートナー内のリソースのコンテナ。暗号空間は、一意の暗号空間パスによって識別されます。暗号空間のパスの形式は、外部鍵管理パートナーによって異なります(例: v0/cryptospaces/YOUR_UNIQUE_PATH)。

  • パートナーが管理する EKM

    信頼できるパートナーによって EKM が管理される手配。 詳細については、このページのパートナー管理の EKM をご覧ください。

  • Key Access Justifications

    Key Access Justifications で Cloud EKM を使用する場合、外部鍵管理パートナーに対する各リクエストには、各リクエストの理由を識別するフィールドが含まれます。提供された Key Access Justifications コードに基づいて、リクエストを許可または拒否するように外部鍵管理パートナーを構成できます。Key Access Justifications の詳細については、Key Access Justifications の概要をご覧ください。

概要

Cloud EKM では、サポートされる外部鍵管理パートナー内で管理する鍵を使用して、Google Cloud 内のデータを保護できます。サポートされる CMEK 統合サービスに保存するか、Cloud Key Management Service API を直接呼び出して、データを保護できます。

Cloud EKM には次のような利点があります。

  • 鍵の来歴: 外部管理する鍵の場所と分布を制御できます。外部管理する鍵は、Google Cloud 内にキャッシュされることも、保存されることもありません。代わりに、Cloud EKM はリクエストごとに外部の鍵管理パートナーと直接やり取りします。

  • アクセス制御: 外部管理する鍵へのアクセス権を管理します。Google Cloud で外部管理鍵を使用するには、その鍵を使用するためのアクセス権を Google Cloud プロジェクトに付与する必要があります。このアクセス権は、いつでも取り消すことが可能です。

  • 一元化された鍵管理: 保護対象のデータがクラウドにあるかオンプレミスかにかかわらず、鍵とアクセス ポリシーを 1 つのユーザー インターフェースから管理できます。

いずれの場合でも、鍵はすべて外部システムに存在し、Google に送信されることはありません。

外部鍵マネージャーとの通信は、インターネット経由または Virtual Private Cloud(VPC)経由で行うことができます。

Cloud EKM の仕組み

Cloud EKM 鍵バージョンは、次の部分で構成されています。

  • 外部鍵マテリアル: Cloud EKM 鍵の外部鍵マテリアルは、EKM で作成、保存されている暗号マテリアルです。このマテリアルは EKM から離れず、Google と共有されることはありません。
  • 鍵リファレンス: 各 Cloud EKM 鍵バージョンには、鍵 URI または鍵のパスが含まれています。これは、Cloud EKM が鍵を使用して暗号オペレーションをリクエストするときに使用する外部鍵マテリアルの一意の識別子です。
  • 内部鍵マテリアル: 対称 Cloud EKM 鍵が作成されると、Cloud KMS が Cloud KMS に別の鍵マテリアルを作成します。これにより、Cloud KMS から離れることはありません。この鍵マテリアルは、EKM と通信する際の暗号化の追加レイヤとして使用されます。この内部鍵マテリアルは、非対称署名鍵には適用されません。

Cloud EKM 鍵を使用するため、Cloud EKM は暗号オペレーションのリクエストを EKM に送信します。たとえば、対称暗号鍵でデータを暗号化する場合、Cloud EKM ではまず内部鍵マテリアルを使用してデータを暗号化します。暗号化されたデータは EKM へのリクエストに含まれます。EKM は、外部鍵マテリアルを使用して暗号化されたデータを別の暗号化レイヤにラップし、結果の暗号テキストを返します。Cloud EKM 鍵を使用して暗号化されたデータは、外部鍵マテリアルと内部鍵マテリアルの両方なしで復号できません。

組織で Key Access Justification を有効にしている場合、外部の鍵管理パートナーは、指定した Access Justifications を記録し、外部鍵管理パートナーの Key Access Justifications ポリシーで許可されている正当化理由コードに対してのみリクエストを完了します。

Cloud EKM 鍵を作成して管理するには、Cloud KMS と EKM の両方で対応する変更が必要です。これらの対応する変更は、手動で管理する外部鍵調整された外部鍵で異なる方法で処理されます。インターネット経由でアクセスされるすべての外部鍵は手動で管理されます。VPC ネットワーク経由でアクセスされる外部鍵は、VPC 接続を介した EKM の EKM 管理モードに応じて、手動で管理または調整できます。手動で管理する鍵には、Manual EKM 管理モードを使用します。Cloud KMS EKM 管理モードは、調整された外部鍵に使用されます。EKM 管理モードの詳細については、このページの手動で管理する外部鍵調整された外部鍵をご覧ください。

次の図では、鍵管理モデルにおける Cloud KMS の位置づけを示します。この図では、Compute Engine と BigQuery の 2 つの例を使用します。Cloud EKM 鍵をサポートするサービスの一覧もご覧ください。

Cloud EKM による暗号化と復号化を説明する図

Cloud EKM を使用する際の考慮事項制限事項を確認できます。

手動で管理する外部鍵

このセクションでは、手動で管理される外部鍵で Cloud EKM がどのように機能するかの概要を示します。

  1. サポートされる外部鍵管理パートナー システムで既存の鍵を作成または使用します。この鍵には一意の URI または鍵のパスがあります。
  2. 外部の鍵管理パートナー システムで Google Cloud プロジェクトに鍵を使用するためのアクセス権を付与します。
  3. Google Cloud プロジェクトで、外部管理された鍵の URI または鍵パスを使用して Cloud EKM 鍵バージョンを作成します。
  4. 鍵のローテーションなどのメンテナンス オペレーションは、EKM と Cloud EKM の間で手動で管理する必要があります。たとえば、鍵バージョンのローテーションまたは鍵バージョンの破棄オペレーションは、EKM と Cloud KMS の両方で直接完了する必要があります。

その鍵は、Google Cloud 内では、他の Cloud KMS 鍵と Cloud HSM 鍵の横に保護レベル EXTERNAL または EXTERNAL_VPC で表示されます。クラウド EKM 鍵と外部鍵管理パートナー鍵は連携してデータを保護します。外部鍵マテリアルは Google に公開されません。

調整された外部鍵

このセクションでは、Cloud EKM が調整された外部鍵でどのように機能するかの概要を説明します。

  1. VPC 接続を介して EKM を設定し、EKM 管理モードCloud KMS に設定します。設定時に、EKM が VPC ネットワークにアクセスすることを承認し、EKM の暗号空間にアクセスするように Google Cloud プロジェクトのサービス アカウントを承認する必要があります。EKM 接続では、EKM のホスト名と、EKM 内のリソースを識別する暗号空間パスを使用します。

  2. Cloud KMS で外部鍵を作成します。Cloud KMS EKM 管理モードを有効にして VPC 接続経由で EKM を使用して Cloud EKM 鍵を作成すると、次の手順が自動的に行われます。

    1. Cloud EKM が鍵作成リクエストを EKM に送信します。
    2. EKM により、リクエストされた鍵マテリアルが作成されます。この外部鍵マテリアルは EKM に残り、Google に送信されることはありません。
    3. EKM は、Cloud EKM への鍵パスを返します。
    4. Cloud EKM は、EKM によって提供された鍵パスを使用して、Cloud EKM 鍵バージョンを作成します。
  3. 調整された外部鍵のメンテナンス オペレーションは、Cloud KMS から開始できます。たとえば、対称暗号化に使用される調整済みの外部鍵は、設定されたスケジュールで自動的にローテーションできます。新しい鍵バージョンの作成は、EKM で Cloud EKM によって調整されます。Google Cloud コンソール、gcloud CLI、Cloud KMS API、または Cloud KMS クライアント ライブラリを使用して、Cloud KMS から EKM で鍵バージョンの作成または破棄をトリガーすることもできます。

その鍵は、Google Cloud 内では、他の Cloud KMS 鍵と Cloud HSM 鍵の横に保護レベル EXTERNAL_VPC で表示されます。クラウド EKM 鍵と外部鍵管理パートナー鍵は連携してデータを保護します。外部鍵マテリアルは Google に公開されません。

Cloud KMS の EKM 鍵管理

調整済みの外部鍵は、Cloud KMS の EKM 鍵管理を使用する VPC 接続を介して EKM によって可能になります。EKM が Cloud EKM コントロール プレーンをサポートしている場合は、VPC 接続を介して Cloud KMS から EKM 鍵管理を有効にして、調整された外部鍵を作成できます。Cloud KMS の EKM 鍵管理を有効にすると、Cloud EKM は EKM の次の変更をリクエストできます。

  • 鍵を作成する: VPC 接続を介して互換性のある EKM を使用して Cloud KMS で外部管理の鍵を作成すると、Cloud EKM は鍵作成リクエストを EKM に送信します。成功すると、EKM は新しい鍵と鍵マテリアルを作成し、Cloud EKM が鍵へのアクセスに使用する鍵パスを返します。

  • 鍵をローテーションする: VPC 接続を介して互換性のある EKM を使用して Cloud KMS で外部管理の鍵をローテーションすると、Cloud EKM はローテーション リクエストを EKM に送信します。成功すると、EKM は新しい鍵マテリアルを作成し、Cloud EKM が新しい鍵バージョンへのアクセスに使用する鍵パスを返します。

  • 鍵の破棄: Cloud KMS で互換性のある EKM を使用して、Cloud KMS で外部管理された鍵の鍵バージョンを破棄すると、Cloud KMS は Cloud KMS で鍵バージョンの破棄をスケジュールします。破棄がスケジュールされている期間が終了する前に鍵バージョンを復元しない場合、Cloud EKM は鍵の暗号マテリアルの一部を破棄し、破棄リクエストを EKM に送信します。

    この鍵バージョンで暗号化されたデータは、EKM がまだ鍵バージョンを破棄していない場合でも、Cloud KMS で鍵バージョンが破棄された後に復号できません。Cloud KMS で鍵の詳細を表示すると、EKM が鍵バージョンを正常に破棄したかどうかを確認できます。

EKM の鍵が Cloud KMS から管理されている場合、鍵マテリアルは EKM に残ります。Google は明示的な権限なしで EKM に対して鍵管理リクエストを行うことはできません。Google は外部の鍵管理パートナー システムで権限または Key Access Justifications ポリシーを変更できません。EKM で Google の権限を取り消すと、Cloud KMS で試行された鍵管理オペレーションが失敗します。

対応するサービス

サポートされるキーマネージャー

外部鍵は、次の外部鍵管理パートナーシステムに保存できます。

Cloud EKM で CMEK をサポートするサービス

次のサービスでは、外部(Cloud EKM)鍵のための Cloud KMS との統合がサポートされています。

考慮事項

  • Cloud EKM 鍵を使用する場合、Google は外部の鍵管理パートナー システム内の外部管理鍵の在庫をコントロールできません。Google Cloud の外部で管理している鍵を紛失すると、Google はデータを復元できません。

  • Cloud EKM 鍵のロケーションを選択する際は、外部鍵管理のパートナーとリージョンのガイドラインを確認します。

  • Cloud EKM サービスレベル契約(SLA)を確認します。

  • インターネット経由で外部サービスと通信すると、信頼性、可用性、レイテンシに問題が発生する場合があります。こうしたリスクに対する許容度が低いアプリケーションについては、Cloud HSM か Cloud KMS を使用して鍵マテリアルを保存することを検討してください。

    • 外部鍵が使用できない場合、Cloud KMS により FAILED_PRECONDITION エラーが返され、PreconditionFailure エラーの詳細にその内容が入ります。

      データ監査ロギングを有効にして、Cloud EKM に関連するすべてのエラーの記録を保持します。エラー メッセージには、原因の特定に役立つ詳細情報が含まれています。よく発生するエラーの例としては、外部鍵管理パートナーが適切な時間内にリクエストに応答しない場合などがあります。

    • 外部の鍵管理パートナーとのサポート契約が必要になります。 Google Cloud サポートは、Google Cloud サービスの問題のみをサポートし、外部システムの問題を直接サポートすることはできません。相互運用性の問題のトラブルシューティングには、双方からのサポートが必要になる場合があります。

  • Cloud EKM をHosted Private HSM とともに使用して、Cloud KMS と統合されたシングルテナント HSM ソリューションを作成できます。詳細については、単一テナント HSM をサポートする Cloud EKM パートナーを選択し、ホストされているプライベート HSM の要件を確認してください。

制限事項

  • 自動ローテーションはサポートされていません。
  • API または Google Cloud CLI を使用して Cloud EKM 鍵を作成する場合は、初期鍵バージョンを含めないでください。これは、Google Cloud コンソールを使用して作成された Cloud EKM 鍵には適用されません。
  • Cloud EKM オペレーションは、Cloud KMS オペレーションの割り当てに加えて特定の割り当ての対象です。

対称暗号鍵

非対称署名鍵

外部のキー マネージャーとリージョン

クラウド EKM はエラーを回避するために、鍵にすぐにアクセスできる必要があります。Cloud EKM 鍵を作成するときは、外部の鍵管理パートナー鍵のロケーションに地理的に近い Google Cloud のロケーションを選択します。パートナーのロケーションの可用性については、パートナーのドキュメントをご覧ください。

  • インターネット経由での Cloud EKM: global を除く Cloud KMS でサポートされている Google Cloud ロケーションで使用できます。
  • VPC 経由での Cloud EKM: Cloud KMS でサポートされているリージョンのロケーションでのみ使用できます。

外部鍵管理パートナーのドキュメントを参照して、サポートされているロケーションを確認してください。

マルチリージョンでの使用

マルチリージョンで外部管理の鍵を使用する場合、鍵のメタデータはマルチリージョン内の複数のデータセンターで使用できます。このメタデータには、外部鍵管理パートナーとの通信に必要な情報が含まれます。アプリケーションがマルチリージョン内の別のデータセンターにフェイルオーバーすると、新しいデータセンターにより鍵リクエストが開始されます。新しいデータセンターは、以前のデータセンターとはネットワークの特性(外部鍵管理パートナーからの距離やタイムアウトの確率など)が異なる場合があります。選択した外部鍵マネージャーがマルチリージョンのすべての領域で低レイテンシを実現している場合は、Cloud EKM でマルチリージョンのみを使用することをおすすめします。

パートナーが管理する EKM

パートナー管理の EKM を使用すると、信頼できる主権パートナーを通じて EKM システムを管理できます。パートナーは、パートナー管理の EKM を使用して、Cloud EKM で使用する鍵を作成し、管理します。パートナーは、EKM が主権要件を満たしていることを確認します。

主権パートナーとオンボーディングすると、パートナーは Google Cloud と EKM のリソースをプロビジョニングします。これらのリソースには、Cloud EKM 鍵を管理する Cloud KMS プロジェクトと、Cloud KMS からの EKM 鍵管理用に構成された VPC 接続を介した EKM が含まれます。パートナーが、データ所在地の要件に従って Google Cloud の場所にリソースを作成します。

各 Cloud EKM 鍵には Cloud KMS メタデータが含まれており、Cloud EKM はリクエストを EKM に送信して、EKM から離れない外部鍵マテリアルを使用して暗号オペレーションを実行できます。対称 Cloud EKM 鍵には、Google Cloud から離れない Cloud KMS 内部鍵マテリアルも含まれています。Cloud EKM 鍵の内部と外部の詳細については、このページの Cloud EKM の仕組みをご覧ください。

パートナー管理の EKM の詳細については、パートナー管理の Cloud KMS を構成するをご覧ください。

Cloud EKM の使用状況をモニタリングする

Cloud Monitoring を使用して EKM 接続をモニタリングできます。次の指標が EKM の使用状況の把握に役立ちます。

  • cloudkms.googleapis.com/ekm/external/request_latencies
  • cloudkms.googleapis.com/ekm/external/request_count

これらの指標の詳細については、Cloud KMS の指標をご覧ください。これらの指標を追跡するダッシュボードを作成できます。EKM 接続をモニタリングするダッシュボードを設定する方法については、EKM 使用状況のモニタリングをご覧ください。

サポートの利用

Cloud EKM で問題が発生した場合は、サポートにお問い合わせください。

次のステップ