このガイドでは、Azure Logic Apps を使用して Azure Event Grid 経由で受信した Azure Key Vault イベントに応答する方法について説明します。 最終的には、Azure Key Vault でシークレットが作成されるたびに通知メールを送信するように Azure ロジック アプリが設定されます。
Azure Key Vault と Azure Event Grid の統合の概要については、「Azure Event Grid を使用した Key Vault の監視」を参照してください。
[前提条件]
- Azure Logic Apps (Office 365 Outlook など) でサポートされている任意の電子メール プロバイダーからの電子メール アカウント。 このメール アカウントは、イベント通知の送信に使われます。 サポートされているロジック アプリ コネクタの完全な一覧については、コネクタの概要を参照してください。
- 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] を選択します。
- [イベントの種類項目 - 1] に Microsoft.KeyVault.SecretNewVersionCreated を選択します。
[ + 新しいステップ ] を選択すると、ウィンドウが開いてアクションを選択します。
電子メールを検索します。 電子メール プロバイダーに基づいて、一致するコネクタを検索して選択します。 このチュートリアルでは 、Office 365 Outlook を使用します。 他のメール プロバイダーの手順も同様です。
メールの送信 (V2) アクションを選択します。
電子メール テンプレートを作成します。
- 宛先: 通知メールを受信するメール アドレスを入力します。 このチュートリアルでは、テストの目的でアクセスできる電子メール アカウントを使用します。
- 件名 と 本文: メールのテキストを書き込みます。 イベント データに基づく動的なコンテンツを含めるには、選択ツールから JSON プロパティを選びます。 イベントのデータは、
@{triggerBody()?['Data']}
を使用して取得できます。
メール テンプレートは次の例のようになります。
名前を付けて保存を選択します。
新しいロジック アプリの 名前 を入力し、[ 作成] を選択します。
テストして検証する
Azure portal でキー コンテナーに移動し、[ イベント > イベント サブスクリプション] を選択します。 新しいサブスクリプションが作成されたことを確認する
キー コンテナーに移動し、[ シークレット] を選択し、[ + 生成/インポート] を選択します。 テスト目的で新しいシークレットを作成し、キーに名前を付け、残りのパラメーターを既定の設定に保持します。
[ シークレットの作成 ] 画面で、任意の名前、任意の値を指定し、[ 作成] を選択します。
シークレットが作成されると、構成されたアドレスで電子メールが受信されます。