オンデマンドキーローテーションの実行
自動キーローテーションが有効かどうかにかかわらず、カスタマーマネージド 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:RotateKeyOnDemand と kms:GetKeyRotationStatus のアクセス許可を持つ認可済みユーザーは、AWS KMS コンソール操作または AWS KMS API を使用してオンデマンドキーローテーションを開始し、キーローテーションステータスを確認することができます。KMS キーの完了済みのローテーションを表示するには、ListKeyRotations を使用します。
オンデマンドキーローテーションの開始 (コンソール)
-
AWS マネジメントコンソール にサインインし、AWS Key Management Service (AWS KMS) コンソール (https://console.aws.amazon.com/kms
) を開きます。 -
AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。
-
ナビゲーションペインで、[カスタマーマネージドキー] を選択します。(AWS マネージドキー をオンデマンドローテーションすることはできません。これらのキーのローテーションは毎年自動的に行われます。)
-
KMS キーのエイリアスまたは キー ID を選択します。
-
[キーマテリアルとローテーション] タブを選択します。
[キーマテリアルとローテーション] タブは、自動ローテーションまたはオンデマンドローテーションをサポートする対称暗号化 KMS キーの詳細ページにのみ表示されます。これには、AWS KMS が生成したキーマテリアルを持つ KMS キー (AWS_KMS オリジン) と、インポートされたキーマテリアルを持つ単一リージョン KMS キー (EXTERNAL オリジン) が含まれます。
非対称 KMS キー、HMAC KMS キー、インポートされたキーマテリアルを持つマルチリージョン KMS キー、またはカスタムキーストア内の KMS キーをオンデマンドでローテーションすることはできません。ただし、手動でローテーションすることはできます。
-
[今すぐローテーション] を選択します。インポートされたキーマテリアルを持つ単一リージョンの対称暗号化キーの場合、[今すぐローテーション] オプションは、以前にインポートした新しいキーマテリアルがあり、それが [保留中のローテーション] 状態である場合にのみ使用できます。
-
そのキーの残りのオンデマンドローテーション回数に関する注意事項が表示されるので、確認します。また、ローテーション後に最新になるキーマテリアルの ID、説明、有効期限などの情報も表示されます。オンデマンドローテーションを続行しない場合は、[キャンセル] を選択します。
-
[キーをローテーションする] を選択して、オンデマンドローテーションの実行を確定します。
注記
オンデマンドローテーションは、他の 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-id1234abcd-12ab-34cd-56ef-1234567890ab{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }$aws kms get-key-rotation-status --key-id1234abcd-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-id1234abcd-12ab-34cd-56ef-1234567890ab{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab" }$aws kms get-key-rotation-status --key-id1234abcd-12ab-34cd-56ef-1234567890ab{ "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyRotationEnabled": false, "OnDemandRotationStartDate": "2024-02-24T18:44:48.587000+00:00" }