Поделиться через


Подключение к eventstream с помощью проверки подлинности идентификатора Microsoft Entra

Пользовательская конечная точка — это особый тип источника или назначения Eventstream, который позволяет приложению отправлять и передавать данные из Eventstream. Он поддерживает два метода проверки подлинности для подключения к вашему приложению: ключи SAS и проверка подлинности Entra ID.

  • Проверка подлинности ключа SAS: позволяет создавать и использовать данные потока событий с помощью ключей общего доступа (SAS).
  • Аутентификация Entra ID: позволяет субъекту безопасности (например, пользователю или служебному субъекту) производить и использовать данные Eventstream при помощи аутентификации Microsoft Entra ID.

В этой статье вы узнаете, как создать приложение служебного принципала, настроить проект Java в Visual Studio Code и подключиться к Eventstream через аутентификацию с помощью Microsoft Entra ID.

Предпосылки

Перед началом работы убедитесь, что выполнены следующие предварительные требования:

  • Администратор арендатора включил следующий параметр на портале администрирования. Подробнее
    • Субъекты-службы могут вызывать общедоступные API Fabric
  • У вас есть разрешения участника или более высокого уровня в рабочей области. Это необходимо для управления доступом к рабочей области и назначения необходимых разрешений приложению субъекта-службы.
  • Элемент Eventstream в вашей рабочей области с источником из настраиваемой конечной точки. В этом руководстве приведены инструкции по добавлению пользовательской конечной точки в eventstream.
  • Установите Visual Studio Code.
  • Настройте VS Code для разработки Java. Установите пакет кода для Java.

Шаг 1: Создайте службу приложения с главным объектом безопасности

  1. Войдите в Центр администрирования Microsoft Entra.

  2. Перейдите к удостоверения>приложения>регистрации приложений, и выберите Создать регистрацию.

  3. Введите отображаемое имя приложения.

  4. Откройте приложение, скопируйте идентификатор клиента и идентификатор клиента для последующего использования.

    Снимок экрана: идентификатор приложения.

  5. Перейдите к сертификатам и секретам, добавьте новый секрет клиента и скопируйте значение.

    Снимок экрана: секрет приложения.

  6. После завершения необходимо подготовить следующие три сведения:

    • Идентификатор клиента Azure
    • Идентификатор клиента Azure
    • Секрет клиента 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, используйте Scoop для их установки:

    # 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:

    • Пространство имен Event Hub
    • Концентратор событий

    Снимок экрана: пример кода производителя в VS Code.

  3. Выполните следующую команду, чтобы создать и запустить проект:

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

Если данные отправлены успешно, вы можете перейти в поток событий и просмотреть входящие данные.

Получение данных из eventstream

  1. В Eventstream добавьте пользовательскую конечную точку как место назначения.

  2. Выберите Пользовательскую конечную точку, >Аутентификацию Entra ID, скопируйте следующие данные и вставьте их в файл ConsumerSample.java:

    • Пространство имен Event Hub
    • Концентратор событий
    • Группа потребителей

    Снимок экрана: пример кода потребителя в VS Code.

  3. Выполните следующую команду, чтобы создать и запустить проект:

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

После успешного запуска проекта можно просмотреть входящие данные в приложении.