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


Входящий трафик, управляемый API, с помощью Azure Logic Apps

В этом руководстве описывается, как использовать рабочий процесс Azure Logic Apps для реализации api идентификатора Microsoft Entra, управляемого входящего трафика. Выполнив действия, описанные в этом руководстве, можно преобразовать CSV-файл, содержащий данные отдела кадров, в полезные данные массового запроса и отправить его в конечную точку API подготовки /bulkUpload API Microsoft Entra. В этой статье также приводятся рекомендации по использованию одного и того же шаблона интеграции с любой системой записи.

Сценарий интеграции

Бизнес-требование

Система записей периодически создает экспорт CSV-файла, содержащего рабочие данные. Вы хотите реализовать интеграцию, которая считывает данные из CSV-файла и автоматически подготавливает учетные записи пользователей в целевом каталоге (локальная служба Active Directory для гибридных пользователей и идентификатора Microsoft Entra для облачных пользователей).

Требование к реализации

С точки зрения реализации:

  • Вы хотите использовать рабочий процесс Azure Logic Apps для чтения данных из CSV-файла, доступного в общей папке Azure, и отправить его в конечную точку API подготовки для входящего трафика.
  • В рабочем процессе Azure Logic Apps вы не хотите реализовать сложную логику сравнения данных идентификации между системой записей и целевым каталогом.
  • Вы хотите использовать службу подготовки Microsoft Entra для применения правил управляемой ит-подготовки для автоматического создания и обновления или включения и отключения учетных записей в целевом каталоге (локальная служба Active Directory или идентификатора Microsoft Entra).

Graphic of Azure Logic Apps-based integration.

Варианты сценария интеграции

Хотя в этом руководстве в качестве системы записей используется CSV-файл, можно настроить пример рабочего процесса Azure Logic Apps для чтения данных из любой системы записей. Azure Logic Apps предоставляет широкий спектр встроенных соединителей и управляемых соединителей с предварительно созданными триггерами и действиями, которые можно использовать в рабочем процессе интеграции.

Ниже приведен список вариантов сценариев корпоративной интеграции, в которых входящий трафик api можно реализовать с помощью рабочего процесса Logic Apps.

# Система записей Руководство по интеграции с использованием Logic Apps для чтения исходных данных
1 Файлы, хранящиеся на сервере SFTP Используйте встроенный соединитель SFTP или управляемый соединитель SFTP SSH для чтения данных из файлов, хранящихся на сервере SFTP.
2 Таблица базы данных Если вы используете сервер SQL Azure или локальный СЕРВЕР SQL Server, используйте соединитель SQL Server для чтения данных таблицы.
Если вы используете базу данных Oracle, используйте соединитель базы данных Oracle для чтения данных таблицы.
3 Локальные и размещенные в облаке SAP S/4 HANA или
Классические локальные системы SAP, такие как R/3 и ECC
Используйте соединитель SAP для получения данных удостоверения из системы SAP. Примеры настройки этого соединителя см. в распространенных сценариях интеграции SAP с помощью Azure Logic Apps и соединителя SAP.
4 IBM MQ Используйте соединитель IBM MQ для получения сообщений о подготовке из очереди.
5 Dynamics 365 Human Resources Используйте соединитель Dataverse для чтения данных из таблиц Dataverse, используемых Microsoft Dynamics 365 Human Resources.
6 Любая система, которая предоставляет ИНТЕРФЕЙСы REST API Если вы не найдете соединитель для системы записей в библиотеке соединителей Logic Apps, можно создать собственный настраиваемый соединитель для чтения данных из системы записей.

После чтения исходных данных примените правила предварительной обработки и преобразуйте выходные данные из системы записей в массовый запрос, который можно отправить в конечную точку API подготовки Microsoft Entra bulkUpload .

Внимание

Если вы хотите предоставить общий доступ к рабочему процессу подготовки на основе API и интеграции Logic Apps с сообществом, создайте шаблон приложения логики, задокументируйте инструкции по его использованию и отправьте запрос на включение в репозиторий entra-id-inbound-provisioningGitHub.

Как использовать это руководство

Шаблон развертывания Logic Apps, опубликованный в репозитории GitHub для входящего трафика Microsoft Entra, автоматизирует несколько задач. Она также имеет логику обработки больших CSV-файлов и блокирования массового запроса для отправки 50 записей в каждом запросе. Ниже описано, как протестировать его и настроить его в соответствии с требованиями интеграции.

Примечание.

Пример рабочего процесса Azure Logic Apps предоставляется "как есть" для ссылки на реализацию. Если у вас есть вопросы или вы хотите улучшить его, используйте репозиторий проектов GitHub.

# Задача автоматизации Методические указания по внедрению Расширенная настройка
1 Чтение рабочих данных из CSV-файла. Рабочий процесс Logic Apps использует функцию Azure для чтения CSV-файла, хранящегося в общей папке Azure. Функция Azure преобразует данные CSV в формат JSON. Если формат CSV-файла отличается, обновите шаг рабочего процесса "Анализ JSON" и "Конструктор SCIMUser". Если система записей отличается, проверка руководство, предоставленное в разделе Варианты сценария интеграции по настройке рабочего процесса Logic Apps с помощью соответствующего соединителя.
2 Предварительно обработайте и преобразуйте данные в формат SCIM. По умолчанию рабочий процесс Logic Apps преобразует каждую запись в CSV-файле в представление scIM Core User + Enterprise User. Если вы планируете использовать пользовательские расширения схемы SCIM, обновите шаг "Конструктор SCIMUser", чтобы включить пользовательские расширения схемы SCIM. Если вы хотите запустить код C# для расширенного форматирования и проверки данных, используйте настраиваемые Функции Azure.
3 Использование правильного метода проверки подлинности Вы можете использовать субъект-службу или использовать управляемое удостоверение для доступа к API подготовки входящего трафика. Обновите шаг "Отправить SCI МБ ulkPayload в конечную точку API" с помощью правильного метода проверки подлинности. -
4 Подготовка учетных записей в локальная служба Active Directory или идентификаторе Microsoft Entra. Настройте приложение подготовки на основе API, управляемое входящего трафика. Это создает уникальную конечную точку API /bulkUpload . Обновите шаг "Отправить SCI МБ ulkPayload в конечную точку API", чтобы использовать правильную конечную точку API bulkUpload. Если вы планируете использовать массовый запрос с пользовательской схемой SCIM, расширьте схему приложения подготовки, чтобы включить настраиваемые атрибуты схемы SCIM.
5 Проверьте журналы подготовки и повторите подготовку для неудачных записей. Эта автоматизация еще не реализована в примере рабочего процесса Logic Apps. Чтобы реализовать его, обратитесь к API Graph для подготовки журналов. -
6 Разверните автоматизацию на основе Logic Apps в рабочей среде. После проверки потока подготовки на основе API и настройки рабочего процесса Logic Apps в соответствии с вашими требованиями разверните автоматизацию в вашей среде. -

Шаг 1. Создание учетной записи служба хранилища Azure для размещения CSV-файла

Действия, описанные в этом разделе, являются необязательными. Если у вас уже есть учетная запись хранения или вы хотите прочитать CSV-файл из другого источника, например сайта SharePoint или хранилища BLOB-объектов, обновите приложение логики, чтобы использовать выбранный соединитель.

  1. Войдите в портал Azure как минимум приложение Администратор istrator.
  2. Найдите "служба хранилища учетные записи" и создайте новую учетную запись хранения. Screenshot of creating new storage account.
  3. Назначьте группу ресурсов и присвойте ей имя. Screenshot of resource group assignment.
  4. После создания учетной записи хранения перейдите к ресурсу.
  5. Выберите пункт меню "Общая папка" и создайте общую папку. Screenshot of creating new file share.
  6. Убедитесь, что создание общей папки выполнено успешно. Screenshot of file share created.
  7. Отправьте пример CSV-файла в общую папку с помощью параметра отправки.
  8. Ниже приведен снимок экрана столбцов в CSV-файле. Screenshot of columns in Excel.

Шаг 2. Настройка преобразователя функций Azure CSV2JSON

  1. В браузере, связанном с портал Azure, откройте URL-адрес репозитория GitHub . https://github.com/joelbyford/CSVtoJSONcore

  2. Щелкните ссылку "Развернуть в Azure", чтобы развернуть эту функцию Azure в клиенте Azure. Screenshot of deploying Azure Function.

  3. Укажите группу ресурсов, в которой будет развернута эта функция Azure. Screenshot of configuring Azure Function resource group.

    Если вы получите сообщение об ошибке "Этот регион имеет квоту 0 экземпляров", попробуйте выбрать другой регион.

  4. Убедитесь, что развертывание функции Azure в качестве Служба приложений успешно выполнено.

  5. Перейдите в группу ресурсов и откройте конфигурацию WebApp. Убедитесь, что он находится в состоянии "Выполнение". Скопируйте доменное имя по умолчанию, связанное с веб-приложением. Screenshot of Azure Function Web App domain name.

  6. Откройте клиент Postman, чтобы проверить, работает ли конечная точка CSVtoJSON должным образом. Вставьте доменное имя, скопированное на предыдущем шаге. Используйте тип контента "text/csv" и опубликуйте пример CSV-файла в тексте запроса в конечную точку: https://[your-domain-name]/csvtojsonScreenshot of Postman client calling the Azure Function.

  7. Если развертывание функции Azure выполнено успешно, в ответе вы получите json-версию CSV-файла с состоянием 200 OK.

    Screenshot of Azure Function response.

  8. Чтобы разрешить Logic Apps вызывать эту функцию Azure, в параметре CORS для WebApp введите звездочку (*) и "Сохранить" конфигурацию. Screenshot of Azure Function CORS setting.

Шаг 3. Настройка входящего подготовки пользователей на основе API

  • Настройте подготовку входящих пользователей на основе API.

Шаг 4. Настройка рабочего процесса Azure Logic Apps

  1. Нажмите кнопку ниже, чтобы развернуть шаблон Azure Resource Manager для рабочего процесса CSV2SCI МБ ulkUpload Logic Apps.

    Deploy to Azure

  2. В разделе сведений об экземпляре обновите выделенные элементы, вставляя значения копирования из предыдущих шагов. Screenshot of Azure Logic Apps instance details.

  3. Azurefile_access Key Для параметра откройте учетную запись хранения файлов Azure и скопируйте ключ доступа, представленный в разделе "Безопасность и сеть".
    Screenshot of Azure File access keys.

  4. Нажмите кнопку "Рецензирование и создание", чтобы начать развертывание.

  5. После завершения развертывания появится следующее сообщение. Screenshot of Azure Logic Apps deployment complete.

Шаг 5. Настройка управляемого удостоверения, назначаемого системой

  1. Перейдите в колонку Параметры —> удостоверение рабочего процесса Logic Apps.
  2. Включите управляемое удостоверение, назначаемое системой. Screenshot of enabling managed identity.
  3. Появится запрос на подтверждение использования управляемого удостоверения. Нажмите кнопку "Да".
  4. Предоставьте разрешения управляемого удостоверения для выполнения массовой отправки.

Шаг 6. Просмотр и настройка шагов рабочего процесса

  1. Откройте приложение логики в представлении конструктора. Screenshot of Azure Logic Apps designer view.

  2. Проверьте конфигурацию каждого шага в рабочем процессе, чтобы убедиться, что это правильно.

  3. Откройте шаг "Получить содержимое файла с помощью пути" и исправьте его, чтобы перейти к служба хранилища файла Azure в клиенте. Screenshot of get file content.

  4. При необходимости обновите подключение.

  5. Убедитесь, что шаг "Преобразовать CSV в JSON" указывает на правильный экземпляр веб-приложения функции Azure. Screenshot of Azure Function call invocation to convert from CSV to JSON.

  6. Если содержимое CSV-файла и заголовки отличаются, обновите шаг "Анализ JSON" с выходными данными JSON, которые можно получить из вызова API функции Azure. Используйте выходные данные Postman из шага 2. Screenshot of Parse JSON step.

  7. На шаге "Конструктор SCIMUser" убедитесь, что поля CSV соответствуют атрибутам SCIM, которые будут использоваться для обработки.

    Screenshot of Construct SCIM user step.

  8. На шаге "Отправить SCI МБ ulkPayload в конечную точку API" убедитесь, что вы используете правильную конечную точку API и механизм проверки подлинности.

    Screenshot of invoking bulk upload API with managed identity.

Шаг 7. Запуск триггера и проверка рабочего процесса Logic Apps

  1. В версии конструктора Logic Apps щелкните "Запустить триггер", чтобы вручную выполнить рабочий процесс. Screenshot of running the Logic App.
  2. После завершения выполнения просмотрите действие Logic Apps, выполняемого в каждой итерации.
  3. В окончательной итерации вы увидите, как Logic Apps отправляет данные в конечную точку API подготовки для входящего трафика. 202 Accept Найдите код состояния. Вы можете скопировать и проверить запрос массовой отправки. Screenshot of the Logic Apps execution result.

Следующие шаги