この記事はなに?
- Google Cloud認定資格のProfessional Data Engineerの勉強内容をまとめたものです。
- 一部、筆者の理解不足により誤った内容が書かれている可能性があります。
- 参考にしていただく際は必ず公式リファレンスも併せてご参照ください。
- また、
この内容を覚えれば資格に合格できる
と保証されたものではないことをご了承ください。
Cloud Key Management Service
特徴
- GCP上のサービスはすべてデフォルトで暗号化されている。(Google Internal KMS)
- データを暗号化する鍵を
DEK
(Data Encryption Keys)、DEKを暗号化する鍵をKEK
(Key Encryption Keys)と呼ぶ。 - デフォルトで暗号化されていることもあり、暗号鍵が膨大な数になってしまうため、直接DEKを管理するのではなく、用途ごとのレイヤーに分けた上で、KEKでDEKを管理する仕組みを採用している。
- データを暗号化する鍵を
- 顧客管理鍵(CMEK)による暗号化は、Cloud KMSを利用して鍵を管理する。
- 顧客提供鍵(CSEK)による暗号化は、ユーザー自身が鍵を作成して管理する。
顧客管理鍵(CMEK)
- Cloud KMSを利用して、ユーザーがKEKを管理する手法。
-
Keyring
は、複数のKEKをまとめて管理する機能。- Keyringレベルで認可設定をすることができる。
-
Location
は、KEKを使用する場所の指定をする機能。- Keyringを作成する際に指定する。
- 例えば、GCSでCMEKによる暗号化をする場合、GCSのリージョンがasia-northeast1なら、KeyringのLocationも同じにする必要がある。
-
Key(KEK)
は、DEKを暗号化するための鍵。 -
Version
は、KEKのバージョンを表す。 - 一度作成したKeyringやKeyは削除できない。
- できるのはVersionのみ。
- 24時間以内であればリストアできる。
- KEKは3種類ある。
-
生成した鍵
は、Google側でKEKを生成し、Cloud KMSでユーザーが管理する方式。 -
インポートした鍵
は、KEKをユーザーが生成し、Cloud KMSにインポートして管理する方式。 -
外部で管理する鍵
は、Cloud External Key Managementを使用して、外部の鍵管理パートナーシステム上のKEKを使う方式。(あくまでCloud KMSを使うので、CMEKに含まれる?)
-
顧客提供鍵(CSEK)
- KEKをユーザーが生成して、ユーザーが管理する手法。
- GCS及びGCEで使用できる。
- 保存されるデータをDEKで暗号化し、DEKをCSEKで暗号化する。