Logic Apps を使用して Key Vault シークレットの状態変更に関するメールを受け取る
このガイドでは、Azure Logic Apps を使用して、Azure Event Grid 経由で受信した Azure Key Vault イベントに応答する方法について説明します。 最終的に、Azure Key Vault でシークレットが作成されるたびに通知メールを送信するように Azure Logic Apps が設定されます。
Azure Key Vault と Azure Event Grid の統合の概要については、「Azure Event Grid による Key Vault の監視」を参照してください。
前提条件
- Azure Logic Apps がサポートするメール プロバイダー (Office 365 Outlook など) のメール アカウント。 このメール アカウントは、イベント通知の送信に使われます。 サポートされている Logic App コネクタの完全な一覧については、「コネクタの概要」をご覧ください
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
- ご自身の Azure サブスクリプションのキー コンテナー。 新しいキー コンテナーをすばやく作成するには、Azure CLI を使用した Azure Key Vault からのシークレットの設定と取得に関するページの手順に従います。
- リソース プロバイダーとして登録済みの Event Grid。リソース プロバイダーの登録に関するページを参照してください
Event Grid を使用してロジック アプリを作成する
最初に、Event Grid ハンドラーでロジック アプリを作成し、Azure Key Vault の "SecretNewVersionCreated" イベントをサブスクライブします。
Azure Event Grid サブスクリプションを作成するには、次の手順に従います。
Azure portal で、キー コンテナーに移動し、[イベント] > [はじめに] を選択して [Logic Apps] をクリックします
Logic Apps デザイナーで接続を検証し、[続行] を選択します
[リソース イベントが発生したとき] 画面で、次の手順を実行します。
- [サブスクリプション] と [リソース名] は既定値のままにします。
- [リソースの種類] で [Microsoft.KeyVault.vaults] を選択します。
- [Event Type Item - 1](イベントの種類の項目 - 1) で [Microsoft.KeyVault.SecretNewVersionCreated] を選択します。
[+ 新しいステップ] を選択します。[アクションを選択してください] ウィンドウが開きます。
[電子メール] を検索します。 電子メール プロバイダーに基づいて、一致するコネクタを検索して選択します。 このチュートリアルでは、Office 365 Outlook を使います。 他のメール プロバイダーの手順も同様です。
[メールの送信 (V2)] アクションを選択します。
メール テンプレートを作成します。
- To: 通知メールを受信するメール アドレスを入力します。 このチュートリアルでは、テストの目的でアクセスできる電子メール アカウントを使用します。
- [件名] と [本文]: メールのテキストを記述します。 イベント データに基づく動的なコンテンツを挿入するには、セレクター ツールから JSON プロパティを選択します。 イベントのデータを取得するには、
@{triggerBody()?['Data']}
を使用します。
メール テンプレートは次の例のようになります。
[名前を付けて保存] を選択します。
新しいロジック アプリの [名前] を入力し、[作成] をクリックします。
テストして検証する
Azure portal でキー コンテナーにアクセスし、[イベント] > [イベント サブスクリプション] を選択します。 新しいサブスクリプションが作成されたことを確認します。
キー コンテナーにアクセスして [シークレット] を選択し、[Generate/Import](生成/インポート) を選択します。 テスト用に新しいシークレットを作成し、キーに名前を付け、残りのパラメーターは既定の設定のままにします。
[シークレットの作成] 画面で、任意の名前と任意の値を指定し、[作成] を選択します。
シークレットが作成されると、構成したアドレスでメールを受信します。