次の方法で共有


Microsoft Entra ID 認証を使用して Eventstream に接続する

カスタム エンドポイント は、アプリケーションが Eventstream からデータを送信およびフェッチできるようにする特殊な種類の Eventstream ソースまたは宛先です。 アプリケーションに接続するための 2 つの認証方法 ( SAS キーEntra ID 認証) がサポートされています。

  • SAS キー認証: Shared Access Signature (SAS) キーを使用して Eventstream データを生成および使用できます。
  • Entra ID 認証: セキュリティ プリンシパル (ユーザーやサービス プリンシパルなど) が、Microsoft Entra ID 認証を使用して Eventstream データを生成および使用できるようにします。

この記事では、サービス プリンシパル アプリケーションの作成、Visual Studio Code での Java プロジェクトの設定、Microsoft Entra ID 認証を使用した Eventstream への接続について説明します。

前提条件

開始する前に、次の前提条件が満たされていることを確認します。

  • テナント管理者が管理ポータルで次の設定を有効にしました。 詳細情報
    • サービス プリンシパルは Fabric パブリック API を呼び出すことができます
  • ワークスペースには メンバー 以上のアクセス許可があります。 これは、ワークスペース アクセスを管理し、必要なアクセス許可をサービス プリンシパル アプリに割り当てるために必要です。
  • カスタム エンドポイント ソースを含むワークスペース内の Eventstream 項目。 Eventstream にカスタム エンドポイントを追加する方法については、 このガイド を参照してください。
  • Visual Studio Code をインストールします。
  • Java 開発用に VS Code を設定します。 Java 用のコーディング パックをインストールします

手順 1: サービス プリンシパル アプリを作成する

  1. Microsoft Entra 管理センターにサインインします。

  2. Identity>Applications>App registrations に移動し、[新しい登録] を選択します。

  3. アプリケーションの表示 を入力します。

  4. アプリを開き、後で使用するために クライアント IDテナント ID を コピーします。

    アプリ ID のスクリーンショット。

  5. [証明書とシークレット] に移動し、新しいクライアント シークレットを追加して値をコピーします。

    アプリ シークレットのスクリーンショット。

  6. 完了したら、次の 3 つの情報を準備しておく必要があります:

    • Azure クライアント ID
    • Azure テナント ID
    • Azure クライアント シークレット

手順 2: Fabric ワークスペースのアクセス許可を割り当てる

  1. Fabric ワークスペースに移動し、[ アクセスの管理] を選択します。

    ワークスペースの [アクセスの管理] のスクリーンショット。

  2. 前の手順で作成したアプリケーションを検索し、 共同作成者 (またはそれ以上) をアプリに割り当てます。

    アプリにワークスペースのアクセス許可を割り当てるスクリーンショット。

手順 3: VS Code でプロジェクトを設定する

  1. VS Code でターミナルを開き、 GitHub プロジェクト をダウンロードするか、次のコマンドを実行してプロジェクトを複製します。

    git clone https://github.com/ruiminwang/eventstream-entra-id-auth-samples.git
    
  2. Java と Maven をインストールします。 Java と Maven がインストールされていない場合は、 スクープ を使用してインストールします。

    # https://scoop.sh/
    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
    Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
    
    scoop bucket add java
    scoop install oraclejdk-lts
    scoop install maven
    
  3. 環境変数を設定します。 サービス プリンシパル アプリの環境変数を構成します:

    $env:AZURE_CLIENT_ID="00001111-aaaa-2222-bbbb-3333cccc4444"
    $env:AZURE_TENANT_ID="aaaabbbb-0000-cccc-1111-dddd2222eeee"
    $env:AZURE_CLIENT_SECRET="Aa1Bb~2Cc3.-Dd4Ee5Ff6Gg7Hh8Ii9_Jj0Kk1Ll2"
    

手順 4: プロジェクトをビルドして実行する

Eventstream にデータを送信する

  1. Eventstream で、カスタム エンドポイントをソースとして追加します。

  2. [カスタム エンドポイント>Entra ID 認証] を選択し、次の詳細をコピーして、ProducerSample.java ファイルに貼り付けます。

    • イベント ハブの名前空間
    • イベント ハブ

    VS Code のプロデューサー サンプル コードのスクリーンショット。

  3. 次のコマンドを実行し、プロジェクトをビルドして実行します:

    mvn clean package
    
    java -cp .\target\EventHubOAuth-1.0-SNAPSHOT-jar-with-dependencies.jar com.microsoft.ProducerSample
    

データが正常に送信された場合は、イベントストリームに移動して受信データを表示できます。

Eventstreams からデータをフェッチする

  1. Eventstream で、カスタム エンドポイントを宛先として追加します。

  2. [カスタム エンドポイント>Entra ID 認証] を選択し、次の詳細をコピーして、ConsumerSample.java ファイルに貼り付けます。

    • イベント ハブの名前空間
    • イベント ハブ
    • コンシューマー グループ

    VS Code のコンシューマー サンプル コードのスクリーンショット。

  3. 次のコマンドを実行し、プロジェクトをビルドして実行します:

    mvn clean package
    
    java -cp .\target\EventHubOAuth-1.0-SNAPSHOT-jar-with-dependencies.jar com.microsoft.ConsumerSample
    

プロジェクトが正常に実行されたら、アプリケーション内の受信データを表示できます。