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


Настройка Microsoft Entra ID, Azure API Management и SAP для единого входа из соединителя SAP OData

Соединитель SAP OData Power Platform можно настроить для использования учетных данных Microsoft Entra ID для единого входа (SSO) в SAP. Пользователи могут получать доступ к данным SAP в Power Platform решениях без необходимости многократного входа в несколько служб, соблюдая при этом свои полномочия и назначенные роли в SAP.

В этой статье описан весь процесс, включая настройку доверия между SAP и Microsoft Entra ID, а также настройку Azure API Management для преобразования маркера Microsoft Entra ID OAuth в маркер SAML, который используется для вызовов OData в SAP.

Схема решения, показывающая поток трафика из Power Platform и Copilot в SAP через Azure API Management.

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

Предварительные требования

  • Экземпляр SAP
  • Ресурс Azure API Management

Загрузка метаданных SAML локального поставщика из SAP

Чтобы настроить отношения доверия между SAP и Microsoft Entra ID с помощью SAML 2.0, сначала загрузите XML-файл метаданных из SAP.

Выполните следующие действия в качестве администратора SAP Basis в графическом пользовательском интерфейсе SAP.

  1. В графическом пользовательском интерфейсе SAP запустите транзакцию SAML2 , чтобы открыть соответствующий мастер, зависящий от клиента SAP, и выберите вкладку Local Provider .

  2. Выберите Метаданные, затем выберите Загрузить метаданные. Вы отправите метаданные SAP SAML в Microsoft Entra ID на следующем шаге.

  3. Запишите URI-совместимое Имя поставщика.

Заметка

Microsoft Entra ID требует, чтобы это значение было совместимо с URI. Если Имя поставщика уже задано и не совместимо с URI, не изменяйте его без предварительной консультации с командой SAP Basis. Изменение имени поставщика может нарушить работу существующих конфигураций SAML. Шаги по его изменению выходят за рамки этой статьи. Обратитесь за указаниями к своей команде SAML Basis.

Дополнительную информацию см. в официальной документации SAP.

Импорт метаданных SAP в Microsoft Entra корпоративное приложение ID

Выполните эти действия в качестве администратора Microsoft Entra ID на портале Azure.

  1. Выберите Microsoft Entra ID>Корпоративные приложения.

  2. Выберите Новое приложение.

  3. Выполните поиск SAP Netweaver.

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

  5. Перейдите к пункту Единый вход и выберите SAML.

  6. Выберите Отправить файл метаданных и выберите файл метаданных, загруженный из SAP.

  7. Выберите Добавить.

  8. Измените URL-адрес ответа (URL-адрес службы потребителя утверждений) на конечную точку маркера SAP OAuth. URL-адрес имеет формат https://<SAP server>:<port>/sap/bc/sec/oauth2/token.

  9. Измените URL-адрес входа на значение, совместимое с URI. Этот параметр не используется и может быть установлен в любое значение, совместимое с URI.

  10. Выберите Сохранить.

  11. В разделе Атрибуты и утверждения выберите Изменить.

  12. Убедитесь, что для параметра Имя утверждения Уникальный идентификатор пользователя (Name ID) задано значение user.userprincipalname [nameid=format:emailAddress].

  13. В разделе Сертификаты SAML выберите Загрузить для Сертификат (Base64) и XML метаданных федерации.

Настройка Microsoft Entra ID в качестве доверенного поставщика удостоверений для OAuth 2.0 в SAP

  1. Выполните действия, описанные в разделе документации по Microsoft Entra ID для SAP NetWeaver и OAuth2.

  2. Вернитесь к этой статье, как только клиент OAuth2 будет создан в SAP.

Дополнительную информацию см. в официальной документации SAP.

Создание Microsoft Entra приложения ID, представляющего ресурс Azure "Управление API"

Настройте приложение идентификатора Microsoft Entra , которое предоставляет доступ к соединителю Microsoft Power Platform SAP OData. Это приложение позволяет ресурсу Azure API Management преобразовывать маркеры OAuth в маркеры SAML.

Выполните эти действия в качестве администратора Microsoft Entra ID на портале Azure.

  1. Выберите Microsoft Entra ID>Регистрации приложений>Создать регистрацию.

  2. Введите Имя, затем выберите Зарегистрировать.

  3. Выберите Сертификаты и секреты>Новый секрет клиента.

  4. Введите Описание, затем выберите Добавить.

  5. Скопируйте и сохраните этот секрет в надежном месте.

  6. Выберите Разрешения API>Добавить разрешение.

  7. Выберите Microsoft Graph>Делегированные разрешения.

  8. Найдите и выберите openid.

  9. Выберите Добавить разрешения.

  10. Выберите Проверка подлинности>Добавление платформы>Интернет.

  11. Установите URI перенаправления как https://localhost:44326/signin-oidc.

  12. Выберите Маркеры доступа и Маркеры идентификации, затем выберите Настроить.

  13. Выберите Предоставление API.

  14. Рядом с пунктом URI-адрес идентификатора приложения выберите Добавить.

  15. Примите значение по умолчанию и выберите Сохранить.

  16. Выберите Добавить область.

  17. Задайте для параметра Имя области значение user_impersonation.

  18. Установите для параметра Кто может дать согласие? значение Администраторы и пользователи.

  19. Выберите Добавить область.

  20. Скопируйте Идентификатор приложения (клиента).

Авторизуйте ресурс Azure API Management для доступа к SAP Netweaver с помощью Microsoft Entra приложения ID Enterprise

  1. После создания корпоративного приложения Microsoft Entra ID оно создает соответствующую регистрацию приложения. Найдите регистрацию приложения, соответствующую корпоративному Microsoft Entra приложению ID, созданному для SAP NetWeaver.

  2. Выберите Предоставление API>Добавить клиентское приложение.

  3. Вставьте Идентификатор приложения (клиента) регистрации приложения Microsoft Entra ID экземпляра управления API Azure в Идентификатор клиента.

  4. Выберите область user_impersonation, затем выберите Добавить приложение.

Авторизация соединителя Microsoft Power Platform SAP OData для доступа к API-интерфейсам, предоставляемым управлением API Azure

  1. В регистрации приложения Microsoft Entra ID для Azure API Management выберите Предоставление API> Добавьте идентификатор клиента соединителя Power Platform SAP OData 6bee4d13-fd19-43de-b82c-4b6401d174c3 в разделе авторизованных клиентских приложений.

  2. Выберите область user_impersonation, затем выберите Сохранить.

Настройка SAPOAuth

Создайте клиент OAuth 2.0 в SAP, который позволяет Azure API Management получать маркеры от имени пользователей.

Дополнительную информацию см. в официальной документации SAP.

Выполните следующие действия в качестве администратора SAP Basis в графическом пользовательском интерфейсе SAP.

  1. Выполните транзакцию SOAUTH2.

  2. Выберите Создать.

  3. На странице Идентификатор клиента:

    • Для идентификатора клиента OAuth 2.0 выберите системного пользователя SAP.
    • Введите Описание, затем выберите Далее.
  4. На странице Авторизация клиента выберите Далее.

  5. На странице Параметры типа предоставления разрешения:

    • Для Доверенный поставщика удостоверений OAuth 2.0 выберите запись Microsoft Entra ID.
    • Выберите Обновить разрешенные, затем выберите Далее.
  6. На странице Назначение области выберите Добавить, выберите службы OData, которые использует управление API Azure (например, ZAPI_BUSINESS_PARTNER_0001), затем выберите Далее.

  7. Выберите Готово.

Настройка Azure API Management

Импортируйте метаданные SAP OData XML в экземпляр службы управления API Azure. Затем примените политику Azure API Management, чтобы преобразовать маркеры.

  1. Откройте экземпляр Azure API Management и следуйте инструкциям по созданию API SAP OData.

  2. В разделе API выберите Именованные значения.

  3. Добавьте следующие пары ключ/значение:

Ключ Значение
AADSAPResource URI локального поставщика SAP
AADTenantId GUID вашего клиента
APIMAADRegisteredAppClientId GUID приложения Microsoft Entra ID
APIMAADRegisteredAppClientSecret Секрет клиента из предыдущего шага
SAPOAuthClientID Системный пользователь SAP
SAPOAuthClientSecret Пароль системного пользователя SAP
SAPOAuthRefreshExpiry Дата окончания срока действия обновления токена
SAPOAuthScope Области OData, выбранные во время настройки SAP OAuth
SAPOAuthServerAddressForTokenEndpoint Конечная точка SAP для Azure API Management для вызова для выполнения получения маркера

Заметка

Имейте в виду, что параметры для SAP SuccessFactors немного отличаются. Дополнительные сведения см. в политике управления API Azure для SAP SuccessFactors.

Применение политики токенов Azure API Management

Используйте политики Azure управления API для преобразования маркера, Microsoft Entra выданного идентификатором, в токен, который принимает SAP NetWeaver. Это делается с помощью потока OAuth2SAMLBearer. Дополнительные сведения см. в официальной документации SAP.

  1. Скопируйте политику управления API Azure с официальной страницы Microsoft на GitHub.

  2. Откройте портал Azure.

  3. Перейдите к вашему ресурсу Azure API Management.

  4. Выберите API-интерфейсы, затем выберите созданный вами API-интерфейс OData.

  5. Выберите Все операции.

  6. В разделе Входящая обработка выберите Политики </>.

  7. Удалите существующую политику и вставьте скопированную политику.

  8. Выберите Сохранить.