

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

# ローテーション AWS KMS keys
<a name="rotate-keys"></a>

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

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

Amazon CloudWatch AWS CloudTrailおよび AWS Key Management Service コンソールで KMS キーのキーマテリアルの[ローテーションを追跡](#monitor-key-rotation)できます。[GetKeyRotationStatus](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetKeyRotationStatus.html) オペレーションを使用して、特定の KMS キーの自動ローテーションが有効になっているかどうかを確認したり、進行中のオンデマンドローテーションの状況をチェックすることができます。[ListKeyRotations](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeyRotations.html) オペレーションを使用して、実施済みのローテーションの詳細を確認できます。

キーローテーションは、暗号化操作で使用される暗号化シークレットである最新のキーマテリアルのみを変更します。ローテーションされた KMS キーを使用して暗号文を復号すると、 は暗号化に使用されたキーマテリアル AWS KMS を使用します。復号オペレーションでは、特定のキーマテリアルを選択することはできません。 AWS KMS が、自動的に正しいキーマテリアルを選択します。は適切なキーマテリアルで AWS KMS 透過的に復号するため、ローテーションされた KMS キーは、コードを変更 AWS のサービス せずにアプリケーションで安全に使用できます。

 KMS キーは、そのキーマテリアルの変更の有無や回数に関わらず、同じ論理リソースのままです。次のイメージに示されているように、KMS キーのプロパティは変更されまません。

![\[Key rotation process showing key material change while Key ID remains constant.\]](http://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/images/key-rotation-auto.png)


新しい KMS キーを作成し、元の KMS キーの代わりに使用することを決定することができます。これには、既存の KMS キーでキーマテリアルをローテーションするのと同じ効果があり、多くの場合、[手動キーローテーション](rotate-keys-manually.md)を使用します。手動ローテーションは、[非対称 KMS キー、HMAC KMS キー、カスタムキーストアの KMS キーなど、自動キーローテーションまたはオンデマンドキーローテーションの対象ではない KMS ](symmetric-asymmetric.md)キーをローテーションする場合に適しています。 [の HMAC キー AWS KMS](hmac.md) [AWS KMS カスタムキーストア](key-store-overview.md#custom-key-store-overview)

**注記**  
 キーローテーションは、KMS キーで保護されるデータには効果がありません。自動ローテーションは KMS キーが生成したデータキーのローテーションや KMS キーで保護されたデータの再暗号化を実行しません。侵害されたデータキーの影響がキーローテーションによって軽減されることはありません。

**キーローテーションと料金**  
AWS KMS は、KMS キー用に維持されるキーマテリアルの初回および 2 回目のローテーションに対して月額料金を請求します。この追加課金は 2 回目のローテーションで上限となり、それ以降のローテーションには課金されません。詳細については、「[AWS Key Management Service の料金表](https://aws.amazon.com/kms/pricing/)」を参照してください。

**注記**  
[AWS Cost Explorer Service](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-what-is.html) を使用して、キーストレージ料金の内訳を表示できます。例えば、**[使用タイプ]** に `$REGION-KMS-Keys` を指定し、データを **[API オペレーション]** でグループ化することによって、ビューをフィルターし、現在のローテションされた KMS キーとして課金されたキーの合計料金を表示できます。  
過去の期間のレガシー `Unknown` API オペレーションのインスタンスが引き続き表示される場合があります。

**キーローテーションとクォータ**  
各 KMS キーは、キーリソースのクォータを計算するときに、ローテーションされたキーマテリアルのバージョン数に関係なく、1 つのキーとしてカウントされます。

キーマテリアルとローテーションの詳細については、[AWS Key Management Service 暗号化の詳細](https://docs.aws.amazon.com/kms/latest/cryptographic-details/)を参照してください。

**Topics**
+ [KMS キーをローテーションする理由](#rotating-kms-keys)
+ [キーローテーションの仕組み](#rotate-keys-how-it-works)
+ [自動キーローテーションを有効にする](rotating-keys-enable.md)
+ [自動キーローテーションを無効にする](rotating-keys-disable.md)
+ [オンデマンドキーローテーションの実行](rotating-keys-on-demand.md)
+ [ローテーションとキーマテリアルを一覧表示する](list-rotations.md)
+ [キーを手動でローテーションする](rotate-keys-manually.md)
+ [マルチリージョンキーセットのプライマリキーを変更する](multi-region-update.md)

## KMS キーをローテーションする理由
<a name="rotating-kms-keys"></a>

暗号化のベストプラクティスでは、 が AWS KMS 生成するデータキーなど、データを直接暗号化する[キー](data-keys.md)の広範な再利用は推奨されません。256 ビットデータキーが数百万のメッセージを暗号化すると、キーが枯渇し、微小なパターンを含む暗号文を生成し始める可能性があり、ずる賢い人物が悪用して、キーの中のビットが発見される可能性があります。このキーの枯渇を軽減するために、データキーを 1 回または数回使用することをお勧めします。

ただし、KMS キーは、ラップキー (キー暗号化キーとも呼ばれます) として最もよく使用されます。データを暗号化する代わりに、ラップキーはデータを暗号化するデータキーを暗号化します。そのため、これらはデータキーよりもはるかに使用頻度が低く、キーが枯渇するほど多数回再利用されることはほとんどありません。

このように枯渇するリスクは極めて低いものの、ビジネスルールや契約、政府の規制により、KMS キーのローテーションが必要になる場合があります。KMS キーをローテーションせざるを得ない場合は、自動キーローテーション (サポートされている場合)、オンデマンドローテーション (自動ローテーションがサポートされていない場合)、手動キーローテーション (自動キーローテーションとオンデマンドキーローテーションがサポートされていない場合) を使用することをお勧めします。

キーマテリアルローテーション機能をテストするため、またはオートメーションスクリプトを検証するために、オンデマンドローテーションの実行を検討するのもよいでしょう。計画外のローテーションにはオンデマンドローテーションを使用し、それ以外では可能な限りカスタムの[ローテーション期間](#rotation-period)に基づいた自動キーローテーションを実施することをお勧めします。

## キーローテーションの仕組み
<a name="rotate-keys-how-it-works"></a>

AWS KMS キーローテーションは、透過的で使いやすいように設計されています。 は、[カスタマーマネージドキーに対してのみ、オプションの自動キーローテーションとオンデマンドキー](concepts.md#customer-mgn-key)ローテーション 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 キーは手動でローテーション](rotate-keys-manually.md)できます。  
+ [非対称 KMS キー](symmetric-asymmetric.md)
+ [HMAC KMS キー](hmac.md)
+ [カスタムキーストア](key-store-overview.md#custom-key-store-overview)の KMS キー

**キーマテリアルの管理**  
AWS KMS は、キーローテーションが無効になっている場合でも、`AWS_KMS`オリジンを持つ KMS キーのすべてのキーマテリアルを保持します。 は、KMS キーを削除した場合にのみキーマテリアル AWS KMS を削除します。  
お客様は、`EXTERNAL` オリジンを持つ対称暗号化キーのキーマテリアルを管理します。[DeleteImportedKeyMaterial](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeleteImportedKeyMaterial.html) オペレーションを使用して任意のキーマテリアルを削除するか、マテリアルをインポートするときに有効期限を設定することができます。KMS キーは、マテリアルの有効期限が切れるか、マテリアルが削除されるとすぐに使用できなくなります。

**キーマテリアルの使用**  
ローテーションされた KMS キーを使用してデータを暗号化する場合、 は現在のキーマテリアル AWS KMS を使用します。暗号文の復号にローテーションされた KMS キーを使用する場合、 AWS KMS は暗号化に使用したものと同じバージョンのキーマテリアルを使用します。復号オペレーションに特定のバージョンのキーマテリアルを選択することはできません。 は正しいバージョン AWS KMS を自動的に選択します。

** ローテーション期間**  
ローテーション期間は、キーマテリアルを AWS KMS ローテーションする自動キーローテーションを有効にしてからの日数と、それ以降の各自動キーローテーション間の日数を定義します。自動キーローテーションを有効化したときに `RotationPeriodInDays` の値を指定しない場合、デフォルト値は 365 日となります。  
[kms:RotationPeriodInDays](conditions-kms.md#conditions-kms-rotation-period-in-days) 条件キーを使用して、プリンシパルが `RotationPeriodInDays` パラメータに指定できる値を制限することができます。

**ローテーション日**  
ローテーション日は、自動 (スケジュール済み) ローテーションまたはオンデマンドキーローテーションの結果として KMS キーの現在のキーマテリアルが更新された日付を反映します。

**ローテーション日**  
AWS KMS は、ローテーション期間で定義されたローテーション日に KMS キーを自動的にローテーションします。デフォルトのローテーション期間は 365 日です。    
**カスタマーマネージドキー**  <a name="rotate-customer-keys"></a>
自動キーローテーションは、[カスタマーマネージドキー](concepts.md#customer-mgn-key)ではオプションであり、いつでも有効化および無効化できるため、ローテーション日は、ローテーションの最終有効化日によって異なります。自動キーローテーションを有効化にした後にキーのローテーション期間を変更すると、ローテーション日が変わる可能性があります。ローテーション日は、キーの有効期間にわたって何度も変更できます。  
たとえば、2022 年 1 月 1 日にカスタマーマネージドキーを作成した後、2022 年 3 月 15 日にローテーション期間をデフォルトの 365 日に設定して自動キーローテーションを有効化すると、 AWS KMS は、まず 2023 年 3 月 15 日、その次は 2024 年 3 月 15 日、以降 365 日ごとにキーマテリアルをローテーションします。  
以下の各例ではいずれも、キーの自動ローテーションが有効で、ローテーション期間がデフォルトの 365 日に設定されていることを前提にしています。これらの例は、キーのローテーション期間に影響を与える可能性のある特別なケースを示しています。  
+ キーローテーションの無効化 — 任意の時点で[自動キーローテーションを無効](rotating-keys-disable.md)にすると、KMS キーは、ローテーションが無効になったときに使用していたバージョンのキーマテリアルを使用し続けます。自動キーローテーションを再度有効にすると、 は新しいローテーションが有効な日付に基づいてキーマテリアルを AWS KMS ローテーションします。
+ 無効 KMS キー — KMS キーが無効になっている間は、ローテーション AWS KMS しません。ただし、キーローテーションのステータスは変更されず、KMS キーが無効の間は変更することができません。KMS キーを再度有効にすると、キーマテリアルが最後にスケジュールされたローテーション日 を過ぎている場合、 はそれをすぐに AWS KMS ローテーションします。キーマテリアルが最後にスケジュールされたローテーション日を過ぎていない場合、 は元のキーローテーションスケジュール AWS KMS を再開します。
+ 削除保留中の KMS キー — 削除保留中の KMS キーはローテーション AWS KMS されません。キーローテーションのステータスは `false` に設定されています。削除が保留中の場合は変更することができません。削除をキャンセルすると、以前のキーローテーションのステータスが元に戻ります。キーマテリアルが最後にスケジュールされたローテーション日を過ぎている場合、 はそれをすぐに AWS KMS ローテーションします。キーマテリアルが最後にスケジュールされたローテーション日を過ぎていない場合、 は元のキーローテーションスケジュール AWS KMS を再開します。  
**AWS マネージドキー**  <a name="rotate-aws-managed-keys"></a>
AWS KMS は AWS マネージドキー 毎年 (約 365 日) 自動的にローテーションします。[AWS マネージドキー](concepts.md#aws-managed-key)のキーローテーションを有効化または無効化することはできません。  
のキーマテリアル AWS マネージドキー は、最初に作成日から 1 年後にローテーションされ、その後は毎年 (最後のローテーションから約 365 日) ローテーションされます。  
2022 年 5 月、 のローテーションスケジュールを 3 年ごと (約 1,095 日) AWS マネージドキー から毎年 (約 365 日) AWS KMS に変更しました。  
**AWS 所有のキー**  <a name="rotate-aws-owned-keys"></a>
 AWS 所有のキーのキーローテーションを有効化または無効化することはできません。の[キーローテーション](#rotate-keys)戦略 AWS 所有のキー は、 がキーを作成および管理する AWS サービスによって決まります。詳細については、サービスのユーザーガイドまたはデベロッパーガイドの「*保管時の暗号化* 」トピックを参照してください。

** マルチリージョンキーのローテーション**  
ローテーションの動作は、キーマテリアルが AWS KMS (`AWS_KMS` オリジン) によって生成されたか、インポートされた (`EXTERNAL` オリジン) かによって異なります。    
**`AWS_KMS` オリジンを持つマルチリージョンキー**  <a name="rotating-aws-kms-multi-region--keys"></a>
`AWS_KMS` オリジンを持つ対称暗号化[マルチリージョンキー](multi-region-keys-overview.md)のキーマテリアルの自動ローテーションを有効化または無効化することやオンデマンドローテーションを実行することができます。キーローテーションは、マルチリージョンキーの[共有プロパティ](multi-region-keys-overview.md#mrk-sync-properties)です。  
自動キーローテーションはプライマリキーでのみ、有効または無効にできます。オンデマンドローテーションは、プライマリキーでのみ開始できます。  
+ がマルチリージョンキーを AWS KMS 同期すると、キーローテーションプロパティ設定がプライマリキーから関連するすべてのレプリカキーにコピーされます。
+ はキーマテリアルを AWS KMS ローテーションすると、プライマリキーの新しいキーマテリアルを作成し、リージョンの境界を越えて関連するすべてのレプリカキーに新しいキーマテリアルをコピーします。キーマテリアルが暗号化 AWS KMS されていないままになることはありません。このステップは、暗号化オペレーションでキーが使用される前にキーマテリアルが完全に同期されるよう、慎重に制御されます。
+ AWS KMS は、そのキーマテリアルがプライマリキーとそのすべてのレプリカキーで使用可能になるまで、新しいキーマテリアルを使用してデータを暗号化しません。
+ ローテーションされたプライマリキーをレプリケートすると、新しいレプリカキーに、現在のキーマテリアルと関連するマルチリージョンキーのキーマテリアルの以前のすべてのバージョンが含まれます。
このパターンにより、関連するマルチリージョンキーが完全に相互運用可能であることが保証されます。すべてのマルチリージョンキーは、キーが作成される前に暗号化テキストが暗号化されていても、関連するマルチリージョンキーによって暗号化された暗号化テキストを復号できます。  
**`EXTERNAL` オリジンを持つマルチリージョンキー**  <a name="rotating-external-multi-region--keys"></a>
オ`EXTERNAL`リジンを持つ対称暗号化[マルチリージョン](multi-region-keys-overview.md)キーでキーマテリアルのオンデマンドローテーションを実行できます。キーローテーションは、マルチリージョンキーの[共有プロパティ](multi-region-keys-overview.md#mrk-sync-properties)です。  
オンデマンドローテーションは、新しいキーマテリアルをプライマリキーと各レプリカキーにインポートした後に、プライマリキーでのみ開始します。  
+ 新しいキーマテリアルをプライマリキーにインポートすると、 はキーマテリアル識別子とキーマテリアルの説明をプライマリキーから関連するすべてのレプリカキー AWS KMS にコピーします。キーマテリアルはコピーされません。
+ 同じキーマテリアルを各レプリカキーに個別にインポートする必要があります。キーマテリアルが関連するすべてのマルチリージョンキーにインポートされたら、プライマリキーでオンデマンドローテーションを開始できます。これにより、 AWS KMS は、キーマテリアルがプライマリキーとそのすべてのレプリカキーで使用可能になるまで、新しいキーマテリアルでデータを暗号化しません。
+ プライマリキーまたはレプリカキーの各キーマテリアルは、同じキーまたは他の関連するマルチリージョンキーの他のキーマテリアルとは無関係に期限切れまたは削除できます。

**AWS サービス**  
 AWS サービスのサーバー側の暗号化に使用する[カスタマーマネージドキーで、自動キー](concepts.md#customer-mgn-key)ローテーションを有効にできます。年間ローテーションは透過的で、 AWS サービスと互換性があります。

**キーローテーションのモニタリング**  <a name="monitor-key-rotation"></a>
は、 [AWS マネージドキー](concepts.md#aws-managed-key)または[カスタマーマネージド](concepts.md#customer-mgn-key)キーのキーマテリアルを AWS KMS ローテーションすると、Amazon EventBridge に`KMS CMK Rotation`イベントを書き込み、[RotateKey イベント](ct-rotatekey.md)をログに書き込みます AWS CloudTrail 。これらのレコードを使用して、KMS キーがローテーションされたことを確認できます。  
 AWS Key Management Service コンソールを使用して、KMS キーの残りのオンデマンドローテーションの数と、完了したすべてのキーマテリアルローテーションのリストを表示できます。  
[ListKeyRotations](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeyRotations.html) オペレーションを使用して、実施済みのローテーションの詳細を確認できます。

**結果整合性**  
キーローテーションは、他の AWS KMS 管理オペレーションと同様に、結果整合性の影響下にあります。新しいキーマテリアルが AWS KMS全体で使用可能になるまで、若干の遅延が生じることがあります。ただし、キーマテリアルのローテーションにより、暗号化オペレーションが中断または遅延することはありません。新しいキーマテリアルが AWS KMS全体で使用可能になるまで、現在のキーマテリアルが暗号化オペレーションで使用されます。マルチリージョンキーのキーマテリアルが自動的にローテーションされると、 は、関連するマルチリージョンキーを持つすべてのリージョンで新しいキーマテリアルが利用可能になるまで、現在のキーマテリアル AWS KMS を使用します。

# 自動キーローテーションを有効にする
<a name="rotating-keys-enable"></a>

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

自動キーローテーションには次の利点があります。
+ [キー ID](concepts.md#key-id-key-id)、[キー ARN](concepts.md#key-id-key-ARN)、リージョン、ポリシー、アクセス許可などの KMS キーのプロパティは、キーがローテーションされても変更されません。
+ KMS キーのキー ID またはキー ARN を参照するアプリケーションまたはエイリアスを変更する必要はありません。
+ キーマテリアルのローテーションは、どの AWS のサービスでの KMS キーの使用にも影響しません。
+ キーローテーションを有効にすると、 は AWS KMS ローテーション期間で定義された次のローテーション日に KMS キーを自動的にローテーションします。更新を覚えている、またはスケジュールする必要はありません。

自動キーローテーションは、 AWS KMS コンソールで有効にすることも、[EnableKeyRotation](https://docs.aws.amazon.com/kms/latest/APIReference/API_EnableKeyRotation.html) オペレーションを使用して有効にすることもできます。自動キーローテーションを有効にするには、`kms:EnableKeyRotation` アクセス許可が必要です。アクセス AWS KMS 許可の詳細については、「」を参照してください[アクセス許可に関するリファレンス](kms-api-permissions-reference.md)。

## AWS KMS コンソールの使用
<a name="rotate-keys-console"></a>

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

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

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

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

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

   **[キーのローテーション]** タブは、[マルチリージョン](rotate-keys.md#multi-region-rotate)の対称暗号化 KMS キーなど、 AWS KMS が生成したキーマテリアルを持つ対称暗号化 KMS キー (**[オリジン]** は **[AWS\$1KMS]**) の詳細ページにのみ表示されます。

   非対称 KMS キー、HMAC KMS キー、[インポートされたキーマテリアル](importing-keys.md)を持つ KMS キー、または[カスタムキーストア](key-store-overview.md#custom-key-store-overview)内の KMS キーを自動的にローテーションすることはできません。ただし、[手動でローテーション](rotate-keys-manually.md)することはできます。

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

1. **[キーローテーション]** で、**[有効化]** を選択します。
**注記**  
KMS キーが無効になっているか、削除が保留中の場合、 AWS KMS はキーマテリアルをローテーションせず、自動キーローテーションステータスまたはローテーション期間を更新することはできません。KMS キーを有効にするか、削除をキャンセルして自動キーローテーション設定を更新します。詳細については、「[キーローテーションの仕組み](rotate-keys.md#rotate-keys-how-it-works)」および「[キーの AWS KMS キーステータス](key-state.md)」を参照してください。

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

   [kms:RotationPeriodInDays](conditions-kms.md#conditions-kms-rotation-period-in-days) 条件キーを使用して、プリンシパルがローテーション期間に指定できる値を制限することができます。

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

## AWS KMS API の使用
<a name="rotate-keys-api"></a>

任意のカスタマーマネージドキーについて、[AWS Key Management Service (AWS KMS) API](https://docs.aws.amazon.com/kms/latest/APIReference/) を使用して自動キーローテーションを有効化し、現在のローテーションステータスを確認することができます。以下の例では [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) を使用しますが、サポートされている任意のプログラミング言語を使用することができます。

[EnableKeyRotation](https://docs.aws.amazon.com/kms/latest/APIReference/API_EnableKeyRotation.html) オペレーションでは、指定された KMS キーの自動キーローテーションが有効になります。このオペレーションで KMS キーを特定するには、[キー ID](concepts.md#key-id-key-id) または[キー ARN](concepts.md#key-id-key-ARN) を使用します。デフォルトでは、カスタマーマネージドキーのキーローテーションは無効になっています。

[kms:RotationPeriodInDays](conditions-kms.md#conditions-kms-rotation-period-in-days) 条件キーを使用して、プリンシパルが `EnableKeyRotation` リクエストの `RotationPeriodInDays` パラメータに指定できる値を制限することができます。

以下の例では、指定された対称暗号化 KMS キーについてローテーション期間を 180 日に設定してキーローテーションを有効にし、[GetKeyRotationStatus](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetKeyRotationStatus.html) オペレーションを使用して結果を確認しています。

```
$ 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"
}
```

# 自動キーローテーションを無効にする
<a name="rotating-keys-disable"></a>

カスタマーマネージドキーの自動キーローテーションは、有効化した後にいつでも無効化することができます。

自動キーローテーションを無効化すると、KMS キーは、ローテーションが無効化された時点で使用していたバージョンのキーマテリアルをそのまま使用し続けます。自動キーローテーションを再度有効にすると、 は新しいローテーション有効日に基づいてキーマテリアルを AWS KMS ローテーションします。

自動ローテーションを無効化にしても、[オンデマンドローテーション](rotating-keys-on-demand.md)を実行する機能には影響せず、進行中のオンデマンドローテーションもキャンセルされません。

 AWS KMS コンソールまたは [DisableKeyRotation](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKeyRotation.html) オペレーションを使用して、自動キーローテーションを無効にすることができます。自動キーローテーションを無効にするには、`kms:DisableKeyRotation` アクセス許可が必要です。アクセス AWS KMS 許可の詳細については、「」を参照してください[アクセス許可に関するリファレンス](kms-api-permissions-reference.md)。

## AWS KMS コンソールの使用
<a name="rotate-keys-console"></a>

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

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

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

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

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

   **[キーのローテーション]** タブは、[マルチリージョン](rotate-keys.md#multi-region-rotate)の対称暗号化 KMS キーなど、 AWS KMS が生成したキーマテリアルを持つ対称暗号化 KMS キー (**[オリジン]** は **[AWS\$1KMS]**) の詳細ページにのみ表示されます。

   非対称 KMS キー、HMAC KMS キー、[インポートされたキーマテリアル](importing-keys.md)を持つ KMS キー、または[カスタムキーストア](key-store-overview.md#custom-key-store-overview)内の KMS キーを自動的にローテーションすることはできません。ただし、[手動でローテーション](rotate-keys-manually.md)することはできます。

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

1. **[キーローテーション]** で、**[無効化]** を選択します。
**注記**  
KMS キーが無効になっているか、削除が保留中の場合、 AWS KMS はキーマテリアルをローテーションせず、自動キーローテーションステータスまたはローテーション期間を更新することはできません。KMS キーを有効にするか、削除をキャンセルして自動キーローテーション設定を更新します。詳細については、「[キーローテーションの仕組み](rotate-keys.md#rotate-keys-how-it-works)」および「[キーの AWS KMS キーステータス](key-state.md)」を参照してください。

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

## AWS KMS API の使用
<a name="rotate-keys-api"></a>

任意のカスタマーマネージドキーについて、[AWS Key Management Service (AWS KMS) API](https://docs.aws.amazon.com/kms/latest/APIReference/) を使用して自動キーローテーションを無効化し、現在のローテーションステータスを確認することができます。この例では [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) を使用していますが、サポートされている任意のプログラミング言語を使用することができます。

[DisableKeyRotation](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKeyRotation.html) オペレーションは、自動キーローテーションを無効にします。このオペレーションで KMS キーを特定するには、[キー ID](concepts.md#key-id-key-id) または[キー ARN](concepts.md#key-id-key-ARN) を使用します。デフォルトでは、カスタマーマネージドキーのキーローテーションは無効になっています。

以下の例では、指定された対称暗号化 KMS キーについて自動キーローテーションを無効にし、[GetKeyRotationStatus](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetKeyRotationStatus.html) オペレーションを使用して結果を確認しています。

```
$ 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
}
```

# オンデマンドキーローテーションの実行
<a name="rotating-keys-on-demand"></a>

自動キーローテーションが有効かどうかにかかわらず、カスタマーマネージド KMS キーのキーマテリアルのオンデマンドローテーションを実行できます。自動ローテーション ([DisableKeyRotation](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKeyRotation.html)) を無効にしても、オンデマンドローテーションを実行する機能には影響せず、進行中のオンデマンドローテーションもキャンセルされません。オンデマンドローテーションは、既存の自動ローテーションスケジュールには影響を与えません。例えば、ローテーション期間を 730 日に設定して自動キーローテーションを有効化している KMS キーを想定してみましょう。キーの自動ローテーションを 2024 年 4 月 14 日に予定して、オンデマンドローテーションを 2024 年 4 月 10 日に実行しても、キーはスケジュールどおりに、2024 年 4 月 14 日と以降 730 日ごとに自動ローテーションされます。

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

オンデマンドキーローテーションは、[対称暗号化 KMS キー](symm-asymm-choose-key-spec.md#symmetric-cmks)でのみサポートされています。[カスタムキーストア](key-store-overview.md#custom-key-store-overview)では、[非対称 KMS キー](symmetric-asymmetric.md)、[HMAC KMS キー](hmac.md)、または KMS キーのオンデマンドローテーションを実行することはできません。関連する[マルチリージョンキー](rotate-keys.md#multi-region-rotate)セットのオンデマンドローテーションを実行するには、プライマリキーでオンデマンドローテーションを呼び出します。

`kms:RotateKeyOnDemand` および アクセス`kms:GetKeyRotationStatus`許可を持つ承認済みユーザーは、 AWS KMS コンソールと AWS KMS API を使用してオンデマンドキーローテーションを開始し、キーローテーションのステータスを表示できます。KMS キーの完了済みのローテーションを表示するには、[ListKeyRotations](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeyRotations.html) を使用します。

**Topics**
+ [オンデマンドキーローテーションの開始 (コンソール)](#rotate-on-demand-console)
+ [オンデマンドキーローテーションの開始 (AWS KMS API)](#rotate-on-demand-api)

## オンデマンドキーローテーションの開始 (コンソール)
<a name="rotate-on-demand-console"></a>

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

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

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

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

1. **[キーマテリアルとローテーション]** タブを選択します。

   **[キーマテリアルとローテーション]** タブは、自動ローテーションまたはオンデマンドローテーションをサポートする対称暗号化 KMS キーの詳細ページにのみ表示されます。これには、 が生成した AWS KMS キーマテリアルを持つ KMS キー (**AWS\$1KMS** オリジン) と、インポートされたキーマテリアルを持つ KMS キー (**外部**オリジン) が含まれます。

   [カスタムキーストア](key-store-overview.md#custom-key-store-overview)では、非対称 KMS キー、HMAC KMS キー、または KMS キーのオンデマンドローテーションを実行することはできません。ただし、[手動でローテーション](rotate-keys-manually.md)することはできます。

1. **[今すぐローテーション]** を選択します。インポートされたキーマテリアルを持つ対称暗号化キーの場合、**Rotate now** オプションは、以前に[新しいキーマテリアルをインポート](importing-keys-import-key-material.md#import-new-key-material)し、それが**保留中のローテーション**状態である場合にのみ使用できます。
**注記**  
マルチリージョンキーの場合、プライマリリージョンキーのみをローテーションできます。

1. そのキーの残りのオンデマンドローテーション回数に関する注意事項が表示されるので、確認します。また、ローテーション後に最新になるキーマテリアルの ID、説明、有効期限などの情報も表示されます。オンデマンドローテーションを続行しない場合は、**[キャンセル]** を選択します。

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

## オンデマンドキーローテーションの開始 (AWS KMS API)
<a name="rotate-on-demand-api"></a>

任意のカスタマーマネージドキーについて、[AWS Key Management Service (AWS KMS) API](https://docs.aws.amazon.com/kms/latest/APIReference/) を使用してオンデマンドキーローテーションを開始し、現在のローテーションステータスを確認することができます。この例では [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) を使用していますが、サポートされている任意のプログラミング言語を使用することができます。

[RotateKeyOnDemand](https://docs.aws.amazon.com/kms/latest/APIReference/API_RotateKeyOnDemand.html) オペレーションは、指定された KMS キーのオンデマンドキーローテーションを直ちに開始します。これらのオペレーションで KMS キーを識別するには、その[キー ID](concepts.md#key-id-key-id) または[キー ARN](concepts.md#key-id-key-ARN) を使用します。

次の例では、指定された対称暗号化 KMS キーについてオンデマンドキーローテーションを開始し、[GetKeyRotationStatus](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetKeyRotationStatus.html) オペレーションを使用してオンデマンドローテーションが進行中であることを確認しています。`kms:GetKeyRotationStatus` レスポンス内の `OnDemandRotationStartDate` は、進行中のオンデマンドローテーションが開始された日時を特定します。この例では、KMS キーで自動ローテーションも有効になっていて、期間は 365 日間です。

```
$ 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:GetKeyRotationStatus` レスポンスのフィールドの数が少なくなります。

```
$ 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": false,
    "OnDemandRotationStartDate": "2024-02-24T18:44:48.587000+00:00"
}
```

# ローテーションとキーマテリアルを一覧表示する
<a name="list-rotations"></a>

自動キーローテーションまたはオンデマンドキーローテーションをサポートする KMS キーには、複数のキーマテリアルを関連付けることができます。これらのキーには、自動ローテーションまたはオンデマンドローテーションごとに初期キーマテリアルと 1 つの追加キーマテリアルがあります。

`kms:ListKeyRotations` アクセス許可を持つ承認済みユーザーは、 AWS KMS コンソール操作と [ListKeyRotations](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeyRotations.html) API を使用して、完了した自動ローテーションとオンデマンドローテーションからのものを含め、KMS キーに関連付けられたすべてのキーマテリアルを一覧表示できます。

**Topics**
+ [ローテーションとキーマテリアルを一覧表示する (コンソール)](#list-rotations-console)
+ [ローテーションとキーマテリアルを一覧表示する (AWS KMS API)](#list-rotations-api)

## ローテーションとキーマテリアルを一覧表示する (コンソール)
<a name="list-rotations-console"></a>

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

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

1. ナビゲーションペインで、**[カスタマーマネージドキー]** を選択します。

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

1. **[キーマテリアルとローテーション]** タブを選択します。
   + **[キーマテリアルとローテーション]** タブは、自動ローテーションまたはオンデマンドローテーションをサポートする対称暗号化 KMS キーの詳細ページにのみ表示されます。これには、 (`AWS_KMS` オリジン) AWS KMS を生成したキーマテリアルを持つ KMS キーと、インポートされたキーマテリアル (`EXTERNAL` オリジン) を持つ KMS キーが含まれます。
   + **[キーマテリアルとローテーション]** タブの **[キーマテリアル]** テーブルには、KMS キーに関連付けられているすべてのキーマテリアルが一覧表示されます。キーマテリアルごとに、対応するエントリには、 AWS KMSによって割り当てられた一意の識別子、ローテーション日、およびキーマテリアルの状態が表示されます。ローテーション日は、自動キーローテーションまたはオンデマンドキーローテーションの後にキーマテリアルが最新になったときを示します。最初のキーマテリアルおよび `Pending rotation` キーマテリアルに関連付けられたローテーション日はありません。キーマテリアルの状態によって、 がキーマテリアル AWS KMS を使用する方法が決まります。現在のキーマテリアルは、暗号化と復号の両方に使用されます。最新でないキーマテリアルは復号にのみ使用されます。`Pending rotation` のキーマテリアル状態は、キーマテリアルがローテーションのためにステージングされていることを示します。このキーマテリアルは、オンデマンドキーローテーションによって現在のキーマテリアルになるまで、暗号化オペレーションには使用されません。キーマテリアルに表示される追加情報は、KMS キーのタイプによって異なります。
   + `AWS_KMS` オリジンを持つ対称暗号化 KMS キーの場合、各行にはローテーションタイプ (`On-demand` または `Automatic`) も表示されます。
   + インポートされたキーマテリアル (`EXTERNAL` オリジン) を持つ対称暗号化 KMS キーは`On-demand`ローテーションのみをサポートするため、ローテーションタイプの列はありません。代わりに、各行にはインポート状態、ユーザーが指定した説明、有効期限情報、**[アクション]** メニューが表示されます。インポート状態は、キーマテリアルが内部で使用可能であることを示す**インポート**、 AWS KMS またはキーマテリアルが内部で使用可能でないことを示す**インポート保留中**のいずれかです AWS KMS。**[アクション]** メニューを使用して、インポートされたキーマテリアルを削除することやキーマテリアルを再インポートすることができます。**[キーマテリアルの削除]** アクションは、キーマテリアルのインポート状態が** [インポート保留中]** の場合、無効になります。**[キーマテリアルを再インポート]** アクションは常に使用できます。再インポートする前に、キーマテリアルの有効期限が切れるのを待つ必要やキーマテリアルが削除されるのを待つ必要はありません。

## ローテーションとキーマテリアルを一覧表示する (AWS KMS API)
<a name="list-rotations-api"></a>

任意のカスタマーマネージドキーに対して、[AWS Key Management Service (AWS KMS) API](https://docs.aws.amazon.com/kms/latest/APIReference/) を使用してオンデマンドキーローテーションを開始し、現在のローテーションステータスを確認することができます。この例では [AWS Command Line Interface (AWS CLI)](https://aws.amazon.com/cli/) を使用していますが、サポートされている任意のプログラミング言語を使用することができます。

[ListKeyRotations](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListKeyRotations.html) オペレーションは、指定された KMS キーのすべてのローテーションとキーマテリアルを一覧表示します。これらのオペレーションで KMS キーを識別するには、その[キー ID](concepts.md#key-id-key-id) または[キー ARN](concepts.md#key-id-key-ARN) を使用します。

このオペレーションでは、オプションの `IncludeKeyMaterial` パラメータがサポートされています。このパラメータのデフォルト値は `ROTATIONS_ONLY` です。このパラメータを省略すると、 は自動またはオンデマンドのキーローテーションによって作成されたキーマテリアルに関する情報 AWS KMS を返します。`ALL_KEY_MATERIAL` の値を指定すると、 AWS KMS は最初のキーマテリアルと、ローテーション保留中のインポートされたキーマテリアルをレスポンスに追加します。このパラメータは、自動キーローテーションまたはオンデマンドキーローテーションをサポートする KMS キーでのみ使用できます。

```
$ aws kms list-key-rotations --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \
    --inlcude-key-material ALL_KEY_MATERIAL
{
    "Rotations": [
        {
            "KeyId": 1234abcd-12ab-34cd-56ef-1234567890ab,
            "KeyMaterialId": 123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,
            "KeyMaterialDescription": "KeyMaterialA",
            "ImportState": "PENDING_IMPORT",
            "KeyMaterialState": "NON_CURRENT"
        },
        {
            "KeyId": 1234abcd-12ab-34cd-56ef-1234567890ab,
            "KeyMaterialId": 96083e4fb6dbc41d77578a213a6b6669c044dd4c143e96755396d2bf11fd6068,
            "ImportState": "IMPORTED",
            "KeyMaterialState": "CURRENT",
            "ExpirationModel": "KEY_MATERIAL_DOES_NOT_EXPIRE",
            "RotationDate": "2025-05-01T15:50:51.045000-07:00",
            "RotationType": "ON_DEMAND"
        }
    ],
    "Truncated": false
}
```

# キーを手動でローテーションする
<a name="rotate-keys-manually"></a>

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

![\[Diagram showing manual key rotation process with application, old key, and new key.\]](http://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/images/key-rotation-manual.png)


 手動ローテーションは、非対称 KMS キー、HMAC KMS キー、[カスタムキーストア](key-store-overview.md#custom-key-store-overview)の KMS キーなど、自動キーローテーションまたはオンデマンドキーローテーションの対象ではない KMS キーをローテーションする場合に適しています。

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

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

**注記**  
手動でローテーションされた KMS キーの最新バージョンを指すエイリアスは、[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) オペレーション、[GetPublicKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GetPublicKey.html) オペレーション、暗号化オペレーション ([DeriveSharedSecret](https://docs.aws.amazon.com/kms/latest/APIReference/API_DeriveSharedSecret.html)、[Encrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html)、[GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)、[GenerateDataKeyPair](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKeyPair.html)、[GenerateMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateMac.html)、[VerifyMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html)、[Sign](https://docs.aws.amazon.com/kms/latest/APIReference/API_Sign.html)、および [Verify](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html) など) に適しています。[DisableKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DisableKey.html) または [ScheduleKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_ScheduleKeyDeletion.html) のような、KMS キーを管理するオペレーションでは、エイリアスは許可されていません。  
手動でローテーションされた対称暗号化 KMS キーで [Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) オペレーションを呼び出す場合、 コマンドから `KeyId`パラメータを省略します。 は暗号文を暗号化した KMS キー AWS KMS を自動的に使用します。  
非対称 KMS キーで `Decrypt` または [Verify](https://docs.aws.amazon.com/kms/latest/APIReference/API_Verify.html) を呼び出す場合や、HMAC KMS キーで [VerifyMac](https://docs.aws.amazon.com/kms/latest/APIReference/API_VerifyMac.html) を呼び出す場合は、`KeyId` パラメータが必要です。キーが手動で更新された場合など、暗号化オペレーションを実行する KMS キーをもはや指していないエイリアスが、`KeyId` パラメータの値になっている場合には、これらのリクエストは失敗します。このエラーを回避するには、オペレーションごとに正しい KMS キーを追跡して、指定する必要があります。

エイリアスのターゲット KMS キーを変更するには、[UpdateAlias](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateAlias.html) オペレーションを AWS KMS API で使用します。例えば、このコマンドでは、新しい KMS キーを指すように `alias/TestKey` エイリアスを更新します。オペレーションは出力を返さないため、この例では [ListAliases](https://docs.aws.amazon.com/kms/latest/APIReference/API_ListAliases.html) オペレーションを使用して、エイリアスが異なる KMS キーと関連付けられ、`LastUpdatedDate` フィールドが更新されたことを示します。ListAliases コマンドは、 の `alias/TestKey` [`query`パラメータ](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html#cli-usage-filter-client-side-specific-values)を使用してエイリアスのみ 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
        },
    ]
}
```

# マルチリージョンキーセットのプライマリキーを変更する
<a name="multi-region-update"></a>

関連するマルチリージョンのキーのセットはすべて、プライマリキーを持つ必要があります。ただし、プライマリキーは変更できます。このアクションは、*プライマリリージョンの更新*と呼ばれ、現在のプライマリキーをレプリカキーに変換し、関連するレプリカキーの 1 つをプライマリキーに変換します。これは、レプリカキーを維持しながら現在のプライマリキーを削除する必要がある場合、またはキー管理者と同じリージョンでプライマリキーを検索する必要がある場合に実行できます。

関連する任意のレプリカキーを選択して、新しいプライマリキーにすることができます。オペレーションのスタート時に、プライマリキーとレプリカキーの両方が `Enabled` [キーステータス](key-state.md)である必要があります。

** `Updating` キーステータス**  
`UpdatePrimaryRegion` オペレーション完了後も、プライマリリージョンの更新プロセス完了までにさらに数秒間かかる可能性があります。この間、新旧プライマリキーのキーステータスは、一時的に[更新中](#update-primary-keystate)となります。キーステータスが `Updating` の間も暗号化オペレーションでキーを使用できますが、新しいプライマリキーをレプリケートしたり、これらのキーを有効または無効にするなどの、特定の管理オペレーションを実行することはできません。[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) などのオペレーションは、新旧のプライマリキー両方をレプリカとして表示することがあります。更新が完了すると、`Enabled` キーステータスは復元されます。  
`Updating` キーステータスの影響の詳細については、[キーの AWS KMS キーステータス](key-state.md) を参照してください。

**仕組み**  
米国東部 (バージニア北部) (us-east-1) にプライマリキーがあり、欧州 (アイルランド) (eu-west-1) にレプリカキーがあるとします。更新機能を使用して、米国東部 (バージニア北部) (us-east-1) のプライマリキーをレプリカキーに変更し、欧州 (アイルランド) (eu-west-1) のレプリカキーをプライマリキーに変更できます。  

![\[プライマリキーを更新する\]](http://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/images/multi-region-keys-update-sm.png)

更新プロセスが完了すると、欧州 (アイルランド) (eu-west-1) リージョンのマルチリージョンキーがマルチリージョンのプライマリキーになり、米国東部 (バージニア北部) (us-east-1) リージョンのキーがそのレプリカキーになります。関連するレプリカキーが他に存在する場合、それらは新しいプライマリキーのレプリカになります。が次にマルチリージョンキーの共有プロパティを AWS KMS 同期すると、新しいプライマリキーから[共有プロパティ](multi-region-keys-overview.md#mrk-sync-properties)を取得し、以前のプライマリキーを含むレプリカキーにコピーします。  
更新オペレーションは、任意のマルチリージョンキーの[キー ARN](concepts.md#key-id-key-ARN) には影響を及ぼしません。また、キーマテリアルなどの共有プロパティや、キーポリシーなどの独立したプロパティにも影響を及ぼしません。ただし、新しいプライマリキーの[キーポリシーの更新](key-policy-modifying.md)が必要になります。例えば、信頼できるプリンシパルの [kms:ReplicateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_ReplicateKey.html) アクセス許可を新しいプライマリキーに追加し、新しいレプリカキーから削除します。

## プライマリリージョンを更新する
<a name="update-primary-region"></a>

レプリカキーをプライマリキーに変換することができます。変換後、元のプライマリキーはレプリカキーに変化します。プライマリリージョンを更新するには、両方のリージョンでの [kms:UpdatePrimaryRegion](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdatePrimaryRegion.html) 許可が必要です。

プライマリリージョンは、 AWS KMS コンソールで更新するか、[UpdatePrimaryRegion](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdatePrimaryRegion.html) オペレーションを使用して更新できます。

### AWS KMS コンソールの使用
<a name="update-primary-console"></a>

 AWS KMS コンソールでプライマリキーを更新できます。現在のプライマリキーのキーの詳細ページをスタートします。

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

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

1. ナビゲーションペインで、**[カスタマーマネージドキー]** を選択します。

1. [マルチリージョンのプライマリキー](multi-region-keys-overview.md#mrk-primary-key)のキー ID またはエイリアスを選択します。これにより、プライマリキーのキーの詳細ページが開きます。

   マルチリージョンのプライマリキーを識別するには、右上隅にあるツールアイコンを使用して [**Regionality**] (リージョナリティー) 列をテーブルに追加します。

1. [**Regionality**] (リージョナリティー) タブを選択します。

1. [**Primary key (プライマリキー)**] セクションで、[**Change primary Region (プライマリリージョンの変更)**] を選択します

1. 新しいプライマリキーのリージョンを選択します。メニューから選択できるリージョンは 1 つだけです。

   [**Change primary Region (プライマリリージョンの変更)**] メニューには、関連するマルチリージョンキーを持つリージョンのみが含まれます。メニュー上のすべてのリージョンに対する[プライマリリージョンを更新するアクセス許可](multi-region-keys-auth.md#mrk-auth-update)は持っていない可能性があります。

1. [**Change primary Region (プライマリリージョンの変更)**] を選択します。

### AWS KMS API の使用
<a name="update-primary-api"></a>

関連するマルチリージョンキーのセットでプライマリキーを変更するには、[UpdatePrimaryRegion](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdatePrimaryRegion.html) オペレーションを使用します。

`KeyId` パラメータを使用して、現在のプライマリキーを識別します。`PrimaryRegion` パラメータを使用して、新しいプライマリキー AWS リージョン の を指定します。プライマリキーに新しいプライマリリージョンのレプリカがまだない場合、オペレーションは失敗します。

次の例では、プライマリキーを `us-west-2` リージョンのマルチリージョンキーから `eu-west-1` リージョンのレプリカに変更します。`KeyId` パラメータは、現在のプライマリキーを `us-west-2` リージョンで識別します。`PrimaryRegion` パラメータは、新しいプライマリキー AWS リージョン の を指定します`eu-west-1`。

```
$ aws kms update-primary-region \
      --key-id arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab \
      --primary-region eu-west-1
```

成功すると、このオペレーションは出力を返さず、HTTP ステータスコードのみを返します。効果を確認するには、[DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) オペレーションをマルチリージョンキーのいずれかで呼び出します。キーステータスが `Enabled` に戻るまで待機する必要がある場合があります。キーステータスが[更新中](#update-primary-keystate)の間は、キー値がまだ流動的である可能性があります。

例えば、次の `DescribeKey` 呼び出しにより、`eu-west-1` リージョンでマルチリージョンキーの詳細を取得します。出力は、`eu-west-1` リージョンのマルチリージョンキーが現在、プライマリキーであることを示します。関連する `us-west-2` リージョンのマルチリージョンキー (同じキー ID) は現在、レプリカキーです。

```
$ aws kms describe-key \
      --key-id arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab \

{
    "KeyMetadata": {
        "AWSAccountId": "111122223333",
        "KeyId": "mrk-1234abcd12ab34cd56ef1234567890ab",
        "Arn": "arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab",
        "CreationDate": 1609193147.831,
        "Enabled": true,
        "Description": "multi-region-key",
        "KeySpec": "SYMMETRIC_DEFAULT",
        "KeyState": "Enabled",
        "KeyUsage": "ENCRYPT_DECRYPT",
        "Origin": "AWS_KMS",
        "KeyManager": "CUSTOMER",
        "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
        "EncryptionAlgorithms": [
            "SYMMETRIC_DEFAULT"
        ],
        "MultiRegion": true,
        "MultiRegionConfiguration": { 
           "MultiRegionKeyType": "PRIMARY",
           "PrimaryKey": { 
              "Arn": "arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab",
              "Region": "eu-west-1"
           },
           "ReplicaKeys": [ 
              { 
                 "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab",
                 "Region": "us-west-2"
              }
           ]
        }
    }
}
```