次の方法で共有


ビジネス イベントおよび Azure Event Grid

この記事では、Microsoft Azure イベント グリッド エンドポイントを構成する方法と、イベント グリッドからビジネス イベントを消費する方法について説明します。

シナリオの概要

セキュリティのベスト プラクティスでは、接続文字列をアプリケーション外の Azure Key Vault ドライブに保存し、アプリケーションに対して Key Vault キー、シークレット、証明書の適切なアクセス権を付与することをお勧めします。

このアプローチの多くの利点のうち 2 つを次に示します。

  • アプリケーション データベースにアクセスできるユーザーは、サードパーティの接続文字列を取得できません。
  • 特に複数のアプリケーションが同じリソースにアクセスする場合、更新する必要がある接続文字列が 1 か所だけなのでメンテナンスが簡単です。

完了する必要がある手順の概要を次に示します。

  1. 新しいイベント イベントを作成グリッド トピック。
  2. イベント サーバーのキーを格納する新しいキー コンテナーを作成グリッド トピック。
  3. Key Vault にアクセスするためのアクセス許可が与えられている Azure アプリを登録します。
  4. エンドポイントのパラメーターをコンフィギュレーションします。
  5. ビジネス イベントを消費します。

手順1: 新しいイベント イベントを作成グリッド トピック

  1. Azure ポータルにサインインします。
  2. すべてのサービス > 統合 > イベント グリッド トピック を選択します。
  3. 選択 追加 新しいイベント イベントを作成グリッド トピック。 パラメーターを設定してから 作成 を選択します。 ラボのコンテナーとして新しいリソース グループを作成するか、または既存のリソース グループを使用できます。
  4. 展開が完了したら、新しい Event Grid を選択します。 プロパティ ブレードで 概要 を選択し、トピック エンドポイント 値をメモしておきます。 この値はのちほど使用します。
  5. プロパティ ブレードに戻って アクセス キー を選択して キー 1 の値をコピーします。 次の手順でキー コンテナーを構成する際に、この値が必要です。

手順 2: 新しいキー コンテナーの作成

この手順では、前の手順でコピーしたキーを保存するキー コンテナーを作成します。 Key Vault は、キー、シークレット、証明書を保存するために使用する安全なドライブです。 接続文字列を保存する代わりに、より一般的で安全なアプローチは Key Vault に保存することです。 その後、新しいアプリケーションを Microsoft Entra に登録し、Key Vault からシークレットを取得する権限を付与できます。

  1. Azure ポータルで すべてのサービス > セキュリティ > Key Vaults を選択します。

  2. リソース グループに新しい Key Vault を作成し、デフォルトのパラメーターを設定します。

    新しい Key Vault
  3. 概要 を選択し、Key Vault の DNS 名 値をコピーして保存します。 この値は後で使用します。

  4. BE-Key Vault > シークレット > 生成/インポート を選択します。 シークレットの名前を入力し、先に保存したキー 1 値を貼り付けます。

  5. 作成を選択します。

手順 3: 新しいアプリケーションの登録

この手順では、新しいアプリケーションを Microsoft Entra ID に登録して、キー コンテナーのシークレットの読み取りと取得アクセスを許可します。 アプリケーションを使用して Event Grid のシークレットを取得します。

  1. Azure ポータルですべてのサービス > セキュリティ > Microsoft Entra ID を選択します。

  2. アプリ登録 (プレビュー) > 新しい登録 を選択し、次にアプリケーションの名前を入力します。

  3. 登録 を選択します。

  4. 新しいアプリケーションを選択して 証明書とシークレット > 新しいクライアント シークレット を選択します。 シークレットの名前を入力し、有効期限が切れないようにシークレットを設定します。 その後 追加 を選択します。

  5. 新しいシークレットをコピーして保存します。 これは後で使用します。

    重要

    シークレットは一度だけ表示されます。 シークレットをコピーし忘れた場合は、削除してから新しいシークレットを作成する必要があります。

  6. 概要 を選択し、アプリケーション ID をコピーして保存します。 この値は後で使用します。

  7. すべてのサービス > セキュリティ > Key Vaults を選択します。

  8. 前に作成した Key Vault を選択してから アクセスポリシー > 新規追加 を選択します。

  9. プリンシパル ブレードで、新しい登録済みアプリケーションを選択します。 Key Vault のシークレットを取得するには、GetList シークレット アクセス許可のチェック ボックスを選択します。

    Key Vault アクセス ポリシー
  10. 新しいアクセス ポリシーを保存します。

手順 4: ビジネス イベント エンドポイントのコンフィギュレーション

  1. アプリケーションにサイン インし、システム管理 > 設定 > ビジネス イベントの順に移動します。
  2. エンドポイント を選択します。
  3. 新規 を選択します。
  4. Azure Event Grid を選択します。
  5. 次へ を選択します。
  6. 必要なパラメーター値を設定します。
  7. OK を選択します。

手順 5: ビジネス イベントの消費

ビジネス シナリオでは、USMF 会社に自由書式の請求書が転記されるたびに電子メール メッセージを送信します。 顧客アカウント番号、顧客名、請求書の合計金額など、詳細がメッセージ`に含まれる必要があります。

  1. ビジネス イベント カタログを選択し、自由書式の請求書が転記されましたビジネス イベントを探します

  2. 次に USMF 会社のビジネス イベントを有効化します。 一度有効になると、テスト メッセージは送信され、構成を検証し、接続をキャッシュします。

  3. テスト メッセージが受信済みである確認するには、Azureポータルでイベント 選択 をクリックしグリッド トピック、選択 を実行します公開されたイベント メトリックと 一致しないイベント メトリックの両方が少なくとも 1 の値を示していることを確認します。 そうでない場合は、バッチ ジョブがメッセージを受信するまで待ちます。

    両方のメトリックの値が少なくとも 1 の場合は、イベント プロファイルをサブスクライブする新しいロジック アプリケーションを作成グリッド トピック。

  4. すべてのサービス > 統合 > Logic Apps を順に選択します。

  5. リソース グループに新しいロジック アプリを作成します。

    新しいロジック アプリ
  6. ロジック アプリ リソースを作成したら、空のロジック アプリを作成するオプションを選択します。

  7. イベント グリッド を検索して リソース イベントが発生した場合 (プレビュー) トリガーを選択します。

    イベント グリッドのトリガー
  8. 選択選択して選択します Microsoft.EventSoft.Topics リソース タイプの場合は選択手順1で作成したイベント グリッド トピックの名前が必要です。

    イベント グリッド トリガーのパラメーター
  9. 新規ステップ を選択して新しいアクションを追加します。

  10. JSON の解析 データ処理を検索します。 このステップは、データ コントラクトの指定されたスキーマを使用してメッセージを解析するために必要です。

  11. Json 解析 アクションの コンテンツ フィールドをクリックします。 表示されるウィンドウには前のトリガーからのオプションが表示されます。 財務と運用で送信されるペイロードを含む Event Grid メッセージのデータ オブジェクト フィールドを選択する必要があります。

    ロジック アプリの JSON 解析

    次に、契約の指定されたスキーマを入力する必要があります。 これは、ただのサンプル ペイロードです。 ただし、Azure Logic Apps の機能を使用してペイロードからスキーマを生成できます。

  12. ビジネス イベント カタログのイベントを選択し、スキーマのダウンロードリンクを選択します。 テキスト ファイルがダウンロードされます。 テキストファイルを開いて内容をコピーします。

  13. Logic Apps に戻って サンプル ペイロードを使用してスキーマを生成 リンクを選択します。 テキスト ファイルの内容を貼り付けて 完了 を選択します。

    イベント スキーマ
  14. サンプル ペイロードの品質により、特に実値がサンプル ペイロードで整数として与えられた場合、ジェネレーターは整数と実値を区別しません。 生成されたスキーマを確認して 整数 データ型のフィールドを 数値 データ型に変更する必要があるか判断します。 (JavaScript Object Notation [JSON] 形式で、データ型 数値 は実数値を表します。)

    JSON のデータ型

    次に、顧客の支払いの詳細を含む通知電子メールの送信など、最終的なアクションを選択します。

  15. 電子メールの送信 アクションを検索し、自分の Microsoft 365 アカウントにサインインします。

  16. メッセージの本文および、必須項目を入力します。

  17. ロジック アプリを保存します。

  18. 顧客の支払いを転記して、ビジネス イベントをトリガーします。 そして、ロジック アプリが実行されていること、顧客の支払いの詳細が記載された電子メールを受信することを確認します。