マルチリージョンキーを削除する - AWS Key Management Service

マルチリージョンキーを削除する

マルチリージョンのプライマリキーまたはレプリカキーを使用しなくなった場合は、その削除をスケジュールできます。

KMS キーの削除は常に慎重に行う必要がありますが、プライマリキーがまだ AWS KMS に存在している場合は、マルチリージョンキーのレプリカを削除する際のリスクは比較的低いといえます。レプリカキーをそのリージョンから削除しても、削除されたキーで暗号化された暗号化テキストを発見した場合、関連するマルチリージョンキーを使用してその暗号化テキストを復号できます。また、プライマリキーをレプリカキーリージョンに再度レプリケートして、レプリカキーを再作成することもできます。

ただし、プライマリキーとそのすべてのレプリカキーを削除することは、単一リージョンキーを削除することと同様に、非常に危険なオペレーションです。

警告

KMS キーを削除することは破壊的であり、リスクを伴います。KMS キーが不要であり、今後も使用しないことが確実である場合にのみ実行してください。不明な場合は、削除するのではなく KMS キーを無効化するべきです。

プライマリキーを削除するには、まずそのプライマリキーのレプリカキーをすべて削除する必要があります。レプリカキーを削除せずに特定のリージョンからプライマリキーを削除する必要がある場合は、プライマリリージョンの更新を使用して、プライマリキーをレプリカキーに変更します。

KMS キーの削除をスケジュールする前に、AWS KMS keys を削除する のトピックの注意点、KMS キーの過去の使用状況を確認する方法を説明したトピック、待機期間中に KMS キーの使用を警告する CloudWatch アラームの設定方法を説明したトピックを確認してください。非対称マルチリージョンキーのプライマリキーを削除する前に、非対称キーの削除のトピックを確認してください。

マルチリージョンキーを削除するためのアクセス許可

マルチリージョンキーの削除をスケジュールするには、次のアクセス許可のみが必要です。

  • kms:ScheduleKeyDeletion — マルチリージョンキーの削除をスケジュールし、その待機期間を設定します。

次の関連するアクセス許可を持つことを強くお勧めします。

  • kms:CancelKeyDeletion — マルチリージョンキーのスケジュールされた削除をキャンセルします。

  • kms:DescribeKey — マルチリージョンキーのキーステータスと、関連するマルチリージョンキーのリストを表示します。

  • kms:DisableKey — マルチリージョンキーを削除する代わりに無効にするオプションを提供します。

  • kms:EnableKey — 削除をキャンセルした後に、マルチリージョンキーの機能を復元します。

プライマリキーのレプリケーションおよび変更のアクセス許可を含めることもできます。

これらのアクセス許可は IAM ポリシーに含めることができますが、管理する必要がある KMS キーにのみ適用されるキーポリシーに付与することがベストプラクティスです。

レプリカキーを削除するには

AWS KMS コンソールまたは AWS KMS API を使用して、レプリカキーを削除できます。レプリカキーはいつでも削除することができます。これは、他の KMS キーのキーステータスに依存しません。

誤ってレプリカキーを削除した場合は、同じリージョンで同じプライマリキーをレプリケートすることで再度作成できます。作成した新しいレプリカキーは、元のレプリカキーと同じ共有プロパティを有します。

マルチリージョンのレプリカキーを削除する手順は、単一リージョンキーを削除する手順と同じです。


                マルチリージョンレプリカキーを削除する
  1. レプリカキーの削除をスケジュールします。7 ~ 30 日間の待機期間を選択します。デフォルトの待機時間は、30 日です。

  2. 待機期間中はレプリカキーのキーステータスPending deletion (PendingDeletion) に変更され、暗号化オペレーションで使用することはできません。

  3. レプリカキーのスケジュールされた削除は、待機期間中の任意の時点でキャンセルできます。キーステータスが Disabled に変更され、KMS キーを再度有効にできます。

  4. 待機期間が終了すると、AWS KMS はレプリカキーを削除します。

アクションのレコードは AWS CloudTrail ログで表示できます。AWS KMS は、KMS キーの削除をスケジュールするオペレーションおよび KMS キーの削除アクションを記録します。

レプリカキーを削除する (コンソール)

マルチリージョンのレプリカキーの削除をスケジュールするには、単一リージョンキーの削除をスケジュールのと同じ手順を使用します。

関連するレプリカキーが別の AWS リージョン に設定されている場合、一度に複数のレプリカキーの削除をスケジュールすることはできません。関連するレプリカキーを削除するには、次のようなパターンを使用します。

関連するすべてのレプリカキーの削除をスケジュールするには

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

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

  3. 右上隅にあるリージョンセレクターを使用して、マルチリージョンのプライマリキーのリージョンを選択します。

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

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

  6. [Related multi-Region keys] (関連するマルチリージョンキー) のセクションで、レプリカキーのキー ARN を選択します。

    このアクションにより、新しいブラウザタブでレプリカキーのキーの詳細ページが開きます。コンソールはレプリカキーリージョンに設定されます。

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

    このアクションにより、キーの削除をスケジュールするプロセスがスタートします。キーの削除をスケジュールするプロセスを完了します。詳細については、「キー削除のスケジュールとキャンセル (コンソール)」を参照してください。

  8. プライマリキーの [Regionality] (リージョナリティー) タブを表示するブラウザタブに戻ります。(レプリカキーの更新ステータスを表示するには、ページを更新する必要がある場合があります)。別のレプリカキーのキー ARN を選択し、レプリカキーの削除をスケジュールするプロセスを繰り返します。

レプリカキーを削除する (AWS KMS API)

マルチリージョンのレプリカキーの削除をスケジュールするには、ScheduleKeyDeletion オペレーションを使用します。KMS キーを指定するには、キー ID またはキー ARN を使用します。マルチリージョンキーを使用する場合は、明示的なリージョン値を持つキー ARN を使用することでエラーの発生率を減らすことができます。

例えば、このコマンドは us-west-2 米国西部 (オレゴン) リージョンからレプリカキーを削除します。コマンドでは待機期間が指定されていないため、待機期間はデフォルトの 30 日間に設定されます。

$ aws kms schedule-key-deletion \ --region us-west-2 \ --key-id arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab

コマンドが成功すると、キー ARN (KeyId)、待機期間 (PendingWindowInDays)、削除日 (DeletionDate)、想定では PendingDeletion となる現在のキーステータス (KeyState) が返されます。

マルチリージョンのレプリカキーを削除するときは、キー ARN のキー ID とリージョン値が想定どおりの値であることを確認してください。

{ "KeyId": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "DeletionDate": 1599523200.0, "KeyState": "PendingDeletion", "PendingWindowInDays": 30 }

マルチリージョンのプライマリキーのすべてのレプリカをプログラムで削除するには、レプリカキーを含むリージョンのリストを作成します。次に、リスト内の各リージョンに対して、上図のように ScheduleKeyDeletion オペレーションを呼び出します。

完全に削除される単一リージョンキーとは異なり、レプリカキーは、削除したレプリカキーがあったリージョンでプライマリキーのレプリケーションを実行することで復元できます。

レプリカキーのステータスをチェックし、マルチリージョンキーのプライマリキーとレプリカキーを表示するには、DescribeKey オペレーションを使用します。

プライマリキーを削除するには

マルチリージョンのプライマリキーの削除はいつでもスケジュールすることができます。ただし、AWS KMS では、削除がスケジュールされていても、レプリカキーを持つマルチリージョンのプライマリキーは削除されません。

プライマリキーを削除するには、すべてのレプリカキーの削除をスケジュールし、レプリカキーが削除されるまで待機する必要があります。プライマリキーの削除に必要な待機時間は、最後のレプリカキーが削除された時点から始まります。レプリカキーを削除せずに特定のリージョンからプライマリキーを削除する必要がある場合は、プライマリリージョンの更新を使用して、プライマリキーをレプリカキーに変更します。

プライマリキーにレプリカキーがない場合、プロセスはレプリカキーの削除またはリージョナル KMS キーの削除と同じです。

プライマリキーの削除がスケジュールされている間は、プライマリキーを暗号化オペレーションで使用したり、レプリケートすることはできません。ただし、削除がスケジュールされていない限り、レプリカキーは影響を受けません。

AWS KMS コンソールまたは AWS KMS API を使用して、プライマリキーとレプリカキーの削除をスケジュールできます。プライマリキーの削除スケジュールは、レプリカキーの削除スケジュールの前、後、または同時に設定できます。プロセスは、次のようになります。

  1. プライマリキーの削除をスケジュールします。7 ~ 30 日間の待機期間を選択します。デフォルトの待機時間は、30 日です。ただし、プライマリキーの待機期間は、すべてのレプリカキーが削除されるまで開始されません。

    レプリカキーがまだ存在する場合は、プライマリキーのキーステータスPending replica deletion (PendingReplicaDeletion) に変更されます。それ以外の場合は、Pending deletion (PendingDeletion) に変更されます。いずれの場合も、プライマリキーを暗号化オペレーションで使用したり、レプリケートしたりすることはできません。

    プライマリキーの削除をスケジュールしても、レプリカキーには影響しません。キーステータスは有効なままであり、暗号化オペレーションで使用することができます。レプリカキーが削除されない場合、プライマリキーの Pending replica deletion ステータスは無期限に持続する可能性があります。

    KMS key: Key state: Primary (us-east-1) Pending replica deletion (waiting period 30 days -- not started) Replica (us-west-2) Enabled Replica (eu-west-1) Enabled Replica (ap-southeast-2) Enabled
    
                        マルチリージョンのプライマリキーの削除をスケジュールする
  2. 各レプリカキーの削除をスケジュールします。7 ~ 30 日間の待機期間を選択します。デフォルトの待機時間は、30 日です。複数のレプリカキーを同時に削除できます。待機期間は同時に実行されます。待機期間中はレプリカキーのキーステータスPending deletion (PendingDeletion) に変化し、これらの KMS キーを暗号化オペレーションで使用することはできません。

    例えば、3 つのレプリカキーがある場合、3 つのレプリカキーをすべて同時に削除するようにスケジュールできます。レプリカキーには、同じ、または異なる待機期間を設定することができます。プライマリキーの待機期間がまだ始まっていないことに注意してください。レプリカキーが存在するため、キーステータスは PendingReplicaDeletion です。

    KMS key: Key state: Primary key (us-east-1) Pending replica deletion (waiting period 30 days -- not started) Replica (us-west-2) Pending deletion (7 days) Replica (eu-west-1) Pending deletion (7 days) Replica (ap-southeast-2) Pending deletion (30 days)
  3. プライマリキーまたはレプリカキーのスケジュールされた削除は、キーが削除されるまでキャンセルできます。キーステータスが Disabled に変更され、KMS キーを再度有効にできます。

  4. 最後のレプリカキーの待機期間が終了すると、AWS KMS は最後のレプリカキーを削除します。プライマリキーのキーステータスが Pending replica deletion (PendingReplicaDeletion) から Pending deletion (PendingDeletion) に変更され、プライマリキーの 7 〜 30 日の待機期間が開始します。

    KMS key: Key state: Primary key (us-east-1) Pending deletion (waiting period 30 days)
    
                        マルチリージョンキーのすべてのレプリカキーを削除する
  5. 待機期間が終了すると、AWS KMS はプライマリキーを削除します。

レプリカを持つプライマリキーを削除する最小期間は 14 日間です。

プライマリキーとすべてのレプリカキーの削除の待機期間を 7 日間にスケジュールすると、レプリカキーは 7 日後に削除されます。プライマリキーは 14 日後に削除されます。

  • 1日目: 最小待機期間が 7 日間のプライマリキーとレプリカキーの削除をスケジュールします。レプリカキーの 7 日間の削除待機期間がスタートします。プライマリキーの削除待機期間はまだスタートしていません。

  • 7日目: レプリカキーの削除待機期間が終了します。AWS KMS は、すべてのレプリカキーを削除します。最後のレプリカキーが削除されると、プライマリキーの 7 日間の削除待機期間がスタートします。

  • 14日目: プライマリキーの削除待機期間が終了します。AWS KMS はプライマリキーを削除します。

アクションのレコードは AWS CloudTrail ログで表示できます。AWS KMS は、各 KMS キーの削除をスケジュールするオペレーションおよび KMS キーの削除アクションを記録します。

プライマリキーを削除する (コンソール)

マルチリージョンのプライマリキーを削除するには、以下の手順に従います。

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

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

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

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

  4. 削除するプライマリキーの横にあるチェックボックスをオンにします。このプライマリキーのレプリカを含む 1 つ以上の KMS キーを選択することもできます。

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

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

  7. [Waiting period (in days) (待機期間 (日数))] に、日数として 7~30 の値を入力します。複数の KMS キーを選択した場合、選択した待機期間は、選択したすべての KMS キーに適用されます。レプリカキーの待機期間は同時に実行されますが、プライマリキーの待機期間は、AWS KMS が最後のレプリカキーを削除するまで始まりません。

  8. [Confirm that you want to delete this key in <number of days> days] (<日数> 日後に、このキーを削除することを確認する) の横にあるチェックボックスをオンにします。

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

KMS キーの削除ステータスをチェックするには詳細ページ、プライマリキーについては一般設定セクションを参照してください。キーステータスがステータスフィールドに表示されます。プライマリキーのキーステータスが Pending deletion に変化すると、スケジュールされた削除日が表示されます。

すべてのプライマリキーおよびレプリカキーのキーステータス (ステータス) は、任意のマルチリージョンキー詳細ページのリージョナリティータブでチェックすることもできます。詳細については、「マルチリージョンキーを表示する」を参照してください。

プライマリキーを削除する (AWS KMS API)

マルチリージョンのレプリカキーを削除するには、ScheduleKeyDeletion オペレーションを使用します。KMS キーを指定するには、キー ID またはキー ARN を使用します。マルチリージョンキーを使用する場合は、明示的なリージョン値を持つキー ARN を使用することでエラーの発生率を減らすことができます。

例えば、このコマンドは、us-east-1 (米国東部 (バージニア北部)) リージョンからプライマリキーを削除します。コマンドでは待機期間が指定されていないため、待機期間はデフォルトの 30 日間に設定されます。

$ aws kms schedule-key-deletion \ --key-id arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab

コマンドが成功すると、キー ARN、結果のキーステータス、待機期間 (PendingWindowInDays) が返されます。

プライマリキーにレプリカがない場合、プライマリキーのキーステータスは PendingDeletion になり、出力には DeletionDate フィールドが含まれます。レプリカキーが残っている場合、プライマリキーのキーステータスは PendingReplicaDeletion になり、DeletionDate は不確実なため省略されます。レプリカキーの削除がスケジュールされている場合でも、スケジュールされた削除をキャンセルすることができます。

マルチリージョンのプライマリキーを削除するときは、キー ARN のキー ID とリージョン値が想定どおりの値であることを確認してください。

{ "KeyId": "arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "KeyState": "PendingReplicaDeletion", "PendingWindowInDays": 30 }

KMS キーの削除ステータスをチェックするには、プライマリキーまたは残りのレプリカキーに対して DescribeKey オペレーションを使用します。プライマリキーの待機期間クロックは、最後のレプリカが削除され、キーステータスが PendingDeletion に変化するまでスタートしません。

プライマリキーの予定削除日を計算するには、レスポンスでレプリカキー ARN をループスルーし、それぞれに DescribeKey を実行して最新の DeletionDate 値を取得し、プライマリキーの PendingDeletionWindowInDays 値を追加します。レプリカキーの待機期間は同時に実行されます。

次の例では、KMS キーは、既存のレプリカキーを持つマルチリージョンのプライマリキーです。キーステータスが PendingReplicaDeletion のため、レスポンスには DeletionDate ではなく待機期間 (PendingWindowInDays) が含まれます。プライマリキーの実際の削除日は、レプリカキーがいつ削除されるかによって異なります。

$ aws kms describe-key \ --key-id arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab { "KeyMetadata": { "AWSAccountId": "111122223333", "KeyId": "mrk-1234abcd12ab34cd56ef1234567890ab", "Arn": "arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "CreationDate": 1597902361.481, "Enabled": false, "Description": "", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "PendingReplicaDeletion", "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": true, "MultiRegionConfiguration": { "MultiRegionKeyType": "PRIMARY", "PrimaryKey": { "Arn": "arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "us-east-1" }, "ReplicaKeys": [ { "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "us-west-2" }, { "Arn": "arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "eu-west-1" }, { "Arn": "arn:aws:kms:ap-southeast-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "ap-southeast-2" } ] }, "PendingDeletionWindowInDays": 30 } }

すべてのレプリカが削除されると、DescribeKey 出力は、残っている、キーステータス PendingDeletion のプライマリキーを表示します。キーステータスが PendingDeletion の間、PendingWindowInDays フィールドの代わりに DeletionDate フィールドが表示されます。

$ aws kms describe-key \ --key-id arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab { "KeyMetadata": { "AWSAccountId": "111122223333", "KeyId": "mrk-1234abcd12ab34cd56ef1234567890ab", "Arn": "", "CreationDate": 1597902361.481, "Enabled": false, "Description": "", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "PendingDeletion", "KeyUsage": "ENCRYPT_DECRYPT", "DeletionDate": 1597968000.0, "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": true, "MultiRegionConfiguration": { "MultiRegionKeyType": "PRIMARY", "PrimaryKey": { "Arn": "arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "us-east-1" }, "ReplicaKeys": [] } } }