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 の外部に出ることはありません。この鍵マテリアルは、EKMS との通信時に追加の暗号化レイヤとして使用されます。この内部鍵マテリアルは、非対称署名鍵には適用されません。

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 管理モードに応じて、手動で管理または調整できます。手動 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 ネットワークにアクセスできるように承認し、Google Cloud プロジェクト サービス アカウントが EKM の暗号空間にアクセスできるように承認する必要があります。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 から開始できます。たとえば、対称暗号化に使用される調整された外部鍵は、設定されたスケジュールで自動的にローテーションできます。新しい鍵バージョンの作成は、Cloud EKM によって 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 接続を介して EKM の 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 が新しい鍵バージョンへのアクセスに使用する鍵のパスを返します。

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

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

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 を Bare Metal Rack HSM とともに使用して、Cloud KMS と統合されたシングルテナント HSM ソリューションを作成できます。詳細については、シングル テナント HSM をサポートする Cloud EKM パートナーを選択し、Bare Metal Rack HSM の要件をご覧ください。

  • 外部鍵マネージャーで監査ロギングを有効にして、EKM 鍵へのアクセスと使用状況をキャプチャします。

制限事項

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

対称暗号鍵

非対称署名鍵

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

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

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

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

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

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

パートナーが管理する EKM

パートナー管理 EKM を使用すると、EKM システムを管理する信頼できる政府機関のパートナーを通じて Cloud 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 で問題が発生した場合は、サポートにお問い合わせください。

次のステップ