すべてのプロダクト
Search
ドキュメントセンター

Key Management Service:Key rotation

最終更新日:Feb 11, 2026

Key Management Service (KMS) は、キーを定期的にローテーションできるキーローテーション機能を提供します。これにより、キーとビジネスデータのセキュリティが向上します。このトピックでは、キーローテーションの仕組みと設定方法について説明します。

キーをローテーションする理由

  • 単一のキーで暗号化されるデータ量を削減します。これにより、暗号解読攻撃のリスクが低減します。

    キーのセキュリティは、そのキーで暗号化されるデータ量に反比例します。データ量とは、通常、単一のキーで暗号化されたデータの総バイト数を指します。キーを定期的にローテーションすることで、各キーの暗号解読攻撃の攻撃対象領域が減少し、全体的な暗号化スキームがより安全になります。

  • セキュリティインシデントへの対応に備えます。

    キーローテーションをシステム設計と実装に組み込むことで、日常的なセキュリティ管理タスクとなります。これにより、セキュリティインシデントが発生した場合にシステムが対応できる状態を確保します。

  • キーが侵害される可能性のあるタイムウィンドウを短縮します。

    キーを定期的にローテーションし、新しいキーでデータを再暗号化する場合、ローテーション期間が攻撃者にとってキーを侵害できるタイムウィンドウとなります。攻撃者はデータにアクセスするために、次のローテーションまでにキーを解読する必要があります。これは、暗号解読攻撃からデータを保護するための実用的な方法です。

  • コンプライアンス要件を満たすのに役立ちます。

    定期的なキーローテーションは、企業がさまざまな基準に準拠するのに役立ちます。キーローテーションを要求する基準には、以下が含まれますが、これらに限定されません:

    • ペイメントカード業界データセキュリティ基準 (PCI DSS)。

    • GM/T 0051-2016 暗号デバイス管理 - 対称キー管理技術仕様書など、中国国家暗号管理局の基準。

    • NIST Special Publication 800-57 Recommendation for Key Management など、米国国立標準技術研究所 (NIST) の基準。

キーローテーションの仕組み

1 つのキーは複数のバージョンを持つことができます。これらのバージョンは、暗号学的に互いに異なります。KMS は、新しいキーバージョンを作成することでキーをローテーションします。KMS は常に最新のキーバージョンを暗号化操作に使用します。使用するキーバージョンを指定することはできません。

説明
  • キーローテーションでは新しいキーバージョンが作成されます。キー ID、キー ARN、およびエイリアスは変更されません。

  • KMS はキーバージョンを削除しません。キーバージョンは、親キーが削除された場合にのみ削除されます。

キーを作成すると、KMS は初期キーバージョンを生成し、それをプライマリバージョンとして設定します。キーがローテーションされると、KMS は新しいキーバージョンを作成し、それを新しいプライマリバージョンとして設定します。次の図は、このプロセスを示しています。

image

定期的な自動ローテーションを有効にすると、次回ローテーション時刻は次の数式で計算されます:最終ローテーション時刻 + ローテーション期間

説明
  • DescribeKey 操作を呼び出すことができます。返される LastRotationDate フィールドは最終ローテーション時刻を示します。NextRotationDate フィールドは、次回のローテーションがスケジュールされている時刻を示します。

  • キーが定期的な自動ローテーションに設定されており、スケジュールされたローテーションの間に手動ローテーションを実行した場合、手動ローテーションの時刻が新しい最終ローテーション時刻になります。この新しい時刻は、次回ローテーション時刻の計算に使用されます。

適用範囲

  • キータイプとソース:

    キータイプ

    キーマテリアルソース

    定期的な自動ローテーション

    即時の手動ローテーション

    ソフトウェア保護キー (対称)

    KMS によって生成

    対応

    対応

    外部ソースからインポート (BYOK)

    非対応

    対応

    ソフトウェア保護キー (非対称)

    KMS によって生成、外部ソースからインポート (BYOK)

    非対応

    ハードウェア保護キー (対称および非対称)

    KMS によって生成

    外部ソースからインポート (BYOK)

  • キーステータス:キーは Enabled 状態である必要があります。

    キーが Disabled または 削除待ち 状態の場合、キーローテーションは一時停止します。キーが再度有効になると、キーローテーションは再開されます。

  • 特定のキーに関する追加条件:

    デフォルトキーの場合、ローテーション付加価値サービスを購入する必要があります。

デフォルトキーのローテーション設定

課金

デフォルトキーは Alibaba Cloud サービスによるサーバーサイド暗号化に使用され、無料です。ただし、デフォルトキーのキーローテーションは付加価値サービスです。

費用:USD 9/年/リージョン。サービスを購入すると、指定されたリージョン内のすべてのデフォルトキー (サービスキーとデフォルト CMK を含む) がローテーションの対象となります。

ローテーション方法と日付

定期的な自動ローテーションのみがサポートされています。即時の手動ローテーションはサポートされていません。

ローテーション期間は 365 日に固定されており、変更できません。ローテーションを有効にすると、最初のローテーションはキーバージョンが作成されてから 365 日後に発生します。その後のローテーションは 365 日ごとに行われます。

説明

ローテーション付加価値サービスは年間で課金されます。次回のローテーションがスケジュールされているときに、サブスクリプションがアクティブであることを確認してください。そうでない場合、ローテーションは失敗します。

ローテーションの有効化 (定期的な自動ローテーション)

  1. キーローテーション付加価値サービスを購入します。

    1. Key Management Service コンソールにログインします。トップメニューバーでリージョンを選択します。左側のナビゲーションペインで、リソース > キー管理 を選択します。

    2. [デフォルトキー] タブで、[ロータリーサービスの購入] をクリックし、設定を完了します。

      1. インスタンスタイプ[付加価値プラン] を選択します。

      2. 付加価値プラン[デフォルトキーローテーション] を選択します。

      3. リージョン:デフォルトキーが配置されているリージョンを選択します。

      4. 購入数量:リージョンごとに 1 つ購入するだけで十分です。

    3. [今すぐ購入] をクリックし、利用規約をよく読み、[支払い] をクリックして購入を完了します。

  2. キーローテーションを有効にします。

    • サービスキー

      設定は不要です。KMS が自動的にローテーションを有効にします。

    • デフォルト CMK

      コンソール

      1. デフォルトキー」タブの「キー管理」で、キーの ID をクリックします。

      2. 詳細ページで、Key Version タブをクリックし、Configure Rotation をクリックします。

      3. Configure Rotation Policy ダイアログボックスで、Rotation Status スイッチをオンにし、OK をクリックします。キー詳細ページで、Rotation StatusEnabled に変わり、Rotation Period Days 単位で表示されます。

キーのローテーションの使用

デフォルトキーは、Alibaba Cloud サービスによるサーバーサイド暗号化にのみ使用できます。ローテーションを有効にすると、Alibaba Cloud サービスが自動的にローテーションを管理します。手動操作は不要です。詳細については、「クラウド製品での暗号化のための KMS 統合の概要」をご参照ください。

ローテーション詳細の表示

コンソール

  1. キー管理デフォルトキー タブで、表示したいサービスキーまたはマスターキーを探します。

  2. キー ID をクリックします。詳細ページで、Rotation StatusRotation Period、および Key Version を表示します。

KMS インスタンス内のキーのローテーション設定

クォータ消費

キーローテーションは、KMS インスタンスのキークォータを消費します。キーの各バージョンは 1 つのキークォータを消費します。たとえば、キーに 3 つのバージョン (V1、V2、V3) がある場合、3 つのキークォータを消費します。クォータを増やすには、「KMS インスタンスのアップグレード」をご参照ください。

ローテーション方法と日付

KMS は、定期的な自動ローテーションと即時の手動ローテーションをサポートしています。

  • 定期的な自動ローテーション:7 日から 365 日のカスタムローテーション期間を設定して、定期的に新しいキーバージョンを生成します。

  • 即時の手動ローテーション:すぐに新しいキーバージョンを生成します。

ローテーションの有効化

  • 定期的な自動ローテーションの有効化

    コンソール

    • キー作成時にキーローテーションを有効にします。詳細については、「キーの管理」をご参照ください。

      1. キー」タブの「キー管理」からインスタンス ID を選択し、「キーの作成」をクリックします。

      2. キーの作成 パネルで、設定を完了します。自動ローテーション を有効にし、ローテーション期間 を設定してから、OK をクリックします。

    • キー作成後にキーローテーションを有効にします。

      1. キー」タブの「キー管理」で、インスタンス ID を選択し、その後、対象キーの ID をクリックします。

      2. キー詳細ページの Key Version エリアで、Configure Rotation をクリックします。Set Rotation Policy ダイアログボックスで、定期的な自動ローテーションを有効にし、ローテーション期間を設定してから、OK をクリックします。

    API

    • キー作成時にキーローテーションを有効にします。

      CreateKey 操作を呼び出します。EnableAutomaticRotation および RotationInterval パラメーターを設定します。

    • キー作成後にキーローテーションを有効にします。

      UpdateRotationPolicy 操作を呼び出します。EnableAutomaticRotation および RotationInterval パラメーターを設定します。

  • 即時の手動ローテーション

    • KMS によって生成されたキーマテリアルを持つキーの場合。

      コンソール

      1. キー管理キー タブで、インスタンス ID を選択し、対象キーの ID をクリックします。

      2. キー詳細ページの Key Version エリアで、Configure Rotation をクリックします。Set Rotation Policy ダイアログボックスで、Rotate Now を選択し、OK をクリックします。

      API

      CreateKeyVersion 操作を呼び出します。

    • インポートされたキーマテリアルを使用する BYOK キーの場合。

      1. 新しいキーマテリアルをインポートします

        1. Key Management Service コンソールにログインします。トップメニューバーでリージョンを選択します。左側のナビゲーションペインで、リソース > キー管理 を選択します。

        2. Keys タブで、インスタンス ID を選択し、対象キーの [アクション] 列にある Details をクリックします。

        3. キー素材とバージョン タブで、左上隅にある 新しいキー素材をインポートする をクリックします。「対称キーマテリアルのインポート」の指示に従ってキーマテリアルをインポートします。

        4. 新しいキーマテリアルがインポートされると、ステータスが [ローテーション保留中] の新しいキーバージョンが生成されます。キーバージョンリストで新しいキーバージョンを表示できます。

          重要

          現在の新しいバージョンがローテーションされるまで、別のキーバージョンをインポートすることはできません。

      2. ローテーションを実行します。

        1. ステップ 1 で生成されたキーバージョンの [アクション] 列で、ロータリー をクリックします。

        2. Rotate Now ダイアログボックスで、キーマテリアル ID が正しいことを確認し、OK をクリックします。

ローテーション済みキーの使用

キーが Alibaba Cloud サービスによるサーバーサイド暗号化に使用される場合、ローテーションを有効にすると、サービスが自動的にキーローテーションを管理します。手動操作は不要です。自社開発アプリケーションで暗号化にキーを使用する場合は、次の API 操作を使用して暗号化操作を行います。デフォルトでは、操作はローテーションされたキーの最新バージョンを使用します。

Alibaba Cloud SDK の使用

Alibaba Cloud SDK は OpenAPI を呼び出します。暗号化と復号を実行するには、次の操作を呼び出します。

  • データキーの生成:GenerateDataKey。指定されたキーのプライマリバージョンを使用してデータキーを暗号化します。

  • 暗号化:Encrypt。指定されたキーのプライマリバージョンを使用してプレーンテキストを暗号化します。

  • 復号:Decrypt。提供された暗号文に対応するキーバージョンを使用してデータを復号します。

KMS インスタンス SDK の使用 (非推奨)

新規ユーザーにはこの SDK の使用を推奨しません。KMS インスタンス SDK はインスタンス API を呼び出します。暗号化と復号を実行するには、次の操作を呼び出します。

  • データキーの生成:AdvanceGenerateDataKey。KMS は指定されたキーのプライマリバージョンを使用してデータキーを暗号化します。

  • 暗号化:AdvanceEncrypt。KMS は指定されたキーのプライマリバージョンを使用してプレーンテキストを暗号化します。

  • 復号:AdvanceDecrypt。KMS は提供された暗号文に対応するキーバージョンを使用してデータを復号します。

重要

キーの自動ローテーションを有効にしている場合は、古いインスタンス API 操作である EncryptDecrypt、または GenerateDataKey を使用しないでください。これらの操作は、暗号化と復号に初期キーバージョンを使用し、ローテーション後に生成された新しいキーバージョンを使用しません。

ローテーション詳細の表示

コンソール

  1. キー管理キー タブで、インスタンス ID を選択し、対象キーの ID をクリックします。

  2. 詳細ページで、Rotation StatusRotation Period、および Key Version を表示できます。

API

  • DescribeKey 操作を呼び出します。レスポンスの AutomaticRotation および RotationInterval パラメーターを確認します。

  • ListKeyVersions 操作を呼び出します。レスポンスの KeyVersions パラメーターを確認します。