HTTP с идентификатором Microsoft Entra

Используйте соединитель HTTP для получения ресурсов из различных веб-служб, прошедших проверку подлинности с помощью идентификатора Microsoft Entra, или из локальной веб-службы.

Этот соединитель доступен в следующих продуктах и регионах:

Услуга Class Регионы
Copilot Studio Премия Все регионы Power Automate
Логические приложения Стандарт Все регионы Logic Apps , кроме следующих:
     - Министерство обороны США (DoD)
Power Apps Премия Все регионы Power Apps
Power Automate Премия Все регионы Power Automate
Контакт
Имя Microsoft
URL Поддержка Microsoft LogicApps
Поддержка Microsoft Power Automate
Поддержка Microsoft Power Apps
Метаданные соединителя
Publisher Microsoft

Известные проблемы и ограничения

  1. Чтобы соединитель HTTP с идентификатором Microsoft Entra ID успешно извлекал данные из другой службы, приложение, используемое соединителем, должно быть предоставлено доступ к требуемой области. Дополнительные сведения о предоставлении требуемого доступа к приложению см. в статье "Авторизация приложения действовать от имени пользователя, вошедшего в систему". Если необходимый доступ не предоставлен, при попытке создать подключение может возникнуть одна из следующих ошибок:

    Consent Required: To enable the HTTP With Microsoft Entra ID connector to access resources on behalf of a signed-in user, grant consent to this application.
    

    Предоставление согласия

    Если область (разрешение) была предоставлена, но не все необходимые области включены, создание подключения завершится успешно, но при выполнении выполнения возникает ошибка "Запрещено" (403). Сведения об ошибке могут содержать дополнительные сведения, такие как:

    "code": "Authorization_RequestDenied"
    "message": "Insufficient privileges to complete the operation." 
    
  2. Соединитель кодирует текст запроса в кодировку Base64, поэтому его следует использовать для вызова внутренних служб, которые ожидают текст запроса в этом формате. Этот соединитель нельзя использовать для вызова серверной службы, которая ожидает текст запроса в необработанном двоичном формате.

  3. Соединитель основан на регистрации мультитенантного приложения. Приложение не может сообщить, какой клиент находится у пользователя, пока пользователь не войдет в него. Поэтому мы поддерживаем только указание ресурсов в клиенте по умолчанию пользователей ("common").

  4. Ресурсы на основе единого входа ADFS (службы федерации идентификаторов Microsoft Entra ID для одной Sign-On) не поддерживаются. В качестве обходного решения используйте соединитель HTTP.

  5. При использовании этого соединителя в национальной облачной среде ресурс должен быть эквивалентным национальной облачной конечной точке. Попытки подключения к общедоступному облаку (https://graph.microsoft.comнапример, https://bing.com из большинства национальных облачных сред завершаются ошибкой предварительной авторизации).

  6. Использование заголовка запроса авторизации cookie не поддерживается в случае подключения к локальному шлюзу данных.

  7. Асинхронный шаблон на основе заголовка расположения ответа не поддерживается. При необходимости используйте соединитель Azure Resource Manager .

  8. Действие "Получить содержимое файла" недоступно в этом соединителе, так как оно напоминает действие "Вызов HTTP". Единственное различие между ними заключается в том, что прежнее действие кодирует ответ. Таким образом, чтобы получить ответ в кодировке Base64, можно просто передать ответ из действия "Invoke HTTP" в одно из доступных действий кодирования.

  9. Удаление или добавление предварительной проверки подлинности может занять до 1 часа, чтобы отразить подключения, существующие до обновления. Однако новые подключения должны мгновенно отражать обновленные авторизации.

  10. Если возникают проблемы с созданием подключения или ошибка возникает вокруг отсутствующих значений параметра, попробуйте создать подключение с старым конструктором Power Automate вместо нового конструктора.

Авторизация соединителя действовать от имени пользователя, вошедшего в систему

Как пользователь с ролью глобального администратора необходимо создать oAuth2PermissionGrants , чтобы утвердить необходимые разрешения (области) для требуемой службы.

Например, если вы используете Microsoft Graph (https://graph.microsoft.com) и должны читать сведения о календаре, вы можете следовать документации Graph , чтобы определить необходимые разрешения (Calendar.Read). Предоставив приложению (используемому соединителем) область Calendar.Read, приложение сможет получить доступ к этим данным от имени пользователя. Важно отметить, что доступ к данным, к которым может обращаться приложение, по-прежнему ограничен данными, к которым пользователь имеет доступ в службе. Невозможно использовать портал Azure для предоставления согласия этому приложению. По этой причине сценарий PowerShell был создан корпорацией Майкрософт для упрощения предоставления согласия приложению, используемому http с соединителем Идентификатора Microsoft Entra ID.

Это важно

Для выполнения этого сценария необходимо установить PowerShell версии 7 или более поздней версии.

  1. Скачайте необходимый сценарий PowerShell или создайте сценарий с именемManagePermissionGrant.ps1' со ссылкой на описанные здесь действия. Этот скрипт предназначен в основном для справки, вы можете изменить сценарий в случае использования.

  2. Щелкните правой кнопкой мыши скачанный файл ManagePermissionGrant.ps1 и выберите пункт "Свойства".

  3. Установите флажок "Разблокировать " и нажмите кнопку "ОК".

    Разблокировка скрипта

    Если флажок "Разблокировать" не установлен, появится сообщение об ошибке, указывающее, что скрипт не может быть загружен, так как он не подписан цифровой подписью.

  4. Откройте командное окно PowerShell.

  5. Измените путь к расположению, где вы скачали скрипт.

  6. Введите следующую команду и нажмите клавишу ВВОД:

    .\ ManagePermissionGrant.ps1
    

    Выполнение скрипта предоставления разрешений

  7. Вам будет предложено выбрать, следует ли пройти проверку подлинности в глобальной среде Azure (рекомендуется) или выбрать из списка (дополнительно). Если вы не подключаетесь к подпискам в США gov, US Gov DoD, Китае или Германии, нажмите клавишу ВВОД.

    Выбор облака

  8. Если у вас еще нет, может появиться запрос на проверку подлинности на платформе удостоверений Майкрософт в новом окне браузера. Проверка подлинности от имени пользователя с помощью роли глобального администратора.

  9. Чтобы предоставить согласие некоторым из наиболее используемых служб, таких как Microsoft Graph или SharePoint, нажмите клавишу ВВОД. Если служба, которую необходимо предоставить согласие, не находится в списке часто используемых приложений, используйте параметр A.

    Выбор ресурсов и областей

  10. Откроется диалоговое окно. Выберите приложение, которое вы хотите предоставить пользователю, чтобы разрешить соединителю действовать от имени пользователя. Чтобы отфильтровать результаты, можно использовать текстовое поле вверху.

    Выбор приложения

  11. Нажмите кнопку ОК.

  12. Выберите одну или несколько областей (разрешений), на которые вы хотите предоставить согласие, и нажмите кнопку "ОК". Несколько областей можно выбрать, нажав клавишу CTRL и удерживая клавишу CTRL при выборе строк.

  13. В окне PowerShell вам будет предложено выбрать тип согласия. Вы можете выбрать, следует ли разрешить приложению действовать от имени любого пользователя, вошедшего в систему, или ограничить согласие определенным пользователем. Если вы хотите предоставить согласие для всех пользователей, нажмите клавишу ВВОД. Если вы хотите предоставить согласие только для конкретного пользователя, введите N и нажмите клавишу ВВОД. Если вы решили предоставить согласие для конкретного пользователя, вам будет предложено выбрать пользователя.

  14. Если согласие на любые области уже существуют для выбранного ресурса, вам будет предложено сначала выбрать, нужно ли удалить существующие гранты. Если вы хотите удалить существующие гранты, введите Y и нажмите клавишу ВВОД. Если вы хотите сохранить существующие гранты, нажмите клавишу ВВОД.

  15. Сводка выбранных областей будет отображаться в окне PowerShell. Если вы хотите продолжить предоставление выбранных областей, введите Y и нажмите клавишу ВВОД.

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

Создание подключения

Соединитель поддерживает следующие типы проверки подлинности:

По умолчанию Параметры для создания подключения. Все регионы Недоступен для совместного использования

По умолчанию

Применимо: все регионы

Параметры для создания подключения.

Это недоступно для общего доступа. Если приложение power предоставляется другому пользователю, пользователю будет предложено явно создать новое подключение.

Имя Тип Description Обязательно
URI ресурса ресурса идентификатора Microsoft Entra (URI идентификатора приложения) струна Идентификатор, используемый в идентификаторе Microsoft Entra для идентификации целевого ресурса. Для SharePoint Online и OneDrive для бизнеса используйте https://{contoso}.sharepoint.com. Обычно это базовый URL-адрес ресурса. True
URL-адрес базового ресурса струна Укажите базовый URL-адрес ресурсов HTTP или идентификатора приложения (клиента) в виде GUID, к которому требуется подключиться. True
Имя пользователя securestring Учетные данные пользователя
Пароль securestring Учетные данные пароля
Тип проверки подлинности струна Тип проверки подлинности для подключения к локальному ресурсу HTTP
Gateway gatewaySetting Локальный шлюз (дополнительные сведения см. в разделе https://docs.microsoft.com/data-integration/gateway "Дополнительные сведения"

Ограничения регулирования

Имя Вызовы Период обновления
Вызовы API для каждого подключения 100 60 секунд

Действия

Вызов HTTP-запроса

Вызывает конечную точку HTTP.

Вызов HTTP-запроса

Вызывает конечную точку HTTP.

Параметры

Имя Ключ Обязательно Тип Описание
Метод
method True string

Одна из известных HTTP-команд: GET, DELETE, PATCH, POST, PUT.

URL-адрес запроса
url True string

Полный или относительный URL-адрес ресурса. Если это полный URL-адрес, он должен соответствовать url-адресу базового ресурса, заданному в соединении.

Headers
headers object

Заголовки запроса.

Текст запроса
body string

Текст запроса, когда метод требует его.

Возвращаемое значение

Содержимое ответа.

Тело
string