環境
ストレージ バケットにシークレットを保存するための GCP の指示に従っています。KMS は、ストレージ バケットにアップロードされる前のファイルの暗号化に使用されます。
データの暗号化は Google のストレージの外で行われるため、鍵のローテーションの 1 つの側面について少し混乱しています。
シナリオ
特定のシナリオを考えてみましょう。
- 2017-01-01に、キーリングとキーを作成します
A
(これは、実際A_ver1
にはキーがバージョン管理されているためです)。また、鍵のローテーション ポリシーは、ローテーションを毎年トリガーするように設定されています。 - 2017-01-15で、次のように暗号化するコマンドを実行しました:
.
some_file.txt
A_ver1
curl -s -X POST "https://cloudkms.googleapis.com/v1/projects/my-project/<...>" \ -d "{\"plaintext\":\"<...SOME_FILE_CONTENT...>\"}" \ -H "Authorization:Bearer $(gcloud auth application-default print-access-token)" \ -H "Content-Type:application/json"
- すぐに暗号化の結果を として Storage Bucket に保存し
some_file.txt.encrypted
ます。 - 私は何もしません.2018-01-01にキーローテーションが発生します。私が理解しているように、
になり、A_ver1
無効A_ver2
生成され、アクティブになります。これらの 2 つのイベントはほぼ同時に発生します。 - 2018-06-01に、暗号化を解除する必要があることに気付きました
some_file.txt.encrypted
。A_ver2
ファイルをダウンロードしてから、 ...を使用してファイルの暗号化を解除するコマンドを実行しようとしています。
質問
質問 1A_ver2
:以前のバージョンで暗号化されたファイルを暗号化解除しようとするとどうなりますA_ver1
か?
質問 2 : 暗号化解除に失敗した場合、それを防ぐためにまず何をすればよいですか?