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

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

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

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

顧客管理の に対して自動キーローテーションCMKを有効にすると、AWS KMS は CMK の新しい暗号化マテリアルを毎年生成します。また、AWS KMS は CMK の古い暗号化マテリアルを永続的に保存するため、暗号化されたデータの復号に使用できます。AWS KMS は を削除するまでローテーションされたキーマテリアルを削除しません。CMK

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

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

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

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

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

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

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

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

カスタマー管理の CMKs のローテーションには、追加の月額料金が発生する可能性があります。詳細については、「AWS Key Management Service 料金表.」を参照してください。バッキングキーとローテーションの詳細については、「AWS Key Management Service の暗号化の詳細」を参照してください。

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

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

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

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

  • DisabledCMKs. CMK が無効になっていると AWS KMS はローテーションを実行しません。ただし、キーローテーションのステータスが変更することはなく、CMK を無効にしている場合に変更することもできません。バッキングキーが 365 日以上のもので、CMK が再び有効になると、AWS KMS はそれをすぐにローテーションし、その後は 365 日ごとに実行します。バッキングキーが 365 日以内のものである場合、AWS KMS は元のキーローテーションのスケジュールで再開します。

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

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

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

  • AWS サービス. のサービスでサーバー側の暗号化に使用するカスタマー管理の CMKs で、キーの自動ローテーションを有効にすることができます。AWS年間ローテーションは透過的で、AWS のサービスと互換性があります。

  • キーローテーションのモニタリング。 は、AWS KMS マネージド またはAWSカスタマーマネージド CMK のキーマテリアルを自動的にローテーションするときに、 ログに CMK イベントKMS CMK Rotation イベントAmazon CloudWatch Eventsを書き込みます。RotateKeyAWS CloudTrailこれらのレコードを使用して、CMK がローテーションされたことを確認できます。

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

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

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

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

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

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

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

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

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

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

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

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

    注記

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

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

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

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

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

次の例では、指定した対称 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 を別のものと置き換えるプロセスは、手動キーローテーション.と呼ばれます。

ローテーションの頻度をコントロールできるように、手動でキーをローテーションする方がよい場合があります。また、CMKs には適切な解決策です。たとえば、CMKsカスタムキーストアCMKsの非対称 インポートされたキーマテリアルCMKsを使用した などです。

注記

新しい CMK の使用を開始するときに、元の CMK を有効なままにすれば、AWS KMS は元の CMK により暗号化されたデータを復号できます。データを復号するとき、KMS はデータの暗号化に使用された CMK を識別し、同じ CMK を使用して復号します。元の CMKs と新しいものの両方が有効である限り、AWS KMS はどちらの CMK. によって暗号化されたデータでも復号できます。

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

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

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