説明
暗号鍵を長期間使うと、一つのキーバージョンに依存するデータが増える場合があります。Cloud KMS の対称暗号鍵には必要な間隔で自動ローテーションを設定してください。更新で新しいプライマリバージョンが作成されますが、既存データの再暗号化や旧バージョンの無効化は自動では行われません。
想定される影響
- キーバージョンが漏えいすると、そのバージョンで暗号化したデータに影響するおそれがあります。
- 更新だけで侵害されたキーの利用が止まったと判断すると、必要な対応を見落とす場合があります。
対処方法
- 暗号鍵の管理方針に合わせて rotation_period を設定してください。90日が必要なら 7776000s を使用し、非対称キーには別の更新手順を用意してください。
- 旧バージョンの利用状況と再暗号化の必要性を確認してください。キーが侵害された場合はアクセスを制限し、必要なバージョンを無効化してください。その前に復旧と既存データの復号への影響を確認してください。
例
同じキーの更新間隔を比較する抜粋です。100000s は例示値であり、すべての環境に推奨する間隔ではありません。
変更前
hcl
resource "google_kms_crypto_key" "crypto_key" {
name = "crypto-key-example"
key_ring = google_kms_key_ring.keyring.id
rotation_period = "77760009s"
lifecycle {
prevent_destroy = true
}
}
変更後
hcl
resource "google_kms_crypto_key" "crypto_key" {
name = "crypto-key-example"
key_ring = google_kms_key_ring.keyring.id
rotation_period = "100000s"
lifecycle {
prevent_destroy = true
}
}
補足:
- 変更前: 長い更新間隔を設定しています。実際の方針とデータ利用量に適しているか確認が必要です。
- 変更後: 短い間隔を設定しています。この変更だけでは既存データや旧キーバージョンは処理されません。