このドキュメントでは、顧客管理の暗号鍵(CMEK)に Cloud Key Management Service(Cloud KMS)を使用する方法の概要について説明します。Cloud KMS CMEK を使用すると、Google Cloud の保存データを保護する鍵の所有権と制御権が得られます。
CMEK と、Google が所有し管理する鍵の比較
作成する Cloud KMS 鍵は、お客様が管理する鍵です。鍵を使用する Google サービスは、CMEK 統合が行われていると言われています。これらの CMEK は直接管理することも、Cloud KMS Autokey(プレビュー)を使用して管理することもできます。次の要因により、Google のデフォルトの保存データの暗号化と顧客管理の鍵を区別します。
鍵の種類 | Autokey でお客様が管理(プレビュー) | お客様が管理(手動) | Google が所有し、Google が管理(Google のデフォルト)。 |
---|---|---|---|
鍵のメタデータを表示できる | ○ | ○ | ○ |
鍵の所有権1 | お客様 | お客様 | |
鍵3の管理と制御2が可能 | 鍵の作成と割り当ては自動化されています。お客様による手動管理は完全にサポートされています。 | お客様、手動管理のみ | |
お客様が管理する鍵の規制要件に対応 | ○ | ○ | × |
鍵の共有 | お客様に固有 | お客様に固有 | 通常、複数のお客様のデータが同じ鍵暗号鍵(KEK)を使用します。 |
鍵のローテーションの管理 | ○ | ○ | いいえ |
CMEK の組織のポリシー | ○ | ○ | × |
暗号鍵への管理とデータアクセスをログに記録する | はい | ○ | × |
料金 | 場合によって異なる - 詳細については、料金をご覧ください。Autokey では追加料金がかかりません(プレビュー) | 場合によって異なる - 詳細については、料金をご覧ください。 | 無料 |
1 法的条項では、鍵の所有者は鍵に対する権利の所有者を示します。お客様が所有する鍵は、アクセスが厳格に制限されているか、Google はアクセス権がありません。
2鍵の管理とは、鍵の種類と鍵の使用方法に対する制御の設定、差異の検出、必要に応じた是正措置の計画を意味します。ユーザーは鍵を制御できますが、鍵の管理は第三者に委任します。
3 鍵の管理には次の機能が含まれます。
- キーの作成。
- 鍵の保護レベルを選択する。
- 鍵を管理する権限を割り当てる。
- 鍵へのアクセスを制御する。
- 鍵の使用を制御する。
- 鍵のローテーション期間を設定および変更したり、鍵のローテーションをトリガーしたりする。
- 鍵のステータスを変更する。
- 鍵バージョンを破棄する。
Google が所有し、管理する鍵を使用したデフォルトの暗号化
Google Cloud に保存されているすべてのデータは、Google が独自の暗号化データに使用しているのと同じ強化鍵管理システムを使用して保存時に暗号化されます。こうした鍵管理システムでは厳密な鍵のアクセス制御と監査が行われ、AES-256 暗号化標準を使用してユーザーの保存データを暗号化します。データの暗号化に使用される鍵は、Google が所有し、管理します。これらの鍵の表示や管理、鍵の使用状況ログの確認はできません。複数のお客様のデータが同じ鍵暗号鍵(KEK)を使用することがあります。設定、構成、管理は必要ありません。
Google Cloud のデフォルトの暗号化の詳細については、デフォルトの保存データの暗号化をご覧ください。
顧客管理の暗号鍵(CMEK)
顧客管理の暗号鍵は、ユーザーが所有する暗号鍵です。この機能を使用すると、サポートされている Google Cloud サービス内で保存データの暗号化に使用する鍵をより細かく制御し、データに暗号境界を設定できます。CMEK は、Cloud KMS で直接管理することも、Cloud KMS Autokey(プレビュー)を使用してプロビジョニングと割り当てを自動化することもできます。
CMEK をサポートするサービスには、CMEK 統合があります。CMEK 統合は、Google のデフォルトの暗号化の代わりに使用できるサーバーサイドの暗号化技術です。CMEK を設定すると、リソースの暗号化と復号のオペレーションはリソース サービス エージェントによって処理されます。CMEK 統合サービスは暗号化されたリソースへのアクセスを処理するため、暗号化と復号はエンドユーザーに手間をかけることなく透過的に行われます。リソースにアクセスする方法は、Google のデフォルトの暗号化を使用する場合と似ています。CMEK 統合の詳細については、CMEK 統合サービスの特長をご覧ください。
それぞれの鍵には、鍵バージョンを無制限で使用できます。
サービスが CMEK 鍵をサポートしているかどうかを確認するには、サポートされているサービスのリストをご覧ください。
Cloud KMS を使用すると、鍵バージョンの数と、それらの鍵バージョンを使用した暗号オペレーションに関連する費用が発生します。料金の詳細については、Cloud Key Management Service の料金をご覧ください。最小限の購入やコミットメントは必要ありません。
Cloud KMS Autokey を使用した顧客管理の暗号鍵(CMEK)
Cloud KMS Autokey は、プロビジョニングと割り当てを自動化することで、CMEK 鍵の作成と管理を簡素化します。Autokey を使用すると、リソース作成の一環としてキーリングと鍵がオンデマンドで生成され、その鍵を暗号化と復号のオペレーションに使用するサービス エージェントには、必要な Identity and Access Management(IAM)ロールが自動的に付与されます。
Autokey によって生成された鍵を使用すると、鍵データのロケーションの調整、鍵の特異性、ハードウェア セキュリティ モジュール(HSM)の保護レベル、鍵のローテーション スケジュール、職掌分散などを含むデータ セキュリティの業界標準と推奨プラクティスに一貫して対応できます。Autokey は、一般的なガイドラインと、Autokey と統合される Google Cloud サービスのリソースタイプに固有のガイドラインの両方に準拠した鍵を作成します。Autokey を使用して作成された鍵は、顧客管理の鍵の規制要件のサポートを含め、同じ設定の他の Cloud HSM(Cloud HSM)鍵と同様に機能します。Autokey の詳細については、Autokey の概要をご覧ください。
顧客管理の鍵を使用するタイミング
手動で作成した CMEK 鍵、または互換性のあるサービスで Autokey によって作成された鍵を使用すると、次の目標を達成できます。
暗号鍵を所有する。
暗号鍵のロケーション、保護レベル、作成、アクセス制御、ローテーション、使用、破棄の選択など、暗号鍵を制御、管理する。
Google Cloud の外部で鍵マテリアルを生成または維持する。
鍵を使用する必要がある場所に関するポリシーを設定する。
オフボーディングが発生した場合や、セキュリティ イベントを修復(クリプト シュレッディング)する場合に、鍵で保護されたデータを選択して削除する。
お客様に固有の鍵を作成して使用し、データの周囲に暗号境界を確立する。
暗号鍵への管理とデータアクセスをログに記録する。
これらの目標のいずれかを必要とする現在または将来の規制に対応できます。
CMEK 統合サービスの特長
Google のデフォルトの暗号化と同様に、CMEK は顧客データのサーバーサイドで対称のエンベロープ暗号化です。Google のデフォルトの暗号化との違いは、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 のデフォルトの暗号化を使用する場合と同様です。
CMEK 用の Autokey の使用
Autokey を使用するフォルダごとに、1 回限りの設定プロセスがあります。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 統合を利用できます。手順は以下のようになると想定されます。
Cloud KMS キーリングを作成するか、既存のキーリングを選択します。キーリングを作成するときは、保護するリソースに地理的に近いロケーションを選択します。キーリングは、保護するリソースと同じプロジェクトに配置することも、別のプロジェクトに配置することもできます。異なるプロジェクトを使用すると、IAM ロールをより細かく制御でき、職掌分散のサポートに有効です。
選択したキーリングに Cloud KMS 鍵を作成またはインポートします。この鍵が CMEK 鍵です。
CMEK 鍵に対する暗号鍵の暗号化 / 復号の IAM ロール(
roles/cloudkms.cryptoKeyEncrypterDecrypter
)をサービスのサービス アカウントに付与します。リソースを作成するときに、CMEK 鍵を使用するようにリソースを構成します。たとえば、CMEK を使用する GKE クラスタを構成して、ノードのブートディスク上の保存データを保護できます。
リクエスト元がデータへのアクセス権を取得する場合、CMEK 鍵への直接アクセスは必要ありません。
サービス エージェントに CyptoKey Encrypter/Decrypter のロールがあれば、サービスはデータを暗号化および復号できます。ロールの取り消しや、CMEK 鍵の無効化や破棄をすると、そのデータにアクセスできなくなります。
CMEK コンプライアンス
一部のサービスでは CMEK 統合を利用でき、ユーザー自身で鍵を管理できます。一部のサービスでは、代わりに CMEK コンプライアンスを提供しています。つまり、一時データとエフェメラル キーはディスクに書き込まれません。統合サービスとコンプライアンスに準拠したサービスの一覧については、CMEK 互換サービスをご覧ください。
鍵の使用状況トラッキング
鍵の使用状況トラッキングには、CMEK 鍵で保護されている組織内の Google Cloud リソースが表示されます。鍵の使用状況トラッキングを使用すると、特定の鍵を使用する保護されたリソース、プロジェクト、固有の Google Cloud プロダクトと、鍵の使用状況を確認できます。鍵の使用状況トラッキングの詳細については、鍵の使用状況を表示するをご覧ください。
CMEK の組織のポリシー
Google Cloud には組織のポリシーの制約が用意されており、組織リソース全体で CMEK の使用が一貫しているようにします。これらの制約により、CMEK の使用を要求する組織管理者を制御し、CMEK の保護に使用される Cloud KMS 鍵に関する次のような制限と制御を指定できます。
CMEK の組織のポリシーの詳細については、CMEK の組織のポリシーをご覧ください。
次のステップ
- CMEK 統合を使用したサービスの一覧をご覧ください。
- CMEK 準拠サービスの一覧をご覧ください。
- 鍵の使用状況トラッキングを使用できるリソースタイプのリストをご覧ください。
- Autokey でサポートされているサービスのリストをご覧ください。