自動キーローテーションを有効にする - AWS Key Management Service

自動キーローテーションを有効にする

デフォルトでは、KMS キーの自動キーローテーションを有効にすると、AWS KMS により毎年、その KMS キー向けに新しい暗号化マテリアルが生成されます。カスタム rotation-period を指定して、自動キーローテーションを有効化してから AWS KMS がキーマテリアルをローテーションするまでの日数と、それ以降の各自動ローテーション間の日数を定義することもできます。

自動キーローテーションには次の利点があります。

  • キー IDキー ARN、リージョン、ポリシー、アクセス許可などの KMS キーのプロパティは、キーがローテーションされても変更されません。

  • KMS キーのキー ID またはキー ARN を参照するアプリケーションまたはエイリアスを変更する必要はありません。

  • キーマテリアルのローテーションは、どの AWS のサービスでの KMS キーの使用にも影響しません。

  • キーローテーションを有効にすると、AWS KMS はローテーション期間に基づく次のローテーション日に、KMS キーを自動的にローテーションします。更新を覚えている、またはスケジュールする必要はありません。

自動キーローテーションは、AWS KMS コンソール操作で、またはEnableKeyRotation オペレーションを使用して有効化することができます。自動キーローテーションを有効にするには、kms:EnableKeyRotation アクセス許可が必要です。AWS KMS アクセス許可の詳細については、「アクセス許可に関するリファレンス」を参照してください。

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

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

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

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

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

    [キーのローテーション] タブは、マルチリージョンの対称暗号化 KMS キーなど、AWS KMS が生成したキーマテリアルを持つ対称暗号化 KMS キー ([オリジン][AWS_KMS]) の詳細ページにのみ表示されます。

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

  6. [自動キーローテーション] セクションで、[編集] を選択します。

  7. [キーローテーション] で、[有効化] を選択します。

    注記

    KMS キーが無効になっているか、削除待ち状態の場合、AWS KMS はキーマテリアルをローテーションせず、自動キーローテーションステータスまたはローテーション期間を更新することができません。KMS キーを有効にするか、削除をキャンセルして自動キーローテーション設定を更新します。詳細については、「キーローテーションの仕組み」および「AWS KMS キーのキーステータス」を参照してください。

  8. (オプション) 90 日から 2560 日の範囲でローテーション期間を入力します。デフォルト値は 365 日です。カスタムローテーション期間を指定しない場合、AWS KMS はキーマテリアルを毎年ローテーションします。

    kms:RotationPeriodInDays 条件キーを使用して、プリンシパルがローテーション期間に指定できる値を制限することができます。

  9. [保存] を選択します。

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

EnableKeyRotation オペレーションでは、指定された KMS キーの自動キーローテーションが有効になります。このオペレーションで KMS キーを特定するには、キー ID またはキー ARN を使用します。デフォルトでは、カスタマーマネージドキーのキーローテーションは無効になっています。

kms:RotationPeriodInDays 条件キーを使用して、プリンシパルが EnableKeyRotation リクエストの RotationPeriodInDays パラメータに指定できる値を制限することができます。

以下の例では、指定された対称暗号化 KMS キーについてローテーション期間を 180 日に設定してキーローテーションを有効にし、GetKeyRotationStatus オペレーションを使用して結果を確認しています。

$ aws kms enable-key-rotation \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --rotation-period-in-days 180 $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyRotationEnabled": true, "RotationPeriodInDays": 180, "NextRotationDate": "2024-02-14T18:14:33.587000+00:00" }