説明
暗号化キーの同じバージョンを長期間使うと、そのバージョンに依存するデータが増える場合があります。Cloud KMS のローテーション間隔はデータの機密性と組織の方針に基づいて決めるもので、90 日がすべての用途に必須のサービス上限ではありません。
自動ローテーションは、対称 ENCRYPT_DECRYPT キーの新しいプライマリバージョンを作成します。既存データの再暗号化や、古いバージョンの無効化・削除は行いません。非対称キーには別途更新計画が必要です。
想定される影響
- 方針より長い利用期間は、キー管理や監査の要件を満たさない場合があります。
- 必要な古いバージョンを早期に削除すると、既存データを復号できなくなるおそれがあります。
対処方法
組織が定めた間隔を rotation_period に設定し、実際のスケジュールを確認してください。新しいバージョンを使うアプリケーションの動作を試験し、既存データが依存するバージョンは必要な間保持してください。キーへのアクセス、再暗号化、廃棄の手順は別途管理してください。
例
対称暗号化キーの設定例です。プロジェクト、キーリング、認証ファイルを実際の対応する値に置き換えてください。変更前の二つのタスクは代替例であり、同じキーへ続けて実行する手順ではありません。
変更前
yaml
- name: create a crypto key
google.cloud.gcp_kms_crypto_key:
name: test_object
key_ring: projects/{{ gcp_project }}/locations/us-central1/keyRings/key-key-ring
project: test_project
auth_kind: serviceaccount
rotation_period: "315356000s"
service_account_file: "/tmp/auth.pem"
state: present
- name: create a crypto key2
google.cloud.gcp_kms_crypto_key:
name: test_object
key_ring: projects/{{ gcp_project }}/locations/us-central1/keyRings/key-key-ring
project: test_project
auth_kind: serviceaccount
service_account_file: "/tmp/auth.pem"
state: present
最初のタスクは約 10 年の間隔を設定し、二つ目は間隔を明示していません。省略しただけで既存キーのスケジュールが削除されるわけではありません。
変更後
yaml
- name: create a crypto key
google.cloud.gcp_kms_crypto_key:
name: test_object
key_ring: projects/{{ gcp_project }}/locations/us-central1/keyRings/key-key-ring
project: test_project
auth_kind: serviceaccount
rotation_period: 7776000s
service_account_file: /tmp/auth.pem
state: present
7776000s は 90 日です。この例の間隔が組織の方針に合うか確認し、既存データの再暗号化が必要かは別途判断してください。