Включение распространения субъекта SAP для динамических веб-каналов OData с помощью Power Query
Работа с наборами данных SAP в Microsoft Excel или Power BI является общим требованием для клиентов.
В этой статье описаны необходимые конфигурации и компоненты, позволяющие использовать набор данных SAP через OData с помощью Power Query. Интеграция данных SAP считается "активной", так как она может быть обновлена от клиентов, таких как Microsoft Excel или Power BI по запросу, в отличие от экспорта данных (например , экспорта CSV-файлов SAP List Viewer (ALV) например. Эти экспорты являются статическими по своей природе и не имеют непрерывной связи с источником данных.
В этой статье основное внимание уделяется сопоставлению конечных пользователей между известным удостоверением Microsoft Entra в Power Query и серверным пользователем SAP. Этот механизм часто называется распространением субъекта SAP.
Основное внимание описанной конфигурации уделяется azure Управление API, шлюзу SAP, СЕРВЕРУ SAP OAuth 2.0 с источниками AS ABAP и OData, но основные понятия, используемые для любого веб-ресурса.
Внимание
Примечание. Распространение субъекта SAP гарантирует сопоставление пользователей с лицензированным пользователем с именем SAP. Для любых вопросов, связанных с лицензией SAP, обратитесь к представителю SAP.
Обзор продуктов Майкрософт с интеграцией SAP
Интеграция между продуктами SAP и портфелем Microsoft 365 зависит от пользовательских кодов и надстроек партнеров до полностью настраиваемых продуктов Office. Вот несколько примеров.
Доступ к облаку хранилища данных SAP с помощью Microsoft Excel
Пользовательские макросы Excel для взаимодействия с серверными концами SAP
Экспорт из средства просмотра списков SAP (ALV) в Microsoft Excel
Механизм, описанный в этой статье, использует стандартные встроенные возможности OData Power Query и подчеркивает ландшафты SAP, развернутые в Azure. Адрес локальных ландшафтов с помощью azure Управление API локального шлюза.
Дополнительные сведения о том, какие продукты Майкрософт поддерживают Power Query в целом, см . в документации по Power Query.
Рекомендации по настройке
Конечные пользователи могут выбрать локальный рабочий стол или веб-клиенты (например, Excel или Power BI). Среда выполнения клиента должна рассматриваться для сетевого пути между клиентским приложением и целевой рабочей нагрузкой SAP. Решения для доступа к сети, такие как VPN, не являются областью действия приложений, таких как Excel для Интернета.
Azure Управление API отражает потребности локальной и веб-среды с различными режимами развертывания, которые можно применять к ландшафтам Azure (внутренним или внешним). Internal
относится к экземплярам, которые полностью ограничены частной виртуальной сетью, в то время как external
сохраняет общедоступный доступ к Azure Управление API. Для локальных установок требуется гибридное развертывание для применения подхода, как и использование локального шлюза Azure Управление API.
Для Power Query требуется соответствующий URL-адрес службы API и URL-адрес идентификатора приложения Microsoft Entra. Настройте личный домен для Azure Управление API в соответствии с требованиями.
Шлюз SAP необходимо настроить для предоставления требуемых целевых служб OData. Обнаружение и активация доступных служб с помощью кода /IWFND/MAINT_SERVICE
транзакции SAP. Дополнительные сведения см. в разделе конфигурации OData SAP.
Конфигурация личного домена azure Управление API
См. снимок экрана с примером конфигурации в Управление API с помощью личного домена, вызываемого api.custom-apim.domain.com
с управляемым сертификатом и доменом службы приложение Azure. Дополнительные параметры сертификата домена см. в документации по Azure Управление API.
Выполните настройку личного домена в соответствии с требованиями к домену. Дополнительные сведения см. в документации по пользовательскому домену. Чтобы подтвердить владение доменным именем и предоставить доступ к сертификату, добавьте эти записи DNS в домен службы custom-apim.domain.com
приложение Azure, как показано ниже:
Соответствующая регистрация приложения Microsoft Entra для клиента Azure Управление API будет выглядеть следующим образом.
Примечание.
Если личный домен для Azure Управление API не является вариантом для вас, необходимо использовать настраиваемый соединитель Power Query.
Разработка политики Управление API Azure для Power Query
Используйте эту политику azure Управление API для целевого API OData для поддержки потока проверки подлинности Power Query. См. приведенный ниже фрагмент из этой политики, в котором выделен механизм проверки подлинности. Найдите здесь используемый идентификатор клиента для Power Query.
<!-- if empty Bearer token supplied assume Power Query sign-in request as described [here:](/power-query/connectorauthentication#supported-workflow) -->
<when condition="@(context.Request.Headers.GetValueOrDefault("Authorization","").Trim().Equals("Bearer"))">
<return-response>
<set-status code="401" reason="Unauthorized" />
<set-header name="WWW-Authenticate" exists-action="override">
<!-- Check the client ID for Power Query [here:](/power-query/connectorauthentication#supported-workflow) -->
<value>Bearer authorization_uri=https://login.microsoftonline.com/{{AADTenantId}}/oauth2/authorize?response_type=code%26client_id=a672d62c-fc7b-4e81-a576-e60dc46e951d</value>
</set-header>
</return-response>
</when>
Помимо поддержки потока входа в учетную запись организации, политика поддерживает перезапись URL-адресов OData, так как целевой сервер отвечает с исходными URL-адресами. См. приведенный ниже фрагмент из указанной политики:
<!-- URL rewrite in body only required for GET operations -->
<when condition="@(context.Request.Method == "GET")">
<!-- ensure downstream API metadata matches Azure API Management caller domain in Power Query -->
<find-and-replace from="@(context.Api.ServiceUrl.Host +":"+ context.Api.ServiceUrl.Port + context.Api.ServiceUrl.Path)" to="@(context.Request.OriginalUrl.Host + ":" + context.Request.OriginalUrl.Port + context.Api.Path)" />
</when>
Примечание.
Дополнительные сведения о безопасном доступе SAP из Интернета и сети периметра SAP см. в этом руководстве. Сведения о защите API SAP в Azure см. в этой статье.
Проверка подлинности SAP OData с помощью Power Query в Excel Desktop
При заданной конфигурации встроенный механизм проверки подлинности Power Query становится доступным для предоставляемых API OData. Добавьте новый источник OData на лист Excel с помощью ленты данных (получение данных> из других источников —> из веб-канала OData). Сохраняйте URL-адрес целевой службы. В следующем примере используется демонстрационная служба шлюза SAP GWSAMPLE_BASIC. Обнаружение или активация с помощью транзакции /IWFND/MAINT_SERVICE
SAP. Наконец, добавьте его в Azure Управление API с помощью официального руководства по импорту OData.
Получите базовый URL-адрес и вставьте его в целевое приложение. В приведенном ниже примере показана интеграция с Excel Desktop.
Переключите метод входа в учетную запись организации и нажмите кнопку "Войти". Укажите учетную запись Microsoft Entra, сопоставленную с именем пользователя SAP в шлюзе SAP с помощью распространения субъекта SAP. Дополнительные сведения о конфигурации см . в этом руководстве Майкрософт. Дополнительные сведения о распространении субъекта SAP из этой публикации сообщества SAP и этой серии видео.
Продолжайте выбирать, на каком уровне параметры проверки подлинности должны применяться Power Query в Excel. В приведенном ниже примере показан параметр, который будет применяться ко всем службам OData, размещенным в целевой системе SAP (не только к примеру службы GWSAMPLE_BASIC).
Примечание.
Параметр области авторизации на уровне URL-адреса на следующем экране не зависит от фактических авторизации на серверной части SAP. Шлюз SAP остается окончательным проверяющий элемент каждого запроса и связанных авторизации сопоставленного пользователя SAP.
Внимание
Приведенные выше рекомендации посвящены процессу получения допустимого маркера проверки подлинности из идентификатора Microsoft Entra с помощью Power Query. Этот маркер необходимо дополнительно обработать для распространения субъекта SAP.
Настройка распространения субъекта SAP с помощью Azure Управление API
Используйте эту вторую политику Azure Управление API для SAP, чтобы завершить настройку распространения субъекта SAP на среднем уровне. Дополнительные сведения о настройке серверной части шлюза SAP см . в этом руководстве Майкрософт.
Примечание.
Дополнительные сведения о распространении субъекта SAP из этой публикации сообщества SAP и этой серии видео.
Политика зависит от установленной настройки единого входа между идентификатором Microsoft Entra ID и шлюзом SAP (используйте SAP NetWeaver из коллекции Microsoft Entra). См. ниже пример демонстрации пользователя Adele Vance. Сопоставление пользователей между идентификатором Microsoft Entra и системой SAP происходит на основе имени участника-пользователя (UPN) в качестве уникального идентификатора пользователя.
Сопоставление имени участника-пользователя сохраняется в серверной части SAP с помощью транзакции SAML2.
В соответствии с этой конфигурацией пользователи SAP будут сопоставлены с соответствующим пользователем Microsoft Entra. Ниже приведен пример конфигурации из серверной части SAP с использованием кода транзакции SU01.
Дополнительные сведения о требуемом сервере SAP OAuth 2.0 с конфигурацией AS ABAP см. в этом руководстве Майкрософт по единому входу в SAP NetWeaver с помощью OAuth.
Используя описанные политики Azure Управление API любые продукты Майкрософт с поддержкой Power Query, могут вызывать службы SAP размещенных OData, учитывая сопоставление именованных пользователей SAP.
Доступ к SAP OData через другие приложения и службы с поддержкой Power Query
В приведенном выше примере показан поток для Excel Desktop, но подход применим к любому продукту Microsoft Power Query OData с поддержкой OData. Дополнительные сведения о соединителе OData Power Query и о том, какие продукты поддерживают его, см. в документации по соединителям Power Query. Дополнительные сведения о продуктах, поддерживающих Power Query, см . в документации по Power Query.
Популярными потребителями являются Power BI, Excel для Интернета, Power Apps (потоки данных) и служба analysis Service.
Решение сценариев обратной записи SAP с помощью Power Automate
Описанный подход также применим к сценариям обратной записи. Например, power Automate можно использовать для обновления бизнес-партнера в SAP с помощью OData с соединителями с поддержкой http (также используйте RFCs или BAPIs). Ниже приведен пример панели мониторинга служба Power BI, подключенной к Power Automate с помощью оповещений на основе значений и кнопки (выделенная на снимках экрана). Дополнительные сведения об активации потоков из отчетов Power BI см. в документации по Power Automate.
Выделенная кнопка активирует поток, который перенаправит запрос OData PATCH на шлюз SAP, чтобы изменить роль бизнес-партнера.
Примечание.
Используйте политику Azure Управление API для SAP для обработки проверки подлинности, маркеров обновления, маркеров CSRF и общего кэширования маркеров за пределами потока.
Следующие шаги
Узнайте, где можно использовать OData с Power Query
Работа с API SAP OData в Управлении API Azure
Настройка Azure Управление API для API SAP
Руководство. Анализ данных о продажах из Excel и веб-канала OData
Защита API с помощью Шлюз приложений и Управление API
Интеграция Управление API в внутреннюю виртуальную сеть с Шлюз приложений
Сведения о Шлюзе приложений Azure и Брандмауэре веб-приложений для SAP