翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ローテーション AWS KMS keys
カスタマーマネージドキーの新しい暗号化マテリアルを作成するには、新しい KMS キーを作成し、アプリケーションまたはエイリアスを変更して新しい KMS キーを使用します。または、自動キーローテーションを有効にするか、オンデマンドローテーションを実行することで、既存の KMS キーに関連付けられたキーマテリアルをローテーションすることもできます。
デフォルトでは、KMS キーの自動キーローテーションを有効にすると、 は毎年 KMS キーの新しい暗号化マテリアル AWS KMS を生成します。カスタム を指定rotation-periodして、キーマテリアルを AWS KMS ローテーションする自動キーローテーションを有効にしてからの日数と、それ以降の各自動ローテーション間の日数を定義することもできます。キーマテリアルローテーションをすぐに開始する必要がある場合は、自動キーローテーションが有効化されているかどうかにかかわらず、オンデマンドローテーションを実行できます。オンデマンドローテーションは、既存の自動ローテーションスケジュールには影響を与えません。
AWS KMS は、暗号化マテリアルの以前のバージョンをすべて永続的に保存するため、その KMS キーで暗号化されたデータを復号できます。 AWS KMS は、KMS キーを削除するまでローテーションされたキーマテリアルを削除しません。Amazon CloudWatch および AWS Key Management Service コンソールで AWS CloudTrail、KMS キーのキーマテリアルのローテーションを追跡できます。GetKeyRotationStatus オペレーションを使用して、特定の KMS キーの自動ローテーションが有効になっているかどうかを確認したり、進行中のオンデマンドローテーションの状況をチェックすることができます。ListKeyRotations オペレーションを使用して、実施済みのローテーションの詳細を確認できます。
ローテーションされた KMS キーを使用してデータを暗号化すると、 は現在のキーマテリアル AWS KMS を使用します。ローテーションされた KMS キーを使用して暗号文を復号する場合、 は暗号化に使用されたキーマテリアルのバージョン AWS KMS を使用します。復号オペレーションでは、特定のバージョンのキーマテリアルを選択することはできません。 によって自動的に正しいバージョン AWS KMS が選択されます。は適切なキーマテリアルで AWS KMS 透過的に復号するため、ローテーションされた KMS キーは、コードを変更 AWS のサービス せずにアプリケーション内で安全に使用できます。
ただし、自動キーローテーションは、KMS キーで保護されるデータには効果がありません。自動ローテーションは KMS キーが生成したデータキーのローテーションや KMS キーで保護されたデータの再暗号化を実行せず、漏洩したデータキーの影響を軽減しません。
AWS KMS は、 が AWS KMS 作成するキーマテリアルを持つ対称暗号化 KMS キーに対してのみ、自動キーローテーションとオンデマンドキーローテーションをサポートします。カスタマーマネージド KMS キーでは、自動ローテーションはオプションです。 AWS KMS は常にAWS 、マネージド KMS キーのキーマテリアルを毎年ローテーションします。AWS 所有 KMS キーのローテーションは、キーを所有する AWS サービスによって管理されます。
注記
のローテーション期間は 2022 年 5 月 AWS マネージドキー に変更されました。詳細については、「AWS マネージドキー」を参照してください。
キーローテーションは、暗号化操作で使用される暗号化シークレットであるキーマテリアルのみを変更します。KMS キーは、そのキーマテリアルの変更の有無や回数に関わらず、同じ論理リソースのままです。次のイメージに示されているように、KMS キーのプロパティは変更されまません。

新しい KMS キーを作成し、元の KMS キーの代わりに使用することを決定することができます。これには、既存の KMS キーでキーマテリアルをローテーションするのと同じ効果があり、多くの場合、手動キーローテーションを使用します。手動ローテーションは、非対称 KMS キー、HMAC KMS キー、カスタムキーストア内の KMS キー、および インポートされたキーマテリアル を持つ KMS キーなど、自動キーローテーションの対象にならないタイプの KMS キーをローテーションしたい場合に便利な機能です。
キーローテーションと料金
AWS KMS は、KMS キー用に維持されるキーマテリアルの初回および 2 回目のローテーションに対して月額料金を請求します。この追加課金は 2 回目のローテーションで上限となり、それ以降のローテーションには課金されません。詳細については、「AWS Key Management Service の料金表
注記
AWS Cost Explorer Service を使用して、キーストレージ料金の内訳を表示できます。例えば、[使用タイプ] に $REGION-KMS-Keys
を指定し、データを [API オペレーション] でグループ化することによって、ビューをフィルターし、現在のローテションされた KMS キーとして課金されたキーの合計料金を表示できます。
過去の期間のレガシー Unknown
API オペレーションのインスタンスが引き続き表示される場合があります。
キーローテーションとクォータ
各 KMS キーは、キーリソースのクォータを計算するときに、ローテーションされたキーマテリアルのバージョン数に関係なく、1 つのキーとしてカウントされます。
キーマテリアルとローテーションの詳細については、AWS Key Management Service 暗号化の詳細を参照してください。
トピック
KMS キーをローテーションする理由
暗号化のベストプラクティスでは、 が AWS KMS 生成するデータキーなど、データを直接暗号化するキーの広範な再利用を推奨していません。256 ビットデータキーが数百万のメッセージを暗号化すると、キーが枯渇し、微小なパターンを含む暗号文を生成し始める可能性があり、ずる賢い人物が悪用して、キーの中のビットが発見される可能性があります。このキーの枯渇を回避するには、データキーを 1 回または数回だけ使用することをお勧めします。こうすることによって、キーマテリアルが効果的にローテーションされます。
ただし、KMS キーは、ラップキー (キー暗号化キーとも呼ばれます) として最もよく使用されます。データを暗号化する代わりに、ラップキーはデータを暗号化するデータキーを暗号化します。そのため、これらはデータキーよりもはるかに使用頻度が低く、キーが枯渇するほど多数回再利用されることはほとんどありません。
このように枯渇するリスクは極めて低いものの、ビジネスルールや契約、政府の規制により、KMS キーのローテーションが必要になる場合があります。KMS キーをローテーションせざるを得ない場合は、自動キーローテーション (これがサポートされている場合) または手動キーローテーション (自動キーローテーションがサポートされていない場合) を使用することをお勧めします。
キーマテリアルローテーション機能をテストするため、またはオートメーションスクリプトを検証するために、オンデマンドローテーションの実行を検討するのもよいでしょう。計画外のローテーションにはオンデマンドローテーションを使用し、それ以外では可能な限りカスタムローテーション期間に基づいた自動キーローテーションを実施することをお勧めします。
キーローテーションの仕組み
のキーローテーション AWS KMS は、透過的で使いやすいように設計されています。 は、カスタマーマネージドキーに対してのみ、オプションの自動キーローテーションとオンデマンドキーローテーション AWS KMS をサポートします。
- 自動キーローテーション
-
AWS KMS は、ローテーション期間で定義された次のローテーション日に KMS キーを自動的にローテーションします。更新を覚えている、またはスケジュールする必要はありません。
- オンデマンドローテーション
-
自動キーローテーションが有効化されているかどうかにかかわらず、KMS キーに関連付けられたキーマテリアルのローテーションを直ちに開始します。
- キーマテリアルの管理
-
AWS KMS は、キーローテーションが無効になっている場合でも、KMS キーのすべてのキーマテリアルを保持します。 は、KMS キーを削除した場合にのみキーマテリアル AWS KMS を削除します。
- キーマテリアルの使用
-
ローテーションされた KMS キーを使用してデータを暗号化すると、 は現在のキーマテリアル AWS KMS を使用します。暗号文の復号にローテーションされた KMS キーを使用する場合、 AWS KMS は暗号化に使用したものと同じバージョンのキーマテリアルを使用します。復号オペレーションでは、特定のバージョンのキーマテリアルを選択することはできません。 によって自動的に正しいバージョン AWS KMS が選択されます。
- ローテーション期間
-
ローテーション期間は、キーマテリアルを AWS KMS ローテーションする自動キーローテーションを有効にしてからの日数と、それ以降の各自動キーローテーション間の日数を定義します。自動キーローテーションを有効化したときに
RotationPeriodInDays
の値を指定しない場合、デフォルト値は 365 日となります。kms:RotationPeriodInDays 条件キーを使用して、プリンシパルが
RotationPeriodInDays
パラメータに指定できる値を制限することができます。 - ローテーション日
-
AWS KMS は、ローテーション期間によって定義されたローテーション日に KMS キーを自動的にローテーションします。デフォルトのローテーション期間は 365 日です。
- カスタマーマネージドキー
-
自動キーローテーションは、カスタマーマネージドキーではオプションであり、いつでも有効化および無効化できるため、ローテーション日は、ローテーションの最終有効化日によって異なります。自動キーローテーションを有効化にした後にキーのローテーション期間を変更すると、ローテーション日が変わる可能性があります。ローテーション日は、キーの有効期間にわたって何度も変更できます。
たとえば、2022 年 1 月 1 日にカスタマーマネージドキーを作成した後、2022 年 3 月 15 日にローテーション期間をデフォルトの 365 日に設定して自動キーローテーションを有効化すると、 AWS KMS は、まず 2023 年 3 月 15 日、その次は 2024 年 3 月 15 日、以降 365 日ごとにキーマテリアルをローテーションします。
以下の各例ではいずれも、キーの自動ローテーションが有効で、ローテーション期間がデフォルトの 365 日に設定されていることを前提にしています。これらの例は、キーのローテーション期間に影響を与える可能性のある特別なケースを示しています。
-
キーローテーションの無効化 — 任意の時点で自動キーローテーションを無効にすると、KMS キーは、ローテーションが無効になったときに使用していたバージョンのキーマテリアルを使用し続けます。自動キーローテーションを再度有効にすると、 は新しいローテーションが有効な日付に基づいてキーマテリアルを AWS KMS ローテーションします。
-
無効 KMS キー — KMS キーが無効になっている間は、ローテーション AWS KMS されません。ただし、キーローテーションのステータスは変更されず、KMS キーが無効の間は変更することができません。KMS キーが再び有効になると、キーマテリアルが最後にスケジュールされたローテーション日 を過ぎている場合、 はそれをすぐに AWS KMS ローテーションします。キーマテリアルが最後にスケジュールされたローテーション日を過ぎていない場合、 は元のキーローテーションスケジュール AWS KMS を再開します。
-
削除保留中の KMS キー — KMS キーが削除保留中の間は、ローテーション AWS KMS されません。キーローテーションのステータスは
false
に設定されています。削除が保留中の場合は変更することができません。削除をキャンセルすると、以前のキーローテーションのステータスが元に戻ります。キーマテリアルが最後にスケジュールされたローテーション日を過ぎている場合、 はそれをすぐに AWS KMS ローテーションします。キーマテリアルが最後にスケジュールされたローテーション日を過ぎていない場合、 は元のキーローテーションスケジュール AWS KMS を再開します。
-
- AWS マネージドキー
-
AWS KMS は AWS マネージドキー 毎年 (約 365 日) 自動的にローテーションします。AWS マネージドキーのキーローテーションを有効化または無効化することはできません。
のキーマテリアル AWS マネージドキー は、最初に作成日から 1 年後にローテーションされ、その後は毎年 (最後のローテーションから約 365 日) ローテーションされます。
注記
2022 年 5 月に、 のローテーションスケジュールを 3 年ごと (約 1,095 日) AWS マネージドキー から毎年 (約 365 日) AWS KMS に変更しました。
新しい AWS マネージドキー は、作成されてから 1 年後に自動的にローテーションされ、その後はほぼ毎年ローテーションされます。
既存の AWS マネージドキー は、最新のローテーションから 1 年後に自動的にローテーションされ、その後は毎年ローテーションされます。
- AWS 所有のキー
-
AWS 所有のキーのキーローテーションを有効化または無効化することはできません。のキーローテーション戦略 AWS 所有のキー は、 がキーを作成および管理する AWS サービスによって決まります。詳細については、サービスのユーザーガイドまたはデベロッパーガイドの「保管時の暗号化 」トピックを参照してください。
- サポートされる KMS キータイプ
-
自動キーローテーションがサポートされるのは、 AWS KMS が生成するキーマテリアルを持つ対称暗号化 KMS キー (オリジン = AWS_KMS) のみです。
自動キーローテーションは、次のタイプの KMS キーではサポートされませんが、これらの KMS キーは手動でローテーションできます。
-
カスタムキーストアの KMS キー
-
インポートされたキーマテリアルを持つ KMS キー
- マルチリージョンキーのローテーション
-
対称暗号化マルチリージョンキーのキーマテリアルの自動ローテーションを有効化または無効化したり、オンデマンドローテーションを実行することができます キーローテーションは、マルチリージョンキーの共有プロパティです。
自動キーローテーションはプライマリキーでのみ、有効または無効にできます。オンデマンドローテーションは、プライマリキーでのみ開始できます。
-
がマルチリージョンキーを AWS KMS 同期すると、キーローテーションプロパティ設定がプライマリキーから関連するすべてのレプリカキーにコピーされます。
-
がキーマテリアルを AWS KMS ローテーションすると、プライマリキーの新しいキーマテリアルが作成され、リージョンの境界を越えて関連するすべてのレプリカキーに新しいキーマテリアルがコピーされます。キーマテリアルが暗号化 AWS KMS されていないままになることはありません。このステップは、暗号化オペレーションでキーが使用される前にキーマテリアルが完全に同期されるよう、慎重に制御されます。
-
AWS KMS は、キーマテリアルがプライマリキーとそのすべてのレプリカキーで使用可能になるまで、新しいキーマテリアルでデータを暗号化しません。
-
ローテーションされたプライマリキーをレプリケートすると、新しいレプリカキーに、現在のキーマテリアルと関連するマルチリージョンキーのキーマテリアルの以前のすべてのバージョンが含まれます。
このパターンにより、関連するマルチリージョンキーが完全に相互運用可能であることが保証されます。すべてのマルチリージョンキーは、キーが作成される前に暗号化テキストが暗号化されていても、関連するマルチリージョンキーによって暗号化された暗号化テキストを復号できます。
-
- AWS サービス
-
AWS サービスのサーバー側の暗号化に使用するカスタマーマネージドキーで、自動キーローテーションを有効にできます。年間ローテーションは透過的で、 AWS のサービスと互換性があります。
- キーローテーションのモニタリング
-
が AWS マネージドキーまたはカスタマーマネージドキーのキーマテリアルを AWS KMS ローテーションすると、Amazon EventBridge に
KMS CMK Rotation
イベントを書き込み、RotateKey イベントをログに書き込みます AWS CloudTrail 。これらのレコードを使用して、KMS キーがローテーションされたことを確認できます。AWS Key Management Service コンソールを使用して、KMS キーの残りのオンデマンドローテーションの数と、完了したすべてのキーマテリアルローテーションのリストを表示できます。
ListKeyRotations オペレーションを使用して、実施済みのローテーションの詳細を確認できます。
- 結果整合性
-
キーローテーションは、他の AWS KMS 管理オペレーションと同様に、結果整合性の影響下にあります。新しいキーマテリアルが AWS KMS全体で使用可能になるまで、若干の遅延が生じることがあります。ただし、キーマテリアルのローテーションにより、暗号化オペレーションが中断または遅延することはありません。新しいキーマテリアルが AWS KMS全体で使用可能になるまで、現在のキーマテリアルが暗号化オペレーションで使用されます。マルチリージョンキーのキーマテリアルが自動的にローテーションされると、 は、関連するマルチリージョンキーを持つすべてのリージョンで新しいキーマテリアルが使用可能になるまで、現在のキーマテリアル AWS KMS を使用します。