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

新しい KMS キーを作成し、元の KMS キーの代わりに使用することを決定することができます。これには、既存の KMS キーでキーマテリアルをローテーションするのと同じ効果があり、多くの場合、手動キーローテーションを使用します。手動ローテーションは、非対称 KMS キー、HMAC KMS キー、カスタムキーストアの KMS キー、インポートされたキーマテリアルを持つマルチリージョン KMS キーなど、自動キーローテーションまたはオンデマンドキーローテーションの対象ではない KMS キーをローテーションする場合に適しています。 の HMAC キー AWS KMS AWS 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 キーを自動的にローテーションします。更新を覚えている、またはスケジュールする必要はありません。
自動キーローテーションは、 (
AWS_KMS
オリジン) AWS KMS を生成するキーマテリアルを持つ対称暗号化 KMS キーでのみサポートされます。カスタマーマネージド KMS キーでは、自動ローテーションはオプションです。 AWS KMS は常に AWS 、マネージド KMS キーのキーマテリアルを毎年ローテーションします。 AWS 所有の KMS キーのローテーションは、キーを所有 AWS のサービス する によって管理されます。
- オンデマンドローテーション
-
自動キーローテーションが有効化されているかどうかにかかわらず、KMS キーに関連付けられたキーマテリアルのローテーションを直ちに開始します。
オンデマンドキーローテーションは、 (
AWS_KMS
オリジン) AWS KMS を生成するキーマテリアルを持つ対称暗号化 KMS キーと、インポートされたキーマテリアル (EXTERNAL
オリジン) を持つ単一リージョンの対称暗号化 KMS キーでサポートされています。 - 手動ローテーション
-
次のタイプの KMS キーでは、自動キーローテーションもオンデマンドキーローテーションもサポートされていませんが、これらの KMS キーは手動でローテーションできます。
- キーマテリアルの管理
-
AWS KMS は、キーローテーションが無効になっている場合でも、
AWS_KMS
オリジンを持つ KMS キーのすべてのキーマテリアルを保持します。 は、KMS キーを削除した場合にのみキーマテリアル AWS KMS を削除します。オ
EXTERNAL
リジンを持つ対称暗号化キーのキーマテリアルを管理します。DeleteImportedKeyMaterial オペレーションを使用して任意のキーマテリアルを削除するか、マテリアルをインポートするときに有効期限を設定できます。KMS キーは、マテリアルの有効期限が切れるか削除されるとすぐに使用できなくなります。 - キーマテリアルの使用
-
ローテーションされた KMS キーを使用してデータを暗号化する場合、 は現在のキーマテリアル AWS KMS を使用します。暗号文の復号にローテーションされた KMS キーを使用する場合、 AWS KMS は暗号化に使用したものと同じバージョンのキーマテリアルを使用します。復号オペレーションに特定のバージョンのキーマテリアルを選択することはできません。 は正しいバージョン AWS KMS を自動的に選択します。
- ローテーション期間
-
ローテーション期間は、キーマテリアルを AWS KMS ローテーションする自動キーローテーションを有効にしてからの日数と、それ以降の各自動キーローテーション間の日数を定義します。自動キーローテーションを有効化したときに
RotationPeriodInDays
の値を指定しない場合、デフォルト値は 365 日となります。kms:RotationPeriodInDays 条件キーを使用して、プリンシパルが
RotationPeriodInDays
パラメータに指定できる値を制限することができます。 - ローテーション日
-
ローテーション日は、自動 (スケジュールされた) ローテーションまたはオンデマンドキーローテーションの結果として KMS キーの現在のキーマテリアルが更新された日付を反映します。
- ローテーション日
-
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 マネージドキー から 1 年ごと (約 365 日) AWS KMS に変更しました。
- AWS 所有のキー
-
AWS 所有のキーのキーローテーションを有効化または無効化することはできません。のキーローテーション戦略 AWS 所有のキー は、 がキーを作成および管理する AWS サービスによって決まります。詳細については、サービスのユーザーガイドまたはデベロッパーガイドの「保管時の暗号化 」トピックを参照してください。
- マルチリージョンキーのローテーション
-
自動ローテーションを有効または無効にし、オ
AWS_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 を使用します。