顧客管理の暗号鍵(CMEK)

このドキュメントでは、顧客管理の暗号鍵(CMEK)に Cloud Key Management Service(Cloud KMS)を使用する方法の概要について説明します。Cloud KMS の CMEK を使用すると、 の保存データを保護する鍵をお客様自身が所有、コントロールできます。 Google Cloud

CMEK と の比較 Google-owned and Google-managed encryption keys

作成する Cloud KMS 鍵は顧客管理の鍵です。 Google Cloud 鍵を使用する サービスは、CMEK 統合が行われていると言われています。 これらの CMEK は直接管理することも、 Cloud KMS Autokey を使用して管理することもできます。 次の 要素は、 Google Cloud's のデフォルトの保存データの暗号化と 顧客管理の鍵を区別します。

鍵の種類 Cloud KMS Autokey お客様管理の Cloud KMS(手動) Google-owned and Google-managed encryption key (Google のデフォルトの暗号化)

鍵のメタデータを閲覧可能

はい

はい

いいえ

鍵の所有権1

お客様

お客様

Google

鍵の管理2と制御3が可能

鍵の作成と割り当ては自動化されます。お客様による手動制御は完全にサポートされています。

お客様、手動制御のみ

Google

顧客管理の暗号鍵の規制要件をサポート

はい

はい

いいえ

鍵の共有

お客様に固有

お客様に固有

通常、複数のお客様のデータは共有鍵暗号鍵(KEK)で保護されます。

鍵のローテーションの制御

はい

はい

いいえ

CMEK の組織のポリシー

はい

はい

いいえ

暗号鍵への管理とデータアクセスをログに記録する

はい

はい

いいえ

暗号化による論理データ分離

はい

はい

×

料金

可変

可変

無料

1 鍵の所有者は鍵に対する権利の所有者を示します。お客様が所有する鍵は、アクセスが厳格に制限されているか、Google はこれにアクセスできません。

2 鍵の管理には次のタスクが含まれます。

  • 鍵を作成する。
  • 鍵の保護レベルを選択する。
  • 鍵を管理する権限を割り当てる。
  • 鍵へのアクセスを制御する。
  • 鍵の使用を制御する。
  • 鍵のローテーション期間を設定および変更したり、鍵のローテーションをトリガーしたりする。
  • 鍵のステータスを変更する。
  • 鍵バージョンを破棄する。
  • 鍵バージョン、鍵、キーリングを削除する。

3 鍵の制御とは、鍵の種類と鍵の使用方法に対する制御の設定、差異の検出、必要に応じた是正措置の計画を意味します。ユーザーは鍵を制御できますが、鍵の管理は第三者に委任します。

でのデフォルトの暗号化 Google-owned and Google-managed encryption keys

Google Cloud に保存されているすべてのデータは、 Google Cloud が独自の 暗号化データに使用しているのと同じ 強化鍵管理システムを使用して保存時に暗号化されます。こうした鍵管理システムでは厳密な鍵のアクセス制御 と監査が行われ、AES-256 暗号化 標準を使用してユーザーの保存データを暗号化します。 Google Cloud は、データの暗号化に使用する鍵を所有して管理します。これらの鍵の表示や管理、鍵の使用状況ログの確認はできません。複数のお客様のデータが同じ鍵暗号鍵(KEK)を使用することがあります。設定、構成、管理は必要ありません。

でのデフォルトの暗号化の詳細については、 Google Cloud デフォルトの保存データの暗号化をご覧ください。

顧客管理の暗号鍵(CMEK)

顧客管理の暗号鍵は、お客様が所有する暗号鍵です。この 機能を使用すると、サポートされている Google Cloud サービス内で保存データの暗号化に使用する鍵をより細かく制御し、データに 暗号境界を設定できます。 CMEK は、Cloud KMS で直接管理することも、 Cloud KMS Autokey を使用してプロビジョニング と割り当てを自動化することもできます。

CMEK をサポートするサービスには、CMEK 統合があります。 CMEK 統合は、 のデフォルトの暗号化の代わりに使用できる Google Cloudサーバーサイドの暗号化技術です。CMEK の設定が完了すると、リソースの暗号化と復号のオペレーションはリソース サービス エージェントによって処理されます。CMEK 統合サービスは暗号化されたリソースへのアクセスを処理するため、暗号化と復号はエンドユーザーに手間をかけることなく透過的に行われます。リソースにアクセスする方法は、 Google Cloudのデフォルト の暗号化を使用する場合と似ています。CMEK 統合の詳細については、 CMEK 統合サービスの特長をご覧ください。

それぞれの鍵には、鍵バージョンを無制限で使用できます。

サービスが CMEK をサポートしているかどうかを確認するには、 サポートされているサービスの一覧をご覧ください。

Cloud KMS を使用すると、鍵バージョンの数と、それらの鍵バージョンを使用した暗号オペレーションに関連する費用が発生します。 料金の詳細については、Cloud Key Management Service の料金をご覧ください。最小購入または確約は必要ありません。

Cloud KMS Autokey を使用した顧客管理の暗号鍵(CMEK)

Cloud KMS Autokey は、プロビジョニングと割り当てを自動化することで、CMEK の作成と管理を簡素化します。Autokey を使用すると、リソース作成の一環としてキーリングと鍵がオンデマンドで生成され、その鍵を暗号化と復号のオペレーションに使用するサービス エージェントには、必要な Identity and Access Management(IAM)ロールが自動的に付与されます。Autokey を使用する方が鍵を自分でプロビジョニングするよりも簡単です。Autokey で作成された鍵がすべての要件を満たしている場合は、Autokey を使用することをおすすめします。

Autokey によって生成された鍵を使用すると、鍵データのロケーションの調整、鍵の特異性、マルチテナント ハードウェア(HSM)の保護レベル、鍵のローテーション スケジュール、職掌分散などを含むデータ セキュリティの業界標準と推奨プラクティスに一貫して対応できます。 Autokey は、一般的なガイドラインと Autokey と統合される Google Cloud サービスのリソースタイプに固有のガイドラインの両方に準拠した鍵を作成します。Autokey を使用して作成された鍵は、顧客管理の鍵の規制要件のサポートを含め、同じ設定の他の Cloud HSM 鍵と同様に機能します。Autokey の詳細については、 Autokey の概要をご覧ください。

顧客管理の暗号鍵を使用するタイミング

互換性のあるサービスで、手動で作成した CMEK または Autokey で作成した鍵を使用して、次の目標を達成できます。

  • 暗号鍵を所有する。

  • ロケーション、保護レベル、作成、アクセス制御、ローテーション、使用、破棄の選択など、暗号鍵を制御、管理する。

  • Cloud KMS で鍵マテリアルを生成するか、 の外部で管理されている鍵マテリアルをインポートします Google Cloud。

  • 鍵を使用する必要がある場所に関するポリシーを設定する。

  • オフボーディングが発生した場合や、セキュリティ イベントを修復(クリプト シュレッディング)する場合に、鍵で保護されたデータを選択して削除します。

  • お客様に固有の鍵を作成して使用し、データの周囲に暗号境界を確立します。

  • 暗号鍵への管理とデータアクセスをログに記録する。

  • これらの目標のいずれかを必要とする現在または将来の規制に対応できます。

CMEK 統合サービスの特長

Google Cloudのデフォルトの暗号化と同様に、CMEK は顧客データのサーバーサイドで対称の エンベロープ暗号化です。 Google Cloudのデフォルトの暗号化との違いは、CMEK 保護ではお客様が管理する鍵が使用されるということです。 手動または Autokey を使用して自動で作成された CMEK 鍵は、サービス統合中でも同じように動作します。

  • CMEK 統合があるクラウド サービスでは、 Cloud KMS で作成した鍵を使用してリソースを保護します。

  • Cloud KMS と統合されたサービスでは、対称暗号化が使用されます。

  • 鍵の保護レベルを選択します。

  • すべての鍵は 256 ビットの AES-GCM です。

  • 鍵マテリアルが Cloud KMS システム境界の外部に出ることはありません。

  • 対称鍵は、エンベロープ暗号化モデルで暗号化と復号に使用されます。

CMEK 統合サービスは鍵とリソースを追跡する

  • CMEK で保護されたリソースには、暗号化する鍵の名前を保持するメタデータ フィールドがあります。通常、これはリソース メタデータで顧客が確認できます。

  • 鍵のトラッキングでは、鍵のトラッキングをサポートする サービスの場合、鍵が保護するリソースを確認できます。

  • 鍵はプロジェクトごとに一覧表示できます

CMEK 統合サービスによるリソース アクセスの処理

CMEK 統合サービスでリソースを作成または表示するプリンシパルには、リソースの保護に使用される CMEK 用の Cloud KMS CryptoKey の暗号化 / 復号roles/cloudkms.cryptoKeyEncrypterDecrypter)は必要ありません。

各プロジェクト リソースには、サービス エージェントという特別なサービス アカウントがあり、これは顧客管理の鍵で暗号化と復号を行います。サービス エージェントに CMEK へのアクセス権を付与すると、そのサービス エージェントはその鍵を使用して、選択したリソースを保護します。

リクエスト元が顧客管理の鍵で暗号化されたリソースにアクセスする必要がある場合、サービス エージェントは自動的にリクエストされたリソースの復号を試みます。サービス エージェントに鍵を使用して復号する権限があり、鍵を無効または破棄していない場合、サービス エージェントは鍵の暗号化と復号の使用を提供します。それ以外の場合、リクエストは失敗します。

リクエスト元の追加のアクセス権は必要ありません。また、サービス エージェントがバックグラウンドで 暗号化と復号を処理するため、 リソースへのアクセスのユーザー エクスペリエンスは Google Cloud's のデフォルトの暗号化を使用する場合と同様です。

CMEK 用の Autokey の使用

Autokey を使用するフォルダまたはプロジェクトごとに、1 回限りの設定プロセスがあります。Autokey は、フォルダで 専用プロジェクトの鍵ストレージ(以前は集中型鍵 管理と呼ばれていました)または個々のプロジェクトで同じプロジェクトの鍵ストレージ(以前は as 委任された鍵管理と呼ばれていました)またはフォルダ内のすべてのプロジェクトで 有効にできます。専用プロジェクトの鍵ストレージを使用する場合は、Autokey がフォルダに作成されたリソースの鍵を作成する単一の鍵プロジェクトを指定します。同じプロジェクトの鍵ストレージを使用する場合、Autokey は保護対象のリソースと同じプロジェクトに鍵を作成します。Autokey を有効にする方法については、Cloud KMS Autokey を有効にするをご覧ください。

CMEK を手動で作成する場合とは異なり、Autokey では次の設定手順は必要ありません。

  • 鍵管理者は、キーリングや鍵を手動で作成したり、データの暗号化と復号を行うサービス エージェントに権限を割り当てたりする必要はありません。Cloud KMS サービス エージェントがこれらのアクションを代行します。

  • デベロッパーは、リソースの作成前に事前に鍵をリクエストする計画を立てる必要はありません。必要に応じて Autokey から鍵自体をリクエストできますが、 職掌分散を引き続き維持できます。

Autokey を使用する場合の手順は 1 つのみで、デベロッパーはリソース作成の一環として鍵をリクエストするだけです。返される鍵は、目的のリソースタイプで一貫しています。

Autokey で作成した CMEK は、次の機能で手動で作成した鍵と同じように動作します。

  • CMEK 統合サービスは同じように動作します。

  • 鍵管理者は、Cloud KMS ダッシュボードと鍵の使用状況トラッキングを使用して、作成および使用されたすべての鍵を引き続きモニタリングできます。

  • 組織のポリシーは、手動で作成した CMEK と同様に Autokey で機能します。

Autokey の概要については、Autokey の概要をご覧ください。Autokey を使用して CMEK で保護されたリソースを作成する方法について詳しくは、Cloud KMS Autokey を使用して保護されたリソースを作成するをご覧ください。

手動で CMEK の作成

CMEK を手動で作成する場合は、保護されたリソースを作成する前に、キーリング、鍵、リソースのロケーションを計画して作成する必要があります。 その後、鍵を使用してリソースを保護できます。

CMEK を有効にする具体的な手順については、関連する Google Cloud サービスのドキュメントをご覧ください。GKE などの一部のサービスでは、サービスに関連するさまざまな種類のデータを保護するために、複数の CMEK 統合を利用できます。手順は以下のようになると想定されます。

  1. Cloud KMS キーリングを作成するか、既存のキーリングを選択します。キーリングを作成するときは、保護するリソースから地理的に近いロケーションを選択します。キーリングは、保護するリソースと同じプロジェクトに配置することも、別のプロジェクトに配置することもできます。異なるプロジェクトを使用すると、IAM ロールをより細かく制御でき、職掌分散のサポートに有効です。

  2. 選択したキーリングに Cloud KMS 鍵を作成またはインポートします。この鍵が CMEK です。

  3. CMEK に対する暗号鍵の暗号化/復号の IAM ロールroles/cloudkms.cryptoKeyEncrypterDecrypter)をサービスのサービス アカウントに付与します。

  4. リソースを作成するときに、CMEK を使用するようにリソースを構成します。たとえば、BigQuery テーブルを構成して、テーブル内の保存データを保護できます

リクエスト元がデータへのアクセス権を取得する場合、CMEK への直接アクセスは必要ありません。

サービス エージェントに CyptoKey Encrypter/Decrypter のロールがあれば、サービスはデータを暗号化および復号できます。ロールの取り消しや、CMEK の無効化や破棄をすると、そのデータにアクセスできなくなります。

CMEK コンプライアンス

一部のサービスでは CMEK 統合を利用でき、ユーザー自身で鍵を管理できます。一部のサービスでは、代わりに CMEK コンプライアンスを提供しています。つまり、一時データとエフェメラル キーはディスクに書き込まれません。統合サービスと準拠したサービスの一覧については、CMEK 互換サービスをご覧ください。

鍵の使用状況トラッキング

鍵の使用状況トラッキングには、CMEK で保護されている組織内の Google Cloud リソースが表示されます。鍵の使用状況トラッキングを使用すると、特定の鍵を使用する保護されたリソース、プロジェクト、固有の Google Cloud プロダクト と、鍵の使用状況を確認できます。鍵の使用状況トラッキングの詳細については、鍵の使用状況を表示する をご覧ください。

CMEK の組織のポリシー

Google Cloud には組織のポリシーの制約が用意されており、組織リソース全体で CMEK の使用が一貫しているようにします。これらの制約により、CMEK の使用状況を 要求する組織管理者を 制御し、CMEK の保護に使用される Cloud KMS 鍵に関する 次のような制限と制御を指定できます。

次のステップ