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

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

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

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

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

明示的に削除をスケジュールし、必須の待機期間が終了しない限り、AWS KMS は CMK を削除しません。ただし、CMK を削除する理由には次のものが考えられます (複数が組み合わさる場合もあります)。

  • 不要になった CMK のキーライフサイクルを完了する

  • 未使用の CMK の維持に伴う管理オーバーヘッドと コストを 回避

  • CMK リソースクォータに対してカウントされる CMK の数を減らすには

注記

後で閉じるか、削除する AWS アカウント CMK にはアクセスできなくなり、それらに対して課金されることはなくなります。アカウントを終了した場合は CMK を削除するようにスケジュールする必要はありません。

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

マルチリージョンのプライマリキーとレプリカキーの削除の詳細については、」マルチリージョンキーの削除

待機期間について

CMK を削除するのは破壊的であり、潜在的に危険であるため、AWS KMSでは、待機期間を 7 ~ 30 日に設定する必要があります。デフォルトの待機時間は、30 日です。

ただし、実際の待機期間は、スケジュールした待機時間よりも最大 24 時間長くなる場合があります。CMK が削除される実際の日付と時刻を取得するには、DescribeKeyオペレーション. または、AWS KMSコンソール、上詳細ページCMK 用 (CMK 用) には、一般的な構成セクションの詳細については、スケジュールされた削除日。タイムゾーンに注意してください。

削除を待機中は CMK ステータスおよびキーの状態が削除保留中になります。

待機期間が終了した後、AWS KMSは、CMK、そのエイリアス、および関連するすべてのAWS KMSメタデータ。

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

非対称 CMK の削除

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

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

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

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

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

マルチリージョン CMK の削除

ユーザー権限のあるユーザーは、マルチリージョンのプライマリキーとレプリカキーの削除をスケジュールできます。ただし、AWS KMSは、レプリカキーを持つマルチリージョンのプライマリキーを削除しません。また、プライマリキーが存在する限り、削除されたマルチリージョンレプリカキーを再作成することもできます。詳細については、「マルチリージョンキーの削除」を参照してください。

の CMK の削除AWSサービス

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

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

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

  1. 暗号化された EBS ボリュームを作成し、CMK を指定します。Amazon EBS に問い合わせるAWS KMSCMK を使用して暗号化されたデータキーを生成するボリュームの場合。Amazon EBS は、暗号化されたデータキーをボリュームとともに保存します。

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

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

    予定時間が経過しても、AWS KMSCMK を削除しても、EC2 インスタンスまたは EBS ボリュームに即座に影響はありません。これは、Amazon EC2 は CMK ではなくプレーンテキストのデータキーを使用しているため、EC2 インスタンスまたは EBS ボリュームに即座に影響はありません。

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

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

次の手順は、キーの削除をスケジュールし、単一リージョンカスタマーマスターキー (CMK) のキーの削除をキャンセルする方法を説明しています。AWS KMSの使用AWS Management Consoleとすると、AWS CLIであり、AWS SDK for Java。

マルチリージョンキーの削除のスケジュールについては、」マルチリージョンキーの削除

警告

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

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

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

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

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

左AWS Management Consoleでは、複数の CMK の削除を一度にスケジュールおよびキャンセルできます。

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

  1. にサインインします。AWS Management Consoleを開き、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. 削除する CMK を確認します。

  9. [] のチェックボックスをオンにします。このキーの削除をスケジュールすることを確認するには、<number of days>日間。

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

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

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

  1. を開くAWS KMSコンソールhttps://console.aws.amazon.com/kms

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

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

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

  5. [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": 1598304792.0, "KeyState": "PendingDeletion", "PendingWindowInDays": 10 }

次の例のように、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" }

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

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

次の例では、AWS SDK for Java で CMK の削除をスケジュールする方法を示します。この例では、事前に 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);

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

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

IAM ポリシーを使用してAWS KMSアクセス許可を持つすべての IAM ユーザーとロール、AWS管理者アクセス権 ("Action": "*") またはAWS KMSフルアクセス ("Action": "kms:*") は、すでにキーの削除をスケジュールおよびキャンセルできます。AWS KMSCMK。キーポリシーだけに依存して、AWS KMSアクセス許可がある場合は、IAM ユーザーとロールに CMK の削除を許可するために新しいアクセス許可を追加することが必要な場合があります。これらの権限を追加するには、次のいずれかの手順に従います。

キーの削除をスケジュールおよびキャンセルする権限の追加 (コンソール)

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

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

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

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

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

  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 に適用します。