カスタマーマスターキー を削除する - AWS Key Management Service

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

カスタマーマスターキー を削除する

カスタマーマスターキー(CMK) での AWS Key Management Service (AWS KMS) の削除は、有害な操作であり、リスクが伴います。これは、キーマテリアルと に関連付けられるすべてのメタデータを削除し、元に戻すことはできません。CMKを削除すると、その CMK で暗号化されたデータを復号できなくなります。これは、そのデータが回復不能になることを意味します。CMKは、もう使用しないことが確実であるCMK場合にのみ削除してください。不明な場合は、削除CMKするのではなく、 を無効にすることを検討してください。無効化された は、後で使用するために再度有効化できますが、削除した を復元することはできませんCMK。CMK

CMKを削除する前に、その でどの程度の数の暗号化テキストCMKが暗号化されているかを確認することが必要な場合がありますAWS KMS。 には、この情報や暗号化テキストを保存しません。この情報を取得するには、 の過去の使用状況を自身で判断する必要がありますCMK。この判断に役立つガイダンスについては、「カスタマーマスターキー の過去の使用状況を確認する」を参照してください。

明示的に削除をスケジュールし、必須の待機期間が終了AWS KMSしない限り、 CMKsは を削除しません。

ただし、次の 1 つ以上の理由で を削除することもできます。CMK

注記

アカウントAWSを閉じるまたは削除すると、 CMKsにアクセスできなくなり、それらに対して課金されることがなくなります。アカウントを閉鎖することとは別に、 の削除をスケジュールする必要はありません。CMKs

削除カスタマーマスターキーの仕組み

承認されたユーザーは、対称と非対称 カスタマーマスターキー (CMKs) を削除することができます。手順はどちらのタイプの でも同じですCMKs。

の削除は有害な操作であり、リスクが伴いるため、 CMK は待機期間を設けています。AWS KMSCMKの を削除するにはAWS KMS、キーの削除をスケジュールします。待機期間は、7 ~ 30 日の範囲で設定できます。デフォルトの待機時間は、30 日です。

削除を待機中はステータスとキーの状態が CMK [Pending deletion] になります

  • 削除が保留中の場合、 CMK を暗号化オペレーションで使用することはできません

  • AWS KMSは、削除が保留中の のバッキングキーをローテーションしません。CMKs

待機期間が終了するAWS KMSと、 は、 に関連付けられたすべてのデータ (そのCMKデータを参照するすべてのエイリアス) AWS KMSを削除します。

キーの削除をスケジュールすると、AWS KMS は待機期間が終了する日時をレポートします。この日時は、最も早い場合でキーの削除をスケジュールした日から指定した日数が経過した時点、最も遅い場合は指定した日数が経過した時点から 24 時間後になります。たとえば、キーの削除をスケジュールして待機期間を 7 日に指定するとします。この場合、待機期間の終了は、リクエストした日時から 7~8 日後になります。待機期間の正確な終了日時は、AWS マネジメントコンソール、AWS CLI、または AWS KMS API で確認できます。

待機期間を使用して、CMK現在または将来の が必要ないことを確認します。待機期間中にユーザーまたはアプリケーションが を使用しようとした場合に警告Amazon CloudWatchするようにアラームCMKを設定できます。を復元するには、待機期間の終了前にキーの削除をキャンセルします。CMK待機期間が終了すると、キーの削除はキャンセルできず、 はAWS KMS削除されますCMK。

の削除をAWS KMSスケジュールし、 が実際に削除されると、 AWS CloudTrailは ログにエントリを記録しますCMK。CMK

非対称の削除CMKs

承認されたユーザーは、対称または非対称 を削除できますCMKs。これらの削除をスケジュールする手順はCMKs、両方のタイプのキーで同じです。ただし、非対称のパブリックキーは CMK の外部でダウンロードして使用できるため、特に暗号化に使用される非対称の場合 (キーの使用方法は )、オペレーションによりさらに大きなリスクが生じますAWS KMS。CMKsENCRYPT_DECRYPT

  • CMKの削除をスケジュールすると、 CMK のキーステータスが [Pending deletion] に変更され、 を暗号化オペレーションで使用することはできませんCMK。暗号化オペレーションただし、削除をスケジュールしても、AWS KMS の外部にあるパブリックキーには影響しません。パブリックキーを持つユーザーは、引き続きそのパブリックキーを使ってメッセージを暗号化できます。キーの状態が変更されたという通知は受信しません。削除がキャンセルされない限り、パブリックキーで作成された暗号文は復号できません。

  • 削除が保留中の の使用の試行を検出するアラーム、ログ、およびその他の戦略では、 CMK の外部でのパブリックキーの使用を検出できません。AWS KMS

  • が削除されると、それに関連するすべてのCMKアクションがAWS KMS失敗します。CMKただし、パブリックキーを持つユーザーは、引き続きそのパブリックキーを使ってメッセージを暗号化できます。これらの暗号文は復号できません。

キーの使用方法CMKが ENCRYPT_DECRYPT である非対称を削除する必要がある場合は、 CloudTrail ログエントリを使用して、パブリックキーがダウンロードおよび共有されているかどうかを確認します。完了している場合は、パブリックキーが AWS KMS の外部で使用されていないことを確認します。次に、削除CMKするのではなく、 を無効にすることを検討します。

削除カスタマーマスターキーが と統合されたAWSサービスに与える影響AWS KMS

AWS KMS と統合された複数の AWS サービスがデータを保護しています。Amazon EBS Amazon Redshift などの一部のサービスでは、 で カスタマーマスターキー (CMK) を使用してAWS KMSデータキーを生成し、そのデータキーを使用してデータを暗号化します。これらのプレーンテキストデータキーは、保護対象のデータが使用されている限り、メモリ内に残ります。

を削除CMK用にスケジュールすると使用不可になりますが、AWSこれによって サービスでメモリ内のデータキーを使用したデータの暗号化および復号化ができなくなることはありません。サービスは、削除が保留中の または削除されるまで影響を受けません。CMK

たとえば、次のシナリオが考えられます。

  1. 暗号化された EBS ボリュームを作成し、 を使用してボリュームCMKの暗号化されたデータキーAmazon EBSを生成するAWS KMSように にCMK指示しますは、暗号化されたデータキーAmazon EBSをボリュームに保存します。

  2. EBS ボリュームを EC2 インスタンスにアタッチすると、 Amazon EC2は を使用して EBS ボリュームの暗号化されたデータキーAWS KMSを復号するように に要求します。 CMKは、ハイパーバイザーメモリにプレーンテキストのデータキーを保存し、それを使用してディスク I/O を EBS ボリュームに暗号化します。Amazon EC2データキーは、EBS ボリュームが EC2 インスタンスにアタッチされる限り、メモリ内で維持されます。

  3. の削除をスケジュールすると、使用不可となります。CMKこれによって EC2 インスタンスまたは EBS ボリュームAmazon EC2—にただちに影響CMKが出ることはありません。これは、 がディスク I/O を EBS ボリュームに暗号化するために—ではなく、プレーンテキストのデータキーを使用しているためです。

    スケジュールされた時間が経過して AWS KMS CMKを削除した場合でも、 Amazon EC2が ではなくプレーンテキストのデータキーを使用しているため、EC2 インスタンスまたは EBS ボリュームに直ちに影響が出ることはありませんCMK。

  4. ただし、暗号化された EBS ボリュームが EC2 インスタンスからデタッチされると、Amazon EBS はメモリからプレーンテキストのキーを削除します。次回に暗号化された EBS ボリュームを EC2 インスタンスにアタッチすると、ボリュームの暗号化されたデータキーAmazon EBSの復号に を使用できないため、アタッチは失敗します。CMK

キーの削除のスケジュールとキャンセル

次の手順は、AWS KMS で AWS マネジメントコンソール、AWS CLI、および AWS SDK for Java を使用してキーの削除をスケジュールしてキャンセルする方法を説明しています。

警告

での カスタマーマスターキー (CMK) の削除AWS KMSは、有害な操作であり、リスクが伴います。が不要であり、今後も使用しないことが確実である場合以外は、削除を実行しないでください。CMK不明な場合は、削除CMKするのではなく、 を無効にする必要があります。

CMKを削除する前に、削除するためのアクセス許可が必要です。キーポリシーのみでAWS KMSアクセス権限を指定している場合は、 を削除する前に、アクセス権限を追加する必要がありますCMK。これらの権限の追加については、「キーの削除をスケジュールおよびキャンセルするためのアクセス許可を追加する」を参照してください。

の削除をAWS KMSスケジュールする場合AWS CloudTrail、および が実際に削除された場合、 は CMK ログにエントリを記録しますCMK。

キーの削除をスケジュールし、キャンセルする方法

キーの削除のスケジュールとキャンセル (コンソール)

キーの削除のスケジュールとキャンセルは、AWS マネジメントコンソール で実行できます。

キーの削除をスケジュールするには

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

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

  3. ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。

  4. CMK削除する の横にあるチェックボックスをオンにします。

  5. [Key actions (キーのアクション)]、[Schedule key deletion(キーの削除をスケジュール)] の順に選択します。

  6. 待機中に、警告、および削除のキャンセルに関する情報を読み、検討してください。削除をキャンセルする場合は、[キャンセル] を選択します。

  7. [Waiting period (in days) (待機期間 (日数))] に、日数として 7~30 の値を入力します。

  8. [Confirm you want to schedule this key for deletion in (削除のためにこのキーをスケジュールすることを確認します)] の横にあるチェックボックスをオンにします。<number of days>..

  9. [Schedule deletion] を選択します。

CMKステータスが [Pending deletion (削除保留中)] に変わります

キーの削除をキャンセルするには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. 左のナビゲーションペインで、暗号化キーを選択します。

  3. フィルタ で、AWS の該当するリージョンを選択します。

  4. ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。

  5. 復旧する の横にあるチェックボックスをオンにします。CMK

  6. [Key actions (キーのアクション)]、[Cancel key deletion (キーの削除をキャンセル)] の順に選択します。

CMKステータスが [Pending deletion] から [Disabled] に変わりますを使用するには、CMK有効にする必要があります

キーの削除のスケジュールとキャンセル (AWS CLI)

次の例のように、aws kms schedule-key-deletion コマンドを使用して AWS CLI からキーの削除をスケジュールします。

$ aws kms schedule-key-deletion --key-id 1234abcd-12ab-34cd-56ef-1234567890ab --pending-window-in-days 10

正しく使用すると、AWS CLI は以下の例に示す出力のような出力を返します。

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "DeletionDate": 1442102400.0 }

次の例のように、aws kms cancel-key-deletion コマンドを使用して AWS CLI からキーの削除をキャンセルします。

$ aws kms cancel-key-deletion --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

正しく使用すると、AWS CLI は以下の例に示す出力のような出力を返します。

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

[CMKPending Deletion] から [Disabled] への変更のステータスを使用するには、CMK有効にする必要があります

キーの削除のスケジュールとキャンセル (AWS SDK for Java)

次の例では、 で の削除をスケジュールする方法を示しますCMK。AWS SDK for Javaこの例では、事前に AWSKMSClientkms としてインスタンス化している必要があります。

String KeyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; int PendingWindowInDays = 10; ScheduleKeyDeletionRequest scheduleKeyDeletionRequest = new ScheduleKeyDeletionRequest().withKeyId(KeyId).withPendingWindowInDays(PendingWindowInDays); kms.scheduleKeyDeletion(scheduleKeyDeletionRequest);

次の例では、AWS SDK for Java でキーの削除をキャンセルする方法を示します。この例では、事前に AWSKMSClientkms としてインスタンス化している必要があります。

String KeyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; CancelKeyDeletionRequest cancelKeyDeletionRequest = new CancelKeyDeletionRequest().withKeyId(KeyId); kms.cancelKeyDeletion(cancelKeyDeletionRequest);

[CMKPending Deletion] から [Disabled] への変更のステータスを使用するには、CMK有効にする必要があります

キーの削除をスケジュールおよびキャンセルするためのアクセス許可を追加する

IAMポリシーを使用してAWS KMSアクセス権限を付与した場合、IAM管理者アクセス (AWS) または"Action": "*"フルアクセス (AWS KMS) を持つすべてのユーザーとロールは、 のキー削除をスケジュールおよびキャンセルすることをすでに許可されています"Action": "kms:*"AWS KMS。CMKsキーポリシーのみでAWS KMSアクセス権限を許可している場合は、IAMユーザーとロールに の削除を許可するためにアクセス権限の追加が必要になる場合がありますCMKs。これらの権限を追加する方法については、次のステップを参照してください。

次の手順では、AWS マネジメントコンソール または AWS CLI を使用してキーポリシーに権限を追加する方法を説明します。

キーの削除をスケジュールおよびキャンセルする権限を追加する方法

キーの削除をスケジュールおよびキャンセルするためのアクセス許可を追加する (コンソール)

AWS マネジメントコンソール を使用すると、キーの削除をスケジュールおよびキャンセルする権限を追加できます。

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

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

  3. ナビゲーションペインで、[Customer managed keys (カスタマー管理型のキー)] を選択します。

  4. アクセス権限を変更する のエイリアスまたはキー ID を選択します。CMK

  5. [キーポリシー] タブを選択します。[ キーの削除, ] で、[ キー管理者にこのキーの削除を許可 する] を選択し、[ 変更の保存] を選択します。

    注記

    [Allow key administrators to delete this key (キーの管理者がこのキーを削除できるようにします。)] オプションが表示されない場合は、通常、AWS KMS API を使用してこのキーポリシーを変更したことを意味します。この場合は、キーポリシードキュメントを手動で更新する必要があります。kms:ScheduleKeyDeletion アクセス許可および kms:CancelKeyDeletion アクセス許可をキーポリシーのキー管理者ステートメント ("Sid": "Allow access for Key Administrators") に追加した後、[変更の保存] を選択します。

キーの削除をスケジュールおよびキャンセルするためのアクセス許可を追加する (AWS CLI)

AWS Command Line Interface を使用すると、キーの削除をスケジュールおよびキャンセルする権限を追加できます。

キーの削除をスケジュールおよびキャンセルする権限を追加するには

  1. aws kms get-key-policy コマンドを使用して、既存のキーポリシーを取得し、ポリシードキュメントをファイルに保存します。

  2. 任意のテキストエディタでポリシードキュメントを開き、キー管理者にアクセス許可を追加するポリシーステートメント ("Sid": "Allow access for Key Administrators" を使用するポリシーステートメントなど) に kms:ScheduleKeyDeletion アクセス許可および kms:CancelKeyDeletion アクセス許可を追加します。その後、ファイルを保存します。次の例は、これらの 2 つの権限を持つポリシーステートメントを示しています。

    { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSKeyAdmin"}, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": "*" }
  3. aws kms put-key-policyコマンドを使用して、 にキーポリシーを適用しますCMK。