証明書、キー、シークレットなどの暗号化資産の有効期間は限られています。 セキュリティのベスト プラクティスとして、侵害のリスクを軽減し、セキュリティ ポリシーへのコンプライアンスを確保するために、これらの資産を定期的にローテーションする必要があります。 Azure Key Vault には、これらの資産をローテーションするための自動化機能が用意されています。これにより、組織は運用上のオーバーヘッドを最小限に抑えながら強力なセキュリティ体制を維持できます。
自動ローテーションとは
自動ローテーションは、定義済みの間隔で、または特定のイベントに応答して、暗号化資産を新しい資産に自動的に置き換えるプロセスです。 Azure Key Vault では、自動ローテーション機能は資産の種類によって異なります。
- キー: 構成されたローテーション ポリシーに基づく新しいキー バージョンの自動生成
- シークレット: イベントによってトリガーされるシークレットの更新と、それらを使用するシステムとの統合
- 証明書: 有効期限が切れる前の証明書の自動更新
自動回転の利点
暗号化資産の自動ローテーションを実装すると、いくつかの利点があります。
- セキュリティの強化: 暗号化マテリアルの定期的なローテーションにより、侵害のリスクが軽減されます
- コンプライアンスの簡素化: 暗号化資産のライフサイクル管理に関する規制と組織の要件を満たす
- 運用効率:手動作業と回転プロセスにおける人為的ミスのリスクを軽減
- ダウンタイムの短縮: 期限切れ前のプロアクティブ ローテーションにより、サービスの中断を防ぎます
- スケーラブルな管理: 複数の資産とサービス間のローテーションを自動化する
さまざまな資産の種類の自動ローテーション
キーの自動ローテーション
Azure Key Vault のキーは、指定された頻度で新しいキー バージョンを自動的に生成するローテーション ポリシーを使用して構成できます。 これは、Azure サービスでカスタマー マネージド キー (CMK) として使用されるキーに役立ちます。
キーの自動ローテーションでは、次の機能がサポートされます。
- 構成可能なローテーション間隔 (7 日以上)
- Event Grid を使用した有効期限に近い通知
- スケジュールされたローテーションに加えて、オンデマンドローテーション
- CMK を使用した Azure サービスとの統合
Azure Key Vault でキーの自動ローテーションを構成する方法について説明します
シークレットの自動ローテーション
Azure Key Vault のシークレットは、Event Grid イベントによってトリガーされる Azure 関数を使用して自動ローテーション用に構成できます。 これは、データベースの資格情報、API キー、および定期的な更新を必要とするその他の機密情報にとって重要です。
シークレットの自動ローテーションでは、次の機能がサポートされます。
- Event Grid を使用したイベント ベースのトリガー
- カスタム ローテーション ロジック用の Azure Functions との統合
- 手動ローテーション アラームの有効期限が近い通知
- 新しいシークレット値を使用した依存サービスの更新
Azure Key Vault では、次の 2 つのシークレット ローテーション シナリオがサポートされています。
- 1 セットの認証資格情報を使用してリソースのシークレット自動ローテーションを実装する方法について説明します
- 2 セットの認証資格情報を使用してリソースのシークレットの自動ローテーションを実装する方法について説明します
証明書の自動ローテーション
Azure Key Vault に格納されている証明書は、有効期限が切れる前に自動的に更新できます。 Key Vault は、統合証明機関 (CA) または自己署名証明書の再生成によって、証明書の更新を処理します。
証明書の自動ローテーションでは、次の機能がサポートされます。
- 有効期間の構成
- 有効期限の指定された割合または有効期限前の日数での自動更新
- 証明書の有効期限に関する電子メール通知
- DigiCert や GlobalSign などの証明機関との統合
Azure Key Vault で証明書の自動ローテーションを構成する方法について説明します
自動ローテーションのベスト プラクティス
Azure Key Vault で自動ローテーションを実装する場合は、次のベスト プラクティスを検討してください。
- バージョン管理の使用: システムが最新バージョンのキー、証明書、またはシークレットを自動的に参照するようにする
- 適切なアクセス制御を実装する: Azure RBAC を使用して、ローテーション ポリシーを構成できるユーザーを制御する
- ローテーション イベントの監視: 成功したローテーションと失敗したローテーションの通知とアラートを設定する
- 回転手順のテスト: 依存システムが回転した資産を正しく処理できることを検証する
- 適切なローテーション頻度を構成する: セキュリティ要件と運用上の考慮事項のバランスを取る
- フォールバック手順を文書化する: 緊急時のシナリオに関して手動ローテーション プロセスを文書化する
- セキュリティのベスト プラクティスに従う: Azure Key Vault のセキュリティ保護に関するページで説明されている包括的なセキュリティ対策を実装する
一般的な自動ローテーション シナリオ
Azure サービスのカスタマー マネージド キー
多くの Azure サービスでは、Key Vault に格納されているカスタマー マネージド キーによる暗号化がサポートされています。 これらのキーが自動ローテーション用に構成されている場合、サービスは、以前のバージョンで暗号化されたデータへのアクセスを維持しながら、新しい暗号化操作に最新のキー バージョンを自動的に使用します。
データベース資格情報
Key Vault にシークレットとして格納されているデータベース資格情報は、Key Vault 内のシークレットを更新するだけでなく、新しい資格情報をデータベースに適用する関数アプリで自動的にローテーションできます。
API キーとサービス資格情報
API キーとサービス資格情報の自動ローテーションは、これらの機密性の高い資産の有効期間を制限することで、セキュリティを維持するのに役立ちます。 Azure Functions でローテーションを実装することで、Key Vault とターゲット サービスの両方を更新できます。