ローテーション AWS KMS keys - AWS Key Management Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ローテーション AWS KMS keys

カスタマーマネージドキーの新しい暗号化マテリアルを作成するには、新しい KMS キーを作成し、アプリケーションまたはエイリアスを変更して新しい KMS キーを使用します。または、自動キーローテーションを有効にするか、オンデマンドローテーションを実行することで、既存の KMS キーに関連付けられたキーマテリアルをローテーションできます。

デフォルトでは、KMS キーの自動キーローテーションを有効にすると、 は KMS キーの新しい暗号化マテリアルを毎年 AWS KMS 生成します。カスタムを指定rotation-periodして、キーマテリアルを AWS KMS ローテーションする自動キーローテーションを有効にしてからの日数と、それ以降の各自動ローテーション間の日数を定義することもできます。キーマテリアルのローテーションをすぐに開始する必要がある場合は、自動キーローテーションが有効になっているかどうかにかかわらず、オンデマンドローテーション を実行できます。オンデマンドローテーションでは、既存の自動ローテーションスケジュールは変更されません。

AWS KMS は、暗号化マテリアルのすべての以前のバージョンを永続的に保存するため、その KMS キーで暗号化されたデータを復号できます。 AWS KMS は、KMS キー を削除するまでローテーションされたキーマテリアルを削除しません。Amazon 、 CloudWatch AWS CloudTrail、および AWS Key Management Service コンソールで 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 キーマテリアルのインポート

キーローテーションと料金

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 日で自動キーローテーションを有効にすると、 は 2023 年 3 月 15 日、2024 年 3 月 15 日、およびそれ以降は 365 日ごとにキーマテリアルを AWS KMS ローテーションします。

次の例では、デフォルトのローテーション期間が 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 キーは手動でローテーションできます。

マルチリージョンキー

自動キーローテーションをマルチリージョンキーで有効および無効にできます。プロパティはプライマリキーにのみ設定します。がキーを 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 を使用します。

「自動キーローテーションを有効または無効にする方法」

デフォルトでは、KMS キーの自動キーローテーションを有効にすると、 は KMS キーの新しい暗号化マテリアルを毎年 AWS KMS 生成します。カスタムを指定rotation-periodして、キーマテリアルを AWS KMS ローテーションする自動キーローテーションを有効にしてからの日数と、それ以降の各自動ローテーション間の日数を定義することもできます。

自動キーローテーションには次の利点があります。

  • キー IDキー ARN、リージョン、ポリシー、アクセス許可などの KMS キーのプロパティは、キーがローテーションされても変更されません。

  • KMS キーのキー ID またはキー ARN を参照するアプリケーションまたはエイリアスを変更する必要はありません。

  • キーマテリアルのローテーションは、どの AWS のサービスでの KMS キーの使用にも影響しません。

  • キーローテーションを有効にすると、 はロー AWS KMS テーション期間で定義された次のローテーション日に KMS キーを自動的にローテーションします。更新を覚えている、またはスケジュールする必要はありません。

承認されたユーザーは、 AWS KMS コンソールと AWS KMS API を使用して自動キーローテーションを有効または無効にし、キーローテーションのステータスを表示できます。

自動キーローテーションの有効化と無効化 (コンソール)

  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/kms で AWS Key Management Service (AWS KMS) コンソールを開きます。

  2. を変更するには AWS リージョン、ページの右上隅にあるリージョンセレクターを使用します。

  3. ナビゲーションペインで、[Customer managed keys] (カスタマーマネージドキー) を選択します。( AWS マネージドキーのローテーションを有効化または無効化することはできません。これらのローテーションは毎年自動的に行われます。)

  4. KMS キーのエイリアスまたは キー ID を選択します。

  5. [キーローテーション] タブを選択します。

    キーローテーションタブは、マルチリージョン対称暗号化 KMS キーを含む、 が AWS KMS 生成したキーマテリアル (オリジンAWS_KMS ) を持つ対称暗号化 KMS キーの詳細ページにのみ表示されます。

    非対称 KMS キー、HMAC KMS キー、インポートされたキーマテリアルを持つ KMS キー、またはカスタムキーストア内の KMS キーを自動的にローテーションすることはできません。ただし、手動でローテーションすることはできます。

  6. 自動キーローテーションセクションで、編集 を選択します。

  7. キーローテーション でを有効にする を選択します。

    注記

    KMS キーが無効になっているか、削除が保留中の場合、 AWS KMS はキーマテリアルをローテーションせず、自動キーローテーションステータスまたはローテーション期間を更新することはできません。KMS キーを有効にするか、削除をキャンセルして自動キーローテーション設定を更新します。詳細については、「キーローテーションの仕組み」および「キーの AWS KMS キーステータス」を参照してください。

  8. (オプション) 90~2560 日間のローテーション期間を入力します。デフォルト値は 365 日です。カスタムローテーション期間を指定しない場合、 AWS KMS はキーマテリアルを毎年ローテーションします。

    kms:RotationPeriodInDays 条件キーを使用して、プリンシパルがローテーション期間に指定できる値を制限できます。

  9. [保存] を選択します。

自動キーローテーション (AWS KMS API) の有効化と無効化

AWS Key Management Service (AWS KMS) API を使用して、自動キーローテーションを有効または無効にし、カスタマーマネージドキーの現在のローテーションステータスを表示できます。以下の例では AWS Command Line Interface (AWS CLI) を使用しますが、サポートされている任意のプログラミング言語を使用することができます。

EnableKeyRotation オペレーションは、指定された KMS キーの自動キーローテーションを有効にします。DisableKeyRotation オペレーションでは無効になります。これらのオペレーションで KMS キーを識別するには、そのキー ID またはキー ARN を使用します。デフォルトでは、カスタマーマネージドキーのキーローテーションは無効になっています。

kms:RotationPeriodInDays 条件キーを使用して、プリンシパルがEnableKeyRotationリクエストの RotationPeriodInDaysパラメータに指定できる値を制限できます。

次の例では、指定された対称暗号化 KMS キーで 180 日間のローテーション期間を持つキーローテーションを有効にし、 GetKeyRotationStatusオペレーションを使用して結果を表示します。それから、キーローテーションを無効にし、再度、GetKeyRotationStatus を使用して変更を確認します。

$ aws kms enable-key-rotation \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --rotation-period-in-days 180 $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyRotationEnabled": true, "RotationPeriodInDays": 180, "NextRotationDate": "2024-02-14T18:14:33.587000+00:00" } $ aws kms disable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyRotationEnabled": false }

オンデマンドキーローテーションの実行方法

自動キーローテーションが有効になっているかどうかにかかわらず、カスタマーマネージド KMS キーでキーマテリアルのオンデマンドローテーションを実行できます。自動ローテーション (DisableKeyRotation) を無効にしても、オンデマンドローテーションの実行能力には影響せず、進行中のオンデマンドローテーションもキャンセルされません。オンデマンドローテーションでは、既存の自動ローテーションスケジュールは変更されません。例えば、自動キーローテーションが有効で、ローテーション期間が 730 日の KMS キーがあるとします。キーが 2024 年 4 月 14 日に自動ローテーションされるようにスケジュールされており、2024 年 4 月 10 日にオンデマンドローテーションを実行すると、キーは 2024 年 4 月 14 日に、その後 730 日ごとにスケジュールどおりに自動的にローテーションされます。

オンデマンドキーローテーションは、KMS キーごとに最大 10 回実行できます。 AWS KMS コンソールを使用して、KMS キーで使用可能な残りのオンデマンドローテーションの数を表示できます。

オンデマンドキーローテーションは、対称暗号化 KMS キー でのみサポートされます。非対称 KMS キー HMAC KMS キー インポートされたキーマテリアル を持つ KMS キー、またはカスタムキーストア 内の KMS キーのオンデマンドローテーションを実行することはできません。関連するマルチリージョンキーのセットのオンデマンドローテーションを実行するには、プライマリキーでオンデマンドローテーションを呼び出します。

承認されたユーザーは、 AWS KMS コンソールと AWS KMS API を使用してオンデマンドキーローテーションを開始し、キーローテーションのステータスを表示できます。

オンデマンドキーローテーションの開始 (コンソール)

  1. にサインイン AWS Management Console し、https://console.aws.amazon.com/kms で AWS Key Management Service (AWS KMS) コンソールを開きます。

  2. を変更するには AWS リージョン、ページの右上隅にあるリージョンセレクタを使用します。

  3. ナビゲーションペインで、[カスタマーマネージドキー] を選択します。( のオンデマンドローテーションを実行することはできません AWS マネージドキー。 これらは毎年自動的にローテーションされます)。

  4. KMS キーのエイリアスまたは キー ID を選択します。

  5. [キーローテーション] タブを選択します。

    キーローテーションタブは、マルチリージョン対称暗号化 KMS キーを含む、 が AWS KMS 生成したキーマテリアル (オリジンAWS_KMS ) を持つ対称暗号化 KMS キーの詳細ページにのみ表示されます。

    非対称 KMS キー、HMAC KMS キー、インポートされたキーマテリアル を持つ KMS キー、またはカスタムキーストア の KMS キーのオンデマンドローテーションを実行することはできません。 カスタムキーストアただし、手動でローテーションすることはできます。

  6. 「オンデマンドキーローテーション」セクションで、「キーのローテーション」を選択します。

  7. 警告と、キーの残りのオンデマンドローテーションの数に関する情報を読み、考慮します。オンデマンドローテーションを続行しない場合は、キャンセル を選択します。

  8. キーのローテーションを選択して、オンデマンドローテーションを確認します。

    注記

    オンデマンドローテーションは、他の AWS KMS 管理オペレーションと同じ結果整合性の影響を受けます。新しいキーマテリアルが AWS KMS全体で使用可能になるまで、若干の遅延が生じることがあります。オンデマンドローテーションが完了すると、コンソール上部のバナーから通知されます。

オンデマンドキーローテーションの開始 (AWS KMS API)

AWS Key Management Service (AWS KMS) API を使用して、オンデマンドキーローテーションを開始し、カスタマーマネージドキーの現在のローテーションステータスを表示できます。以下の例では AWS Command Line Interface (AWS CLI) を使用しますが、サポートされている任意のプログラミング言語を使用することができます。

RotateKeyOnDemand オペレーションは、指定された KMS キーのオンデマンドキーローテーションを直ちに開始します。これらのオペレーションで KMS キーを識別するには、そのキー ID またはキー ARN を使用します。

次の例では、指定された対称暗号化 KMS キーでオンデマンドキーローテーションを開始し、 GetKeyRotationStatusオペレーションを使用してオンデマンドローテーションが進行中であることを確認します。kms:GetKeyRotationStatus レスポンスOnDemandRotationStartDateの は、進行中のオンデマンドローテーションが開始された日時を識別します。

$ aws kms rotate-key-on-demand --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" } $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyRotationEnabled": true, "NextRotationDate": "2024-03-14T18:14:33.587000+00:00", "OnDemandRotationStartDate": "2024-02-24T18:44:48.587000+00:00" "RotationPeriodInDays": 365 }

手動でのキーローテーション

自動キーローテーションを有効にする代わりに、新しい KMS キーを作成して、現在の KMS キーの代わりに使用することができます。新しい KMS キーが現在の KMS キーと異なる暗号化マテリアルを持つ場合、新しい KMS キーを使用すると、既存の KMS キーでキーマテリアルを変更するのと同じ効果があります。1 つの KMS キーを別のものと置き換えるプロセスは、手動キーローテーションと呼ばれます。

手動ローテーションは、非対称 KMS キー、HMAC KMS キー、カスタムキーストアの KMS キー、インポートされたキーマテリアルを持つ KMS キーなど、自動キーローテーションの対象ではない KMS キーをローテーションする場合に適しています。

注記

新しい KMS キーの使用を開始するときは、 が元の KMS キーが暗号化したデータを復号できるように、元の AWS KMS KMS キーを有効にしたままにしておきます。

KMS キーを手動で更新すると、アプリケーションの KMS キー ID または キーの ARN へのリファレンスも更新する必要があります。KMS キーにわかりやすい名前を関連付けられるエイリアスが、このプロセスを容易にします。エイリアスを使用して、アプリケーションの KMS キーを参照します。続いて、アプリケーションが使用する KMS キーを変更するには、アプリケーションのコードを編集する代わりに、エイリアスのターゲット KMS キーを変更します。詳細については、「アプリケーションでのエイリアスの使用」を参照してください。

注記

手動でローテーションされた KMS キーの最新バージョンを指すエイリアスはDescribeKey、、Encrypt 、、GenerateDataKeyGenerateDataKeyPairGenerateMacおよび Sign オペレーションに適しています。エイリアスは、 DisableKeyや などの KMS キーを管理するオペレーションでは許可されませんScheduleKeyDeletion

手動でローテーションされた対称暗号化 KMS キーで Decrypt オペレーションを呼び出すときは、 コマンドから KeyIdパラメータを省略します。 は暗号文を暗号化した KMS キー AWS KMS を自動的に使用します。

非対称 KMS キーを使用して Decryptまたは検証を呼び出す場合、または HMAC KMS キーVerifyMacを使用して を呼び出す場合は、 KeyIdパラメータが必要です。キーが手動で更新された場合など、暗号化オペレーションを実行する KMS キーをもはや指していないエイリアスが、KeyId パラメータの値になっている場合には、これらのリクエストは失敗します。このエラーを回避するには、オペレーションごとに正しい KMS キーを追跡して、指定する必要があります。

エイリアスのターゲット KMS キーを変更するには、 API の AWS KMS UpdateAliasオペレーションを使用します。例えば、このコマンドでは、新しい KMS キーを指すように alias/TestKey エイリアスを更新します。オペレーションは出力を返さないため、この例では ListAliasesオペレーションを使用して、エイリアスが別の KMS キーに関連付けられ、 LastUpdatedDateフィールドが更新されたことを示します。 ListAliases コマンドは、 の alias/TestKey queryパラメータを使用して AWS CLI エイリアスのみを取得します。

$ aws kms list-aliases --query 'Aliases[?AliasName==`alias/TestKey`]' { "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestKey", "AliasName": "alias/TestKey", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1521097200.123, "LastUpdatedDate": 1521097200.123 }, ] } $ aws kms update-alias --alias-name alias/TestKey --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321 $ aws kms list-aliases --query 'Aliases[?AliasName==`alias/TestKey`]' { "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestKey", "AliasName": "alias/TestKey", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1521097200.123, "LastUpdatedDate": 1604958290.722 }, ] }