こんばんんは、小寺です。
KMSキーがより柔軟に自動ローテーションされるようになりました。
https://aws.amazon.com/about-aws/whats-new/2024/04/aws-kms-automatic-key-rotation/
KMSの自動ローテーションとは
AWS KMS は、カスタマーキーではローテーションを有効化すれば、自動ローテーションが1年に1回実行されます。 AWS マネージドキーのキーローテーションを有効化または無効化することはユーザではできなくなっています。
実はこの365日間隔というのは、2022年5月のアップデートです。 2022 年 5 月にAWS KMS は AWS マネージドキー のローテーションスケジュールを 3 年 (約 1,095 日間隔) ごとから毎年 (約 365 日間隔) に変更しています。ということで、元々のローテーション間隔はかなり長かったということですね。
365日より短い頻度でローテーションされたいという方は、手動でーのキーローテーションを利用された方もいらっしゃったかと思います。

アップデート内容
キーのローテーション期間の頻度を 90 日から 7 年 (2560 日) の間でカスタマイズできるようになりました。また、カスタマー KMS キーのオンデマンドでキーのローテーションができるようになりました。
なお、このローテーション期間の柔軟性というのは、お客様の要望を取り入れたアップデートということです。
いきなりまとめです。
- キーローテーション期間が選択できる
- AWS KMS の AWS マネジメントコンソール、AWS コマンドラインインターフェイス (AWS CLI)、または AWS KMS API を使用してオンデマンドローテーションを呼び出すことができる
- ローテーションされたキーの履歴が確認できる
- ローテーションされても上限の価格設定が導入
対称KMS キーのローテーションの方法も運用負荷を考慮して、今回再設計されています。
ローテーションするように構成された keyID は、前バージョンのキーマテリアルを維持しながら、ローテーションされると新しいキー マテリアルを追加します。
新しくなった追加方法では、以前のバージョンのキーを使用した既存のデータを復号化→再暗号化なしでローテーションを実現します。
指定された keyID に基づく新しい暗号化リクエストでは最新のキー バージョンが使用され、その keyID に基づく復号化リクエストには適切なバージョンが使用されます。呼び出し元は、暗号化/復号化に使用するキーのバージョンを管理することなく、AWS KMSに管理をお任せできます。

確認してみる
KMSよりカスタマー管理キーを確認してみます。

「キーローテーション」タグから有効化をしてみます。90日から2,560日まで任意の値が入れられるようになっています。

オンデマンドのキーローテーションも10件と表示がされていたので、試してみます。

「オンデマンドローテーション」の画面で確認用のポップアップが表示されます。10件分対象があるというよりは、「オンデマンドキーローテーションが最大10回できる」という意味のようですね。

「キーをローテーション」をクリックして、無事にローテーションが完了しました。残りの回数が9回で、本アップデートの履歴にも表示されています。

ローテーションのコストについて
KMSキーのローテーションのコストについても今回見直しがされています。でローテーションする KMS キーの場合、キーの 1 回目と 2 回目のローテーションでコストが 1 か月あたり 1 ドル (時間ごとに日割り計算) 追加されます。2回以上のローテーションについての費用請求はなくなっています。
他に気になるコストについて、追記しています。
- ・削除がスケジュールされているカスタマー管理の KMS キーには料金はかかりません。
- ・削除待ちの間に削除をキャンセルした場合、カスタマー管理の KMS キーには、スケジュール前の通りに課金が発生します。
- ・AWS KMS が生成するデータキーまたはデータキーペアには、API 呼び出しの料金以外に月額料金はかかりません。
今日はKMSの機能及びコストダウンのアップデートについてお伝えしました。システム要件によってローテーションが求められていた方にはお待ちかねアップデートですよね。
