このページでは、Cloud External Key Manager(Cloud EKM)の概要について説明します。
用語
-
外部鍵マネージャー(EKM)
Google Cloud の外部で使用する鍵マネージャー。
-
Cloud External Key Manager(Cloud EKM)
サポートされている EKM で管理されている外部鍵を使用するための Google Cloud サービス。
-
Google Cloud がインターネット経由で外部鍵マネージャーと通信する任意のバージョンの 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
Cloud EKM で Key Access Justifications を使用すると、外部鍵管理パートナーへの各リクエストに、各リクエストの理由を特定するフィールドが含まれます。提供された 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 Justifications が有効になっている場合、外部鍵管理パートナーは、提供されたアクセス正当性を記録し、外部鍵管理パートナーの Key Access Justifications ポリシーで許可されている正当性理由コードに対してのみリクエストを完了します。Cloud EKM 鍵を作成して管理するには、Cloud KMS と EKM の両方で対応する変更が必要です。 これらの対応する変更は、手動で管理する外部鍵と調整された外部鍵に対して異なる方法で処理されます。インターネット経由でアクセスされるすべての外部キーは手動で管理されます。VPC ネットワーク経由でアクセスされる外部鍵は、EKM 接続の EKM 管理モードに応じて、手動で管理することも、調整することもできます。手動 EKM 管理モードは、手動で管理する鍵に使用されます。Cloud KMS EKM 管理モードは、調整された外部鍵に使用されます。EKM 管理モードの詳細については、このページの手動で管理する外部鍵と調整された外部鍵をご覧ください。
次の図では、鍵管理モデルにおける Cloud KMS の位置づけを示します。この図では、Compute Engine と BigQuery の 2 つの例を使用します。Cloud EKM 鍵をサポートするサービスの一覧もご覧ください。
Cloud EKM を使用する際の考慮事項と制限事項を確認できます。
手動で管理される外部鍵
このセクションでは、Cloud EKM と手動で管理する外部鍵が連携する仕組みの概要を説明します。
- サポートされる外部鍵管理パートナー システムで既存の鍵を作成または使用します。この鍵には一意の URI または鍵のパスがあります。
- 外部の鍵管理パートナー システムで Google Cloud プロジェクトに鍵を使用するためのアクセス権を付与します。
- Google Cloud プロジェクトで、外部管理された鍵の URI または鍵パスを使用して Cloud EKM 鍵バージョンを作成します。
- 鍵のローテーションなどのメンテナンス オペレーションは、EKM と Cloud EKM の間で手動で管理する必要があります。たとえば、鍵バージョンのローテーションや鍵バージョンの破棄オペレーションは、EKM と Cloud KMS の両方で直接完了する必要があります。
Google Cloud内では、その鍵は他の Cloud KMS 鍵と Cloud HSM 鍵の横に保護レベル EXTERNAL または EXTERNAL_VPC で表示されます。クラウド EKM 鍵と外部鍵管理パートナー鍵は連携してデータを保護します。外部鍵マテリアルは Google に公開されません。
調整された外部鍵
このセクションでは、Cloud EKM が調整された外部鍵と連携する仕組みの概要を説明します。
EKM 接続を設定し、EKM 管理モードを Cloud KMS に設定します。設定時に、EKM が VPC ネットワークにアクセスできるように承認し、Google Cloud プロジェクト サービス アカウントが EKM の暗号空間にアクセスできるように承認する必要があります。EKM 接続では、EKM のホスト名と、EKM 内のリソースを識別する暗号空間パスが使用されます。
Cloud KMS で外部鍵を作成します。Cloud KMS EKM 管理モードが有効になっている VPC 接続を介して EKM を使用して Cloud EKM 鍵を作成すると、次の手順が自動的に実行されます。
- Cloud EKM は、鍵作成リクエストを EKM に送信します。
- EKM は、リクエストされた鍵マテリアルを作成します。この外部鍵マテリアルは EKM に残り、Google に送信されることはありません。
- EKM は、Cloud EKM にキーパスを返します。
- Cloud EKM は、EKM から提供された鍵パスを使用して Cloud EKM 鍵バージョンを作成します。
調整された外部鍵のメンテナンス オペレーションは、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 鍵管理を使用する EKM 接続によって実現されます。EKM が Cloud EKM コントロール プレーンをサポートしている場合は、EKM 接続の Cloud KMS から EKM 鍵管理を有効にして、調整された外部鍵を作成できます。Cloud KMS からの EKM 鍵の管理が有効になっている場合、Cloud EKM は EKM で次の変更をリクエストできます。
鍵を作成する: 互換性のある EKM 接続を使用して Cloud KMS で外部管理の鍵を作成すると、Cloud EKM は鍵作成リクエストを EKM に送信します。成功すると、EKM は新しい鍵と鍵マテリアルを作成し、Cloud EKM が鍵にアクセスするために使用する鍵パスを返します。
鍵をローテーションする: 互換性のある EKM 接続を使用して Cloud KMS で外部管理の鍵をローテーションすると、Cloud EKM はローテーション リクエストを EKM に送信します。成功すると、EKM は新しい鍵マテリアルを作成し、Cloud EKM が新しい鍵バージョンにアクセスするために使用する鍵パスを返します。
鍵を破棄する: 互換性のある 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 Justification ポリシーを変更できません。 EKM で Google の権限を取り消すと、Cloud KMS で試行された鍵管理オペレーションは失敗します。
互換性
サポートされるキーマネージャー
外部鍵は、次の外部鍵管理パートナーシステムに保存できます。
Cloud EKM で CMEK をサポートするサービス
次のサービスでは、外部(Cloud EKM)鍵のための Cloud KMS との統合がサポートされています。
- Agent Assist
- Agent Retrieval
- AlloyDB for PostgreSQL
- Apigee API ハブ
- Application Integration
- Artifact Registry
- Backup and DR サービス: Backup Vault コンテナと保存時のバックアップ
- Backup for GKE
- BigQuery
- Bigtable
- Cloud Data Fusion
- Cloud Healthcare API
- Cloud Logging: ログルーターのデータと Logging ストレージのデータ
- Cloud Run
- Cloud Run 関数
- Cloud SQL: データベースに書き込まれたデータ と標準バックアップと拡張バックアップ
- Cloud Storage
- Cloud Tasks
- Cloud Workstations
- Compute Engine: 永続ディスク、 スナップショット、 カスタム イメージ、 およびマシンイメージ
- Customer Experience Insights
- データポータル
- Database Migration Service: MySQL の移行 - データベースに書き込まれたデータ、PostgreSQL の移行 - データベースに書き込まれたデータ、PostgreSQL から AlloyDB への移行 - データベースに書き込まれたデータ、SQL Server の移行 - データベースに書き込まれたデータ、Oracle から PostgreSQL への保存データ
- Dataflow
- Dataform
- Dataproc Metastore
- Datastream
- Dialogflow CX
- Document AI
- Eventarc Advanced (プレビュー)
- Eventarc Standard
- Filestore
- Firestore
- Google Cloud Managed Lustre
- Google Cloud Managed Service for Apache Kafka
- Google Cloud NetApp Volumes
- Google Cloud Observability(プレビュー)
- Google Distributed Cloud
- Google Kubernetes Engine: VM ディスク上のデータとアプリケーション レイヤのシークレット
- Integration Connectors