カスタマーマスターキーのローテーション - AWS Key Management Service

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

カスタマーマスターキーのローテーション

暗号化のベストプラクティスでは、暗号化キーの広範な再利用を推奨していません。新しい暗号化キーマテリアルを作成するにはAWS Key Management Service(AWS KMS) のカスタマーマスターキー (CMK) を使用するには、新しい CMK を作成した後、アプリケーションまたはエイリアスを変更して新しい CMK を使用できます。または、既存の カスタマー管理の CMK の自動キーローテーションを有効にすることができます。

有効にすると自動キー回転カスタマー管理の CMK の場合、AWS KMSは、CMK の新しいキーマテリアルを毎年生成します。AWS KMSまた、は CMK の古いキーマテリアルを永続的に保存するため、CMK が暗号化したデータを復号化するために使用できます。AWS KMSは、回転したキーマテリアルを削除しません。CMK を削除する

キーローテーションでは、CMK のキーマテリアル(暗号化オペレーションで使用される暗号化マテリアルです)。CMK は、キーマテリアルの変更の有無や回数にかかわりなく、同じ論理リソースのままです。次の図に示すとおり、CMK のプロパティは変更されまません。

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

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

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

  • キーローテーションを有効にすると、AWS KMS により CMK が毎年自動的にローテーションされます。更新を覚えている、またはスケジュールする必要はありません。

ただし、自動キーローテーションは、CMK で保護されるデータには効果がありません。CMK で生成されたデータキーの更新や、CMK で保護されているデータの再暗号化は行われず、データキーの侵害による影響は軽減されません。

新しい CMK を作成し、元の CMK の代わりに使用することを決める場合があります。これには、既存の CMK のキーマテリアルをローテーションするのと同じ効果があり、多くの場合、手動キーローテーションとみなされます。キーローテーションのスケジュールを制御する場合は、手動ローテーションすることをお勧めします。また、非対称の CMKカスタムキーストア内の CMK、インポートされたキーマテリアルを持つ CMK など、自動キーローテーションの対象にならない CMK をローテーションする方法も利用できます。

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

顧客管理の CMK のローテーションには、追加の月額料金が発生する可能性があります。詳細については、「AWS Key Management Service 料金表」を参照してください。キーマテリアルと回転の詳細については、」AWS Key Management Service暗号化の詳細

キーの自動ローテーションの仕組み

AWS KMS のキーローテーションは、透過的で使いやすいように設計された暗号化のベストプラクティスです。AWS KMS は、カスタマー管理の CMK に対してのみ、オプションの自動キーローテーションをサポートします。

  • キー素材の管理 AWS KMSは、キーローテーションが無効になっている状態でも、CMK のすべてのキーマテリアルを保持します。キーマテリアルは、CMK を削除した場合に限り削除されます。CMK を使用して暗号化する場合、AWS KMSは現在のキーマテリアルを使用します。CMK を使用して復号する場合、AWS KMSは、暗号化に使用されたキーマテリアルを使用します。

  • キーローテーションの有効化と無効化 自動キーローテーションはデフォルトで無効になっています。カスタマー管理の CMK。キーローテーションを有効化 (または再有効化) にすると、AWS KMS は自動的に有効にした日から CMK を 365 日ローテーションし、その後は 365 日ごとに実行します。

  • 無効化した CMK。 CMK が無効になっていると AWS KMS はローテーションを実行しません。ただし、キーローテーションのステータスが変更することはなく、CMK を無効にしている場合に変更することもできません。CMK が再び有効になると、キーマテリアルが 365 日以上のものである場合、AWS KMSはそれをすぐにローテーションし、その後は 365 日ごとに実行します。キー素材が 365 日以内のものである場合、AWS KMSは、元のキー回転集計表を再開します。

  • CMK の削除を保留中。 CMK の削除が保留になっていると、AWS KMS はローテーションを実行しません。キーローテーションのステータスは false に設定されています。削除が保留中の場合は変更することができません。削除をキャンセルすると、以前のキーローテーションのステータスが元に戻ります。キー素材が 365 日以上のものである場合、AWS KMSはそれをすぐにローテーションし、その後は 365 日ごとに実行します。キー素材が 365 日以内のものである場合、AWS KMSは、元のキー回転集計表を再開します。

  • AWS 管理の CMK AWS 管理の CMK のキーローテーションを管理することはできません。AWS KMS は AWS 管理の CMK を 3 年ごと (1095 日) に自動的にローテーションします。

  • AWS 所有の CMK のキーローテーションを管理することはできませんAWS所有 CMK。-キー回転の戦略AWS所有 CMK は、AWSサービスは、CMK を作成および管理します。詳細については、サービスのユーザーガイドまたは開発者ガイドの「 保管時の暗号化 」トピックを参照してください。

  • AWS のサービス。自動キーローテーションは、カスタマー管理の CMKで、サーバー側の暗号化に使用できます。AWSのサービス。年間ローテーションは透過的で、AWSのサービス。

  • マルチリージョンCMK。自動キーローテーションを有効または無効にできます。マルチリージョンキー。プロパティは主キーにのみ設定します。メトリックAWS KMSがキーを同期すると、プライマリキーからレプリカキーにプロパティ設定がコピーされます。主キーのキーマテリアルを回転させると、AWS KMSは、そのキーマテリアルをすべてのレプリカキーに自動的にコピーします。詳細については、「複数領域キーの回転」を参照してください

  • キーローテーションのモニタリング。 メトリックAWS KMSは、キーのマテリアルを自動的に回転させます。AWS管理 CMKまたはカスタマー管理の CMKと書き込むと、CMK RotationイベントをAmazon CloudWatch EventsRotateKey イベント側のAWS CloudTraillog. これらのレコードを使用して、CMK がローテーションされたことを確認できます。

  • サポートされていない CMK タイプ。 自動キーローテーションは次のタイプの CMK ではサポートされていませんが、これらの CMK は手動でローテーションできます。

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

AWS KMS コンソールまたは AWS KMS API を使用して、キーの自動ローテーションを有効または無効にすることができます。また、カスタマー管理 CMK のローテーションステータスを確認できます。

キーの自動ローテーションを有効にすると、AWS KMS は有効にした日から CMK を 365 日ローテーションし、その後は 365 日ごとにローテーションします。

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

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

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

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

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

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

    [キーローテーション] タブは、AWS KMS により生成されたキー素材([オリジン] は [AWS_KMS])を持つ対称 CMK の詳細ページにのみ表示されます。非対称の CMK、インポートされたキーマテリアルを持つ CMK、またはカスタムキーストア内の CMK を自動的にローテーションすることはできません。ただし、手動でローテーションすることはできます。

  6. [この CMK を毎年自動的にローテーションします] チェックボックスをオンまたはオフにします。

    注記

    CMK が無効になっている場合や削除が保留中の場合は [この CMK を毎年自動的にローテーションします] のチェックボックスがオフになっています。これを変更することはできません。CMK を有効にしたり削除をキャンセルすると、キーローテーションのステータスが元に戻ります。詳細については、「キーの自動ローテーションの仕組み」および「キー状態: CMK への影響」を参照してください。

  7. [Save] を選択します。

キーローテーションの有効化と無効化 (AWS KMSAPI)

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

EnableKeyRotation 操作では、指定した CMK の自動キーローテーションが有効になります。Dis ableKeyRotation 操作によって無効になります。これらのオペレーションで CMK を識別するには、そのキー ID またはキー ARN を使用します。デフォルトでは、顧客管理の CMK でのキーローテーションは無効になっています。

次の例では、指定したシンメトリック CMK でキーローテーションを有効にし、 GetKeyRotationStatus オペレーションを使用して結果を確認します。それから、キーローテーションを無効にし、再度、GetKeyRotationStatus を使用して変更を確認します。

$ aws kms enable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyRotationEnabled": true } $ 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 { "KeyRotationEnabled": false }

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

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

ローテーションの頻度をコントロールできるように、手動でキーをローテーションする方がよい場合があります。また、非対称 CMK、カスタムキーストアの CMK、インポートされたキーマテリアルを使用する CMK など、自動キーローテーションに適さない CMK のための優れたソリューションです。

注記

新しい CMK の使用を開始するときに、元の CMK を有効なままにすれば、AWS KMS は元の CMK により暗号化されたデータを復号できます。

新しい CMK は現在の CMK とは異なるリソースであるため、異なるキー ID とキー ARN を持っています。CMK を変更すると、アプリケーションのキー ID またはキー ARN への参照を更新する必要があります。エイリアス(CMK とわかりやすい名前を関連付けるので、このプロセスを容易にします。エイリアスを使用して、アプリケーションの CMK を参照します。それから、アプリケーションが使用する CMK を変更するには、エイリアスのターゲット CMK を変更します。詳細については、「アプリケーションでのエイリアスの使用」を参照してください

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

$ aws kms list-aliases { "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 { "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 }, ] }