Share via


Azure Managed HSM でキーの自動ローテーションを構成する

概要

注意

キーの自動ローテーションには、Azure CLI バージョン 2.42.0 以降が必要です

Managed HSM の自動キー ローテーションを使用すると、ユーザーは Managed HSM を構成して、指定した頻度で新しいキー バージョンを自動的に生成できます。 ローテーション ポリシーを設定して、個々のキーのローテーションを構成し、必要に応じて必要に応じてキーをローテーションできます。 暗号化のベスト プラクティスを満たすために、少なくとも 2 年ごとに暗号化キーをローテーションすることをお勧めします。 その他のガイダンスとレコメンデーションについては、 NIST SP 800-57 パート 1 を参照してください。

この機能により、カスタマー マネージド キー (CMK) が Azure Managed HSM に格納された Azure サービスに対して、保存時の暗号化のエンドツーエンドのゼロタッチ ローテーションが有効になります。 Azure サービスに関する特定のドキュメントを参照して、そのサービスでエンドツーエンドのローテーションに対応しているかどうかを確認してください。

価格

マネージド HSM キーのローテーションは、追加料金なしで提供されます。 Managed HSM の価格の詳細については、「Azure Key Vault の価格」ページを参照してください

警告

マネージド HSM には、キーあたり 100 バージョンの制限があります。 自動ローテーションまたは手動ローテーションの一部として作成されたキー バージョンは、この制限に対してカウントされます。

必要なアクセス許可

キーのローテーションまたはキー ローテーション ポリシーの設定には、特定のキー管理アクセス許可が必要です。 "Managed HSM Crypto User" ロールを割り当てて、ローテーション ポリシーとオンデマンド ローテーションを管理するための十分なアクセス許可を取得できます。

Managed HSM でローカル RBAC アクセス許可を構成する方法の詳細については、「Managed HSM ロール管理」を参照してください

Note

ローテーション ポリシーを設定するには、"キーの書き込み" アクセス許可が必要です。 キーをオンデマンドでローテーションするには、"ローテーション" 権限が必要です。 どちらも "Managed HSM Crypto User" 組み込みロールに含まれています

キー ローテーション ポリシー

キー ローテーション ポリシーを使用すると、ユーザーはローテーション サイクル間隔を構成し、ローテーconfigureションされたキーの有効期限サイクル間隔を設定できます。 キーをオンデマンドでローテーションするには、その前に設定する必要があります。

Note

Managed HSM は Event Grid 通知をサポートしていません

キー ローテーション ポリシーの設定:

  • 有効期限: キーの有効期限サイクル間隔 (最小 28 日)。 新しくローテーションされたキーに有効期限を設定するために使用されます (たとえば、ローテーション後、新しいキーは 30 日以内に期限切れに設定されます)。
  • [Rotation types](ローテーションの種類):
    • Automatically renew at a given time after creation(作成後指定された時間が経過したら、自動的に更新する)
    • [Automatically renew at a given time before expiry](有効期限の残りが指定された日数になったら、自動的に更新する)。 このイベントを発生させるには、キーに '有効期限' を設定する必要があります。

警告

自動ローテーション ポリシーでは、28 日に 1 回より頻繁に新しいキー バージョンを作成するように要求することはできません。 作成ベースのローテーション ポリシーの場合、timeAfterCreateの最小値 はP28Dであることを意味します。 有効期限ベースのローテーション ポリシーの場合、timeBeforeExpiryの最大値はexpiryTimeに依存します。 たとえば、expiryTimeP56Dの場合、 timeBeforeExpiryは最大P28Dでもかまいません。

キー ローテーション ポリシーを構成する

Azure CLI

キー ローテーション ポリシーを記述し、ファイルに保存します。 ISO8601 期間形式を使用して、時間間隔を指定します。 ポリシーの例については、次のセクションで説明します。 次のコマンドを使用して、キーにポリシーを適用します。

az keyvault key rotation-policy update --hsm-name <hsm-name> --name <key-name> --value </path/to/policy.json>

ポリシーの例

作成後 18 か月後にキーをローテーションし、新しいキーを 2 年後に期限切れに設定します。

{
  "lifetimeActions": [
    {
      "trigger": {
        "timeAfterCreate": "P18M",
        "timeBeforeExpiry": null
      },
      "action": {
        "type": "Rotate"
      }
    }
  ],
  "attributes": {
    "expiryTime": "P2Y"
  }
}

有効期限の 28 日前にキーをローテーションし、新しいキーを 1 年後に期限切れに設定します。

{
  "lifetimeActions": [
    {
      "trigger": {
        "timeAfterCreate": null,
        "timeBeforeExpiry": "P28D"
      },
      "action": {
        "type": "Rotate"
      }
    }
  ],
  "attributes": {
    "expiryTime": "P1Y"
  }
}

キー ローテーション ポリシーを削除する (空のポリシーを設定して行う)

{
  "lifetimeActions": [],
  "attributes": {}
}

オンデマンドでのローテーション

キーのローテーション ポリシーが設定されたら、オンデマンドでキーをローテーションすることもできます。 最初にキー ローテーション ポリシーを設定する必要があります。

Azure CLI

az keyvault key rotate --hsm-name <hsm-name> --name <key-name>

リソース