オンデマンドキーローテーションの実行 - AWS Key Management Service

オンデマンドキーローテーションの実行

自動キーローテーションが有効かどうかにかかわらず、カスタマーマネージド KMS キーのキーマテリアルのオンデマンドローテーションを実行できます。自動ローテーション (DisableKeyRotation) を無効にしても、オンデマンドローテーションを実行する機能には影響せず、進行中のオンデマンドローテーションもキャンセルされません。オンデマンドローテーションは、既存の自動ローテーションスケジュールには影響を与えません。例えば、ローテーション期間を 730 日に設定して自動キーローテーションを有効化している KMS キーを想定してみましょう。キーの自動ローテーションを 2024 年 4 月 14 日に予定して、オンデマンドローテーションを 2024 年 4 月 10 日に実行しても、キーはスケジュールどおりに、2024 年 4 月 14 日と以降 730 日ごとに自動ローテーションされます。

オンデマンドキーローテーションは、1 つの KMS キーごとに最大 10 回実行できます。AWS KMS コンソール上で、特定の KMS キーについて実行可能な残りのオンデマンドローテーション回数を確認できます。

オンデマンドキーローテーションは、対称暗号化 KMS キーでのみサポートされています。非対称 KMS キーHMAC KMS キーインポートされたキーマテリアルを持つ KMS キー、またはカスタムキーストア内のマルチリージョン KMS キーをオンデマンドローテーションすることはできません。関連するマルチリージョンキーセットのオンデマンドローテーションを実行するには、プライマリキーでオンデマンドローテーションを呼び出します。

kms:RotateKeyOnDemandkms:GetKeyRotationStatus のアクセス許可を持つ認可済みユーザーは、AWS KMS コンソール操作または AWS KMS API を使用してオンデマンドキーローテーションを開始し、キーローテーションステータスを確認することができます。KMS キーの完了済みのローテーションを表示するには、ListKeyRotations を使用します。

オンデマンドキーローテーションの開始 (コンソール)

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

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

  3. ナビゲーションペインで、[カスタマーマネージドキー] を選択します。(AWS マネージドキー をオンデマンドローテーションすることはできません。これらのキーのローテーションは毎年自動的に行われます。)

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

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

    [キーマテリアルとローテーション] タブは、自動ローテーションまたはオンデマンドローテーションをサポートする対称暗号化 KMS キーの詳細ページにのみ表示されます。これには、AWS KMS が生成したキーマテリアルを持つ KMS キー (AWS_KMS オリジン) と、インポートされたキーマテリアルを持つ単一リージョン KMS キー (EXTERNAL オリジン) が含まれます。

    非対称 KMS キー、HMAC KMS キー、インポートされたキーマテリアルを持つマルチリージョン KMS キー、またはカスタムキーストア内の KMS キーをオンデマンドでローテーションすることはできません。ただし、手動でローテーションすることはできます。

  6. [今すぐローテーション] を選択します。インポートされたキーマテリアルを持つ単一リージョンの対称暗号化キーの場合、[今すぐローテーション] オプションは、以前にインポートした新しいキーマテリアルがあり、それが [保留中のローテーション] 状態である場合にのみ使用できます。

  7. そのキーの残りのオンデマンドローテーション回数に関する注意事項が表示されるので、確認します。また、ローテーション後に最新になるキーマテリアルの ID、説明、有効期限などの情報も表示されます。オンデマンドローテーションを続行しない場合は、[キャンセル] を選択します。

  8. [キーをローテーションする] を選択して、オンデマンドローテーションの実行を確定します。

    注記

    オンデマンドローテーションは、他の AWS KMS 管理オペレーションと同様に、結果整合性の影響下にあります。新しいキーマテリアルが AWS KMS 全体で使用可能になるまで、若干の遅延が生じることがあります。オンデマンドローテーションが完了すると、コンソールの上部にあるバナーに通知が表示されます。

オンデマンドキーローテーションの開始 (AWS KMS API)

任意のカスタマーマネージドキーについて、AWS Key Management Service (AWS KMS) API を使用してオンデマンドキーローテーションを開始し、現在のローテーションステータスを確認することができます。この例では AWS Command Line Interface (AWS CLI) を使用していますが、サポートされている任意のプログラミング言語を使用することができます。

RotateKeyOnDemand オペレーションは、指定された KMS キーのオンデマンドキーローテーションを直ちに開始します。これらのオペレーションで KMS キーを識別するには、そのキー ID またはキー ARN を使用します。

次の例では、指定された対称暗号化 KMS キーについてオンデマンドキーローテーションを開始し、GetKeyRotationStatus オペレーションを使用してオンデマンドローテーションが進行中であることを確認しています。kms:GetKeyRotationStatus レスポンス内の OnDemandRotationStartDate は、進行中のオンデマンドローテーションが開始された日時を特定します。この例では、KMS キーで自動ローテーションも有効になっていて、期間は 365 日間です。

$ aws kms rotate-key-on-demand --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" } $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyRotationEnabled": true, "NextRotationDate": "2024-03-14T18:14:33.587000+00:00", "OnDemandRotationStartDate": "2024-02-24T18:44:48.587000+00:00" "RotationPeriodInDays": 365 }

KMS キーが自動ローテーションをサポートしていない場合、または自動ローテーションが有効になっていない場合、次の例に示すように、kms:GetKeyRotationStatus レスポンスのフィールドの数が少なくなります。

$ aws kms rotate-key-on-demand --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" } $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyRotationEnabled": false, "OnDemandRotationStartDate": "2024-02-24T18:44:48.587000+00:00" }