Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Пропагация субъекта SAP — это механизм, который сопоставляет удостоверение Microsoft Entra пользователя с пользователем SAP-системы, чтобы каждый запрос данных обеспечивал правильную авторизацию SAP. При использовании данных SAP с помощью Power Query в Microsoft Excel или Power BI обычно требуется активные, обновляемые потоки данных OData, а не статический экспорт данных. Передача учетных записей SAP гарантирует, что эти активные потоки данных соблюдают пользовательские авторизации SAP.
В этой статье описывается настройка управления API Azure, шлюза SAP и сервера SAP OAuth 2.0 для включения распространения субъектов SAP для веб-каналов OData с помощью Power Query.
Необходимые условия
- Подписка Azure. Если ее нет, создайте бесплатную учетную запись.
- Экземпляр службы "Управление API Azure ".
- Система SAP с активированными службами SAP Gateway и OData.
- Клиент Microsoft Entra с разрешениями на создание регистраций приложений.
Внимание
Распространение учетной записи SAP обеспечивает сопоставление пользователей с лицензированным именованным пользователем SAP. Для вопросов, связанных с лицензией SAP, обратитесь к представителю SAP.
Просмотр продуктов Майкрософт с помощью интеграции SAP
Интеграция между продуктами SAP и портфелем Microsoft 365 от пользовательского кода и надстроек партнеров до полностью настраиваемых продуктов Office. В следующем списке показаны некоторые примеры:
Доступ к облаку хранилища данных SAP с помощью Microsoft Excel
Экспорт из средства просмотра списков SAP (ALV) в Microsoft Excel
Механизм, описанный в этой статье, использует стандартные встроенные возможности OData Power Query и фокусируется на ландшафтах SAP, развернутых в Azure. Для локальных ландшафтов используйте самостоятельно организованный шлюз управления API Azure.
Дополнительные сведения о том, какие продукты Майкрософт поддерживают Power Query, см. в документации по Power Query.
Планирование установки
Пользователи могут выбирать между локальными настольными или веб-клиентами (например, Excel или Power BI). Рассмотрим среду выполнения клиента для сетевого пути между клиентским приложением и целевой рабочей нагрузкой SAP. Решения для доступа к сети, такие как VPN, не являются областью действия приложений, таких как Excel для Интернета.
Azure Управление API отражает потребности локальной и веб-среды с различными режимами развертывания, которые можно применять к ландшафтам Azure (внутренним или внешним).
Internal относится к экземплярам, которые полностью ограничены частной виртуальной сетью, в то время как External сохраняет общедоступный доступ к управлению API Azure. Для локальных установок требуется гибридное развертывание, чтобы применить подход так же, как и при использовании самостоятельно размещенного шлюза управления API Azure.
Для Power Query требуется соответствующий URL-адрес службы API и URL-адрес идентификатора приложения Microsoft Entra. Настройте личный домен для Azure Управление API в соответствии с требованиями.
Настройте шлюз SAP для предоставления требуемых целевых служб OData. Для обнаружения и активации доступных служб используйте транзакционный код SAP /IWFND/MAINT_SERVICE. Дополнительные сведения см. в конфигурации OData SAP.
Настройка личного домена управления API Azure
На следующем снимке экрана показан пример конфигурации в службе управления API, которая использует личный домен api.custom-apim.domain.com с управляемым сертификатом и доменом службы приложений Azure. Чтобы ознакомиться с дополнительными параметрами сертификатов домена, обратитесь к документации по Azure API Management.
Выполните настройку личного домена в соответствии с требованиями к домену. Дополнительные сведения см. в документации по пользовательскому домену. Чтобы подтвердить владение доменным именем и предоставить доступ к сертификату, добавьте записи DNS в домен custom-apim.domain.com службы приложений Azure, как показано на следующем снимке экрана:
На следующем снимке экрана показана регистрация приложения Microsoft Entra для клиента управления API Azure.
Примечание.
Если личный домен для управления API Azure не является вариантом для вас, используйте настраиваемый соединитель Power Query .
Проектирование политики управления API Azure для Power Query
Используйте политику управления API Azure для обработки запросов доступа Power Query для целевого API OData для поддержки потока проверки подлинности Power Query. В следующем фрагменте кода выделен механизм проверки подлинности. Идентификатор клиента 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-адресов:
<!-- 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 см. в статье SAP Internet inbound and outbound design. Сведения о защите API SAP с помощью Azure см. в статье "Предоставление оркестрации процессов SAP в Azure".
Проверка подлинности SAP OData с помощью Power Query в Excel Desktop
Благодаря этой конфигурации встроенный механизм проверки подлинности Power Query становится доступным для предоставляемых API OData. Добавьте новый источник OData на лист Excel на ленте Данных (Получить данные>Из других источников>Из канала OData). Введите URL-адрес целевой службы. В следующем примере используется демонстрационная служба шлюза SAP GWSAMPLE_BASIC. Обнаружение или активация с помощью транзакции /IWFND/MAINT_SERVICESAP. Затем добавьте его в службу управления API Azure с помощью официального руководства по импорту OData.
Получите базовый URL-адрес и вставьте его в целевое приложение. В следующем примере показана интеграция с Excel Desktop.
Переключите метод входа в учетную запись организации и выберите "Войти". Укажите учетную запись Microsoft Entra, сопоставленную с именем пользователя SAP на шлюзе SAP, с помощью распространения идентификатора пользователя SAP. Дополнительные сведения о конфигурации см. в учебном пособии Microsoft по SSO для SAP NetWeaver. Дополнительные сведения о распространении полномочий SAP см. в статье сообщества SAP в Службе приложений Azure с помощью шлюза SAP OData и видео-серии о распространении полномочий SAP.
Затем выберите, на каком уровне Power Query в Excel следует применить параметры проверки подлинности. В следующем примере показан параметр, который будет применяться ко всем службам OData, размещенным в целевой системе SAP (не только к примеру службы GWSAMPLE_BASIC).
Примечание.
Параметр области авторизации на уровне URL-адреса на следующем снимке экрана не зависит от фактических авторизации в серверной части SAP. Шлюз SAP остается окончательным валидатором каждого запроса и связанных авторизаций сопоставленного пользователя SAP.
Внимание
В предыдущем руководстве основное внимание сосредоточено на процессе получения допустимого токена аутентификации из Microsoft Entra ID с помощью Power Query. Данный токен требует дальнейшей обработки для распространения идентификатора SAP.
Настройка распространения учетных данных SAP с помощью управления API Azure
Используйте политику SAP OAuth2 токенов для управления API Azure, чтобы завершить настройку распространения учетных данных SAP на среднем уровне. Дополнительные сведения о настройке серверной части SAP-шлюза см. в руководстве Microsoft по SAP NetWeaver SSO.
Примечание.
Дополнительные сведения о распространении полномочий SAP см. в статье сообщества SAP в Службе приложений Azure с помощью шлюза SAP OData и видео-серии о распространении полномочий SAP.
Политика зависит от установленной настройки единого входа (SSO) между Microsoft Entra ID и шлюзом SAP (используйте SAP NetWeaver из галереи Microsoft Entra). В следующем примере используется демонстрационный пользователь Adele Vance. Сопоставление пользователей между идентификатором Microsoft Entra ID и системой SAP основано на имени пользователя (UPN) в качестве уникального идентификатора пользователя.
Сопоставление UPN поддерживается в серверной части SAP с помощью транзакции SAML2.
В данной конфигурации заданные пользователи SAP сопоставляются с соответствующими пользователями Microsoft Entra. На следующем снимка экрана показан пример конфигурации из серверной части SAP с помощью кода транзакции SU01.
Дополнительные сведения о требуемом сервере SAP OAuth 2.0 с конфигурацией AS ABAP см. в руководстве Майкрософт по единому входу в SAP NetWeaver с помощью OAuth.
При использовании описанных политик управления API Azure любой продукт с поддержкой Power Query может вызывать размещенные в SAP службы OData, соблюдая правила сопоставления именованных пользователей SAP.
Доступ к SAP OData с помощью других приложений и служб с поддержкой Power Query
В предыдущем примере показан процесс excel Desktop, но подход применяется к любому продукту Майкрософт с поддержкой Power Query OData. Дополнительные сведения о соединителе OData Power Query и о том, какие продукты поддерживают его, см. в документации по соединителям Power Query. Дополнительные сведения о продуктах, поддерживающих Power Query, см. в документации по Power Query.
Популярными потребителями являются Power BI, Excel для Интернета, Power Apps (потоки данных) и службы Analysis Services.
Управление процессами обратной записи данных в SAP с помощью Power Automate
Описанный подход также применяется к сценариям обратной записи. Например, Power Automate можно использовать для обновления делового партнера в SAP с помощью OData с соединителями с поддержкой HTTP (или используйте RFCs или BAPIs). На следующем снимке экрана показан пример панели мониторинга службы Power BI , подключенной к Power Automate с помощью оповещений на основе значений и кнопки (выделенная на снимке экрана). Дополнительные сведения о активации потоков из отчетов Power BI см. в документации по Power Automate.
Выделенная кнопка активирует поток, который перенаправит запрос OData PATCH на шлюз SAP, чтобы изменить роль бизнес-партнера.
Примечание.
Используйте политику управления API Azure для SAP, чтобы управлять проверкой подлинности, токенами обновления, токенами CSRF и общим кэшированием токенов вне основного потока.
Связанный контент
- Узнайте, где можно использовать OData с Power Query
- Работа с API SAP OData в Управлении API Azure
- Руководство: Анализ данных о продажах из Excel и источника OData
- Защита API с помощью Application Gateway и API Management
- Интегрировать управление API во внутреннюю виртуальную сеть с шлюзом приложений
- Сведения о Шлюзе приложений Azure и Брандмауэре веб-приложений для SAP
- Автоматизация развертываний API с помощью APIOps