キーのローテーションを構成する
Key Vault の自動暗号化キー ローテーションを使用すると、ユーザーは Key Vault を構成して、指定した頻度で新しいキー バージョンを自動的に生成できます。 ローテーションを構成するには、個別のキーごとに定義できるキー ローテーション ポリシーを使用できます。
暗号化のベスト プラクティスを満たすために、少なくとも 2 年ごとに暗号化キーをローテーションすることが推奨されます。
Key Vault のオブジェクトのバージョン管理方法については、Key Vault のオブジェクト、識別子、バージョン管理に関するページを参照してください。
Azure サービスとの統合
この機能により、カスタマー マネージド キー (CMK) が Azure Key Vault に格納された Azure サービスに対して、保存時の暗号化のエンドツーエンドのゼロタッチ ローテーションが有効になります。 Azure サービスに関する特定のドキュメントを参照して、そのサービスでエンドツーエンドのローテーションに対応しているかどうかを確認してください。
Azure のデータ暗号化の詳細については、次を参照してください。
価格
スケジュールされているキー ローテーションごとに追加のコストが発生します。
必要なアクセス許可
Key Vault のキー ローテーション機能を使用するには、キー管理のアクセス許可が必要です。 "Key Vault Crypto Officer" ロールを割り当て、ローテーション ポリシーとオンデマンド ローテーションを管理できます。
キー ローテーション ポリシー
キー ローテーション ポリシーを使用すると、ユーザーはローテーション通知と Event Grid 通知を有効期限に近いスケジュールで設定できます。
キー ローテーション ポリシーの設定:
[有効期限]: キーの有効期限。 新しくローテーションされたキーに有効期限を設定するために使用されます。 現在のキーには影響しません。
[有効]/[無効]: キーのローテーションを有効または無効にするフラグ
[Rotation types](ローテーションの種類):
- [Automatically renew at a given time after creation (default)](作成後指定された時間が経過したら、自動的に更新する (既定値))
- [Automatically renew at a given time before expiry](有効期限の残りが指定された日数になったら、自動的に更新する)。 ローテーション ポリシーに [有効期限] が設定されており、キーに [有効期限日] が設定されている必要があります。
[ローテーション時間]: キーのローテーション間隔。最小値は作成から 7 日、有効期限から 7 日です
[通知時間]: イベント グリッド通知のキーの有効期限が近いことを知らせるイベントの間隔。 ローテーション ポリシーに [有効期限] が設定されており、キーに [有効期限日] が設定されている必要があります。
キー ローテーションでは、新しいキー マテリアルを持つ既存のキーの新しいキー バージョンが生成されます。 ターゲット サービスでは、最新バージョンのキーに自動的に更新するために、バージョンレス キー URI を使用する必要があります。 データ暗号化ソリューションでは、サービスの中断を回避するために、バージョンありのキー URI を保存し、それと共に、暗号化/ラップ操作に使用された同じキー マテリアルを指すデータを暗号化解除/ラップ解除用として保存する必要があります。 現在、すべての Azure サービスはそのパターンに従ってデータを暗号化しています。
キー ローテーション ポリシーを構成する
キーの作成時にキーローテーション ポリシーを構成します。
キーの有効期限が近いことを知らせる通知を構成する
イベント グリッドのキーの有効期限が近いことを知らせるイベントの有効期限通知の構成。 ローカル HSM からキーをインポートする場合など、自動ローテーションを使用できない場合、キーの有効期限が近いことを知らせる通知を手動ローテーションのリマインダーとして、または Event Grid との統合によるカスタム自動ローテーションのトリガーとして構成できます。 有効期限の何日前、何か月前、何年前に有効期限が近いことを知らせるイベントをトリガーするかを構成できます。
キー ローテーション ポリシーのガバナンスを設定する
Azure Policy サービスを使用すると、キーのライフサイクルを管理し、すべてのキーが指定した日数内にローテーションするように構成されていることを確認できます。
ポリシー定義を作成して割り当てる
Policy リソースに移動します
Azure Policy ページの左側にある [作成] の下の [割り当て] を選択します。
ページの上部にある [Assign policy](ポリシーを割り当てる) を選択します。 このボタンをクリックすると [ポリシーの割り当て] ページが開きます。
次の情報を入力します。
ポリシーを適用するサブスクリプションとリソース グループを選択して、ポリシーのスコープを定義します。 [範囲] フィールドの 3 点ボタンをクリックして選択します。
ポリシー定義の名前を選びます。"キーには、作成後、指定した日数以内にローテーションをスケジュールするローテーション ポリシーを設定する必要があります。 "
ページ上部の [パラメーター] タブに移動します。
- [ローテーションする最大日数] パラメーターを希望の日数 (たとえば、730) に設定します。
- ポリシーの目的の効果 ([監査] または [無効]) を定義します。
その他のフィールドに入力します。 ページの下部にある [前へ] ボタンと [次へ] ボタンをクリックしてタブ内を移動します。
[Review + create](レビュー + 作成) を選択します。
[作成] を選択します
組み込みポリシーを割り当てると、スキャンが完了するまで最大 24 時間かかる場合があります。 スキャンが完了すると、次のようなコンプライアンス結果を確認できます。
既存のキーに対してローテーション ポリシーを構成します。
Azure CLI
キー ローテーション ポリシーをファイルに保存します。
Azure CLI az keyvault key rotation-policy update コマンドを使用し、以前に保存されたファイルを渡すキーにローテーション ポリシーを設定します。
az keyvault key rotation-policy update --vault-name <vault-name> --name <key-name> --value </path/to/policy.json>
Azure PowerShell
Azure PowerShell の Set-AzKeyVaultKeyRotationPolicy コマンドレットを使用してローテーション ポリシーを設定します。
Set-AzKeyVaultKeyRotationPolicy -VaultName <vault-name> -KeyName <key-name> -ExpiresIn (New-TimeSpan -Days 720) -KeyRotationLifetimeAction @{Action="Rotate";TimeAfterCreate= (New-TimeSpan -Days 540)}
オンデマンドでのローテーション
キー ローテーションは手動で呼び出すことができます。
ポータル
ローテーションを呼び出すには、[Rotate Now](今すぐローテーション) をクリックします。
Azure CLI
Azure CLI az keyvault key rotate コマンドを使用してキーをローテーションします。
az keyvault key rotate --vault-name <vault-name> --name <key-name>
Azure PowerShell
Azure PowerShell Invoke-AzKeyVaultKeyRotation コマンドレットを使用します。
Invoke-AzKeyVaultKeyRotation -VaultName <vault-name> -Name <key-name>
キーの有効期限が近いことを知らせる通知を構成する
イベント グリッドのキーの有効期限が近いことを知らせるイベントの有効期限通知の構成。 ローカル HSM からキーをインポートする場合など、自動ローテーションを使用できない場合、キーの有効期限が近いことを知らせる通知を手動ローテーションのリマインダーとして、または Event Grid との統合によるカスタム自動ローテーションのトリガーとして構成できます。 有効期限の何日前、何か月前、何年前に有効期限が近いことを知らせるイベントをトリガーするかを構成できます。
Key Vault のイベント グリッド通知について詳しくは、「Event Grid ソースとしての Azure Key Vault」をご覧ください