Azure Event Grid での Key Vault の監視
Key Vault と Event Grid の統合により、キー コンテナーに格納されているシークレットの状態が変更されたときにユーザーに通知できます。 状態の変更は、有効期限が切れる直前 (期限切れの 30 日前) のシークレット、有効期限が切れたシークレット、または新しいバージョンが利用可能になったシークレットとして定義されます。 3 つすべての種類のシークレット (キー、証明書、シークレット) の通知がサポートされています。
アプリケーションでは、最新のサーバーレス アーキテクチャを使って、これらのイベントに対応できます。複雑なコードや、高価で非効率的なポーリング サービスは必要ありません。 イベントが Azure Event Grid を通してイベント ハンドラー (Azure Functions、Azure Logic Apps など) やユーザー独自の Webhook へのイベントにもプッシュされるため、支払いは使用した分だけで済みます。 価格の詳細については、Event Grid の価格に関する記事をご覧ください。
Key Vault のイベントとスキーマ
Event Grid は、イベント サブスクリプションを使用して、イベント メッセージをサブスクライバーにルーティングします。 Key Vault イベントには、データの変更に対応するために必要なすべての情報が含まれます。 Key Vault イベントは、eventType プロパティが "Microsoft.KeyVault" で始まっているので識別できます。
詳細については、 Key Vault イベント スキーマに関するページを参照してください。
警告
通知イベントは、新しいバージョンのシークレット、キー、証明書でのみトリガーされます。それらの通知を受け取るには、まずキー コンテナーのイベントをサブスクライブする必要があります。
イベントの使用に関する手法
Key Vault イベントを処理するアプリケーションは、いくつかの推奨される手法に従う必要があります。
- 同じイベント ハンドラーにイベントをルーティングするように、複数のサブスクリプションを構成できます。 イベントが特定のソースからのものであると思い込まず、メッセージのトピックを調べて、想定しているキー コンテナーからのものであることを確認することが重要です。
- 同様に、eventType が処理可能な種類であることを確認するとともに、受信するすべてのイベントが想定している種類のものであるとは思い込まないようにしてください。
- わからないフィールドは無視します。 この手法に従うと、将来追加されるかもしれない新しい機能に弾力的に対応できます。
- イベントを特定のイベントに制限するには、"subject" プレフィックスとサフィックスの一致を使用します。