Microsoft Entra トークンを取得し、それを使用してイベント ハブにイベントを送信する

Microsoft Entra トークンの取得の概要については、「アプリケーションからの認証」を参照してください。

この記事では、Event Hubs 名前空間との間でイベントを送受信するために使用できるMicrosoft Entra トークンを取得する例を示します。 テスト目的で Postman ツールを使用します。

前提条件

Microsoft Entra IDにアプリを登録する

最初の手順では、アプリケーションをMicrosoft Entraテナントに登録し、テナント ID、クライアント ID、クライアント シークレットの値をメモします。 Postman ツールを使用して REST API をテストするときは、これらの値を最新の状態で使用します。

  1. Azure portal にサインインします。

  2. 検索バーでMicrosoft Entra IDを検索し、ドロップダウン リストから選択します。

  3. [Microsoft Entra ID] ページで、左側のメニューの [アプリの登録] リンクを選択し、ツール バーの [+ 新規登録] を選択します。

    [新しい登録] リンクが選択されている [アプリの登録] ページを示すスクリーンショット。

  4. アプリの 名前 を入力し、[登録] を選択 します

    [アプリケーションの登録] ページを示すスクリーンショット。

  5. アプリケーションのホーム ページで、アプリケーション (クライアント) IDディレクトリ (テナント) ID の値をメモします。 これらの値を使用して、Microsoft Entra IDからトークンを取得します。

    クライアント ID とテナント ID が強調表示されたホーム ページを示すスクリーンショット。

  6. 次に、左側のメニュー で [証明書 & シークレット ] を選択し、[ + 新しいクライアント シークレット] を選択します。

    [証明書 & シークレット] ページを示すスクリーンショット。

  7. 説明を入力し、シークレットの有効期限を選択して、[追加] を選択します。

    説明、有効期限、および [追加] ボタンを示すスクリーンショット。

  8. [ クライアント シークレット ] リストのシークレット値の横にあるコピー ボタンを選択して、値をクリップボードにコピーします。 どこかに貼り付けます。 後で使用して、Microsoft Entra IDからトークンを取得します。

    クライアント シークレット ボタンを示すスクリーンショット。

Event Hubs データ送信者ロールにアプリケーションを追加する

この例では、イベント ハブにのみメッセージングを送信するため、アプリケーションを Azure Event Hubs データ送信者ロールに追加します。

  1. [Event Hubs 名前空間] ページで、左側のメニューから [アクセス制御] を選択し、[ロールの割り当ての追加] タイルの [追加] を選択します。

    Access Control ページを示すスクリーンショット。

  2. [ロールの割り当ての追加] ページで、[ロールAzure Event Hubsデータ送信者] を選択し、サービス プリンシパルのアプリケーション (この例では ServiceBusRestClientApp) を選択します。

    Azure Event Hubs データ送信者ロールへのアプリの追加を示すスクリーンショット。

  3. [ロールの割り当ての追加] ページで [保存] を選択して、ロールの割り当てを保存します。

Postman を使用してMicrosoft Entra トークンを取得する

  1. Postman を起動します。

  2. メソッドの場合は、[ GET] を選択します。

  3. URI に「」と入力します https://login.microsoftonline.com/<TENANT ID>/oauth2/token。 を、前にコピーしたテナント ID の値に置き換えます <TENANT ID>

  4. [ ヘッダー ] タブで、 値に Content-Type キーと application/x-www-form-urlencoded を追加します。

    content-type ヘッダーを示すスクリーンショット。

  5. [ 本文 ] タブに切り替え、次のキーと値を追加します。

    1. フォーム データを選択します

    2. キーを追加 grant_type し、値を入力します client_credentials

    3. キーを追加 client_id し、前にメモした クライアント ID の値を貼り付けます。

    4. キーを追加 client_secret し、前にメモした クライアント シークレット の値を貼り付けます。

    5. キーを追加 resource し、値を入力します https://eventhubs.azure.net

      要求の本文を示すスクリーンショット。

  6. [ 送信] を選択して、トークンを取得する要求を送信します。 結果にトークンが表示されます。 トークンを保存します (二重引用符を除く)。 これは後で使用します。

    Microsoft Entraからのアクセス トークンを示すスクリーンショット。

イベント ハブにイベントを送信する

  1. Postman で、新しいタブを開きます。

  2. メソッドの [POST ] を選択します。

  3. 次の形式で「URI」と入力します。 https://<EVENT HUBS NAMESPACE NAME>.servicebus.windows.net/<QUEUE NAME>/messages を Event Hubs 名前空間の名前に置き換えます <EVENT HUBS NAMESPACE NAME><QUEUE NAME> をキューの名前に置き換えます。

  4. [ヘッダー] タブ 、次の 2 つのヘッダーを追加します。

    1. 次の形式でキーと値を追加Authorizationします。 Bearer <TOKEN from Microsoft Entra ID> トークンをコピー/貼り付けするときは、囲まれた二重引用符をコピーしないでください。

    2. キーと application/atom+xml;type=entry;charset=utf-8 を値として追加Content-Typeします。

      イベント ハブで強調されている [ヘッダー] タブのスクリーンショット。

  5. [ 本文 ] タブで、データ型として [raw ] を選択し、本文に「」または「」と入力 This is a message します。

    イベント ハブの未加工の Body ビューのテスト イベントのスクリーンショット。

  6. [ 送信] を選択して、メッセージをキューに送信します。 次の図に示すように、コード 201 と同様の状態 Created が表示されます。

    成功した状態を示すスクリーンショット。

  7. Azure portalの名前空間ページで、メッセージがキューに投稿されていることがわかります。

    キューに投稿されるメッセージを示すスクリーンショット。

参照

次の記事をご覧ください。