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


Интеграция единого входа Microsoft Entra с SAP NetWeaver

В этой статье вы узнаете, как интегрировать SAP NetWeaver с идентификатором Microsoft Entra ID. Интеграция SAP NetWeaver с идентификатором Microsoft Entraver позволяет:

  • Контроль того, кто имеет доступ к SAP NetWeaver в Microsoft Entra ID.
  • Включите автоматический вход пользователей в SAP NetWeaver с помощью учетных записей Microsoft Entra.
  • Работайте со своими учетными записями в одном центральном месте.

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

В сценарии, описанном в этой статье, предполагается, что у вас уже есть следующие предварительные требования:

  • подписка на SAP NetWeaver с поддержкой единого входа;
  • SAP NetWeaver версии 7.20 или более поздней версии

Описание сценария

  • SAP NetWeaver поддерживает как SAML (SSO, инициированный поставщиком услуг), так и OAuth. В этой статье описана настройка и проверка единого входа Microsoft Entra в тестовой среде.

Примечание.

Идентификатор этого приложения — фиксированное строковое значение, поэтому в одном клиенте можно настроить только один экземпляр.

Примечание.

Настройте для приложения режим SAML или OAuth согласно требованиям вашей организации.

Чтобы настроить интеграцию SAP NetWeaver с идентификатором Microsoft Entra ID, необходимо добавить SAP NetWeaver из коллекции в список управляемых приложений SaaS.

  1. Войдите в административный центр Microsoft Entra как минимум как Администратор облачных приложений.
  2. Перейдите к Identity>Applications>Enterprise applications>New application.
  3. В разделе Добавление из коллекции в поле поиска введите SAP NetWeaver.
  4. Выберите SAP NetWeaver в области результатов и добавьте это приложение. Подождите несколько секунд, пока приложение добавляется в вашего арендатора.

Кроме того, можно также использовать мастер конфигурации корпоративных приложений. В этом мастере настройки вы можете добавить приложение в домен клиента, добавить пользователей и группы в приложение, назначить роли и также выполнить настройку единой аутентификации (SSO). Подробнее о мастерах Microsoft 365.

Настройка и проверка единого входа Microsoft Entra для SAP NetWeaver

Настройте и проверьте единый вход Microsoft Entra в SAP NetWeaver с помощью тестового пользователя B.Simon. Для работы SSO необходимо установить связь между пользователем Microsoft Entra и соответствующим пользователем в SAP NetWeaver.

Чтобы настроить и проверить единый вход Microsoft Entra в SAP NetWeaver, выполните следующие действия.

  1. Настройте единый вход Microsoft Entra, чтобы пользователи могли использовать эту функцию.
    1. Создание тестового пользователя Microsoft Entra для тестирования единого входа Microsoft Entra с помощью B.Simon.
    2. Назначьте тестового пользователя Microsoft Entra, чтобы разрешить B.Simon использовать единый вход Microsoft Entra.
  2. Настройка SAP NetWeaver с использованием SAML для настройки параметров единого входа на стороне приложения.
    1. Создайте тестового пользователя SAP NetWeaver, чтобы в SAP NetWeaver был эквивалентный пользователь B.Simon, связанный с представлением пользователя Microsoft Entra.
  3. Проверка единого входа позволяет убедиться в правильности конфигурации.
  4. Настройте SAP NetWeaver для OAuth, чтобы настроить параметры OAuth на стороне приложения.
  5. Запрос токена доступа из Azure AD для использования Azure AD в качестве поставщика удостоверений (IdP).

Настройте Microsoft Entra для единого входа (SSO)

В этом разделе описано, как включить единый вход Microsoft Entra.

Чтобы настроить единый вход Microsoft Entra в SAP NetWeaver, выполните следующие действия.

  1. Откройте окно веб-браузера и войдите на сайт своей компании SAP NetWeaver как администратор

  2. Убедитесь, что службы http и https активны, а в коде транзакции SMICM назначены соответствующие порты.

  3. Выполните вход в бизнес-клиент системы SAP (T01), где требуется единый вход, и активируйте управление сеансом безопасности HTTP.

    1. Перейдите к коду транзакции SICF_SESSIONS. В нем отображаются все параметры соответствующего профиля с текущими значениями. Они выглядят следующим образом:

      login/create_sso2_ticket = 2
      login/accept_sso2_ticket = 1
      login/ticketcache_entries_max = 1000
      login/ticketcache_off = 0  login/ticket_only_by_https = 0 
      icf/set_HTTPonly_flag_on_cookies = 3
      icf/user_recheck = 0  http/security_session_timeout = 1800
      http/security_context_cache_size = 2500
      rdisp/plugin_auto_logout = 1800
      rdisp/autothtime = 60
      

      Примечание.

      Настройте эти параметры в соответствии с требованиями вашей организации. Упомянутые выше параметры приведены здесь только для иллюстрации.

    2. При необходимости настройте параметры в экземпляре и (или) профиле по умолчанию системы SAP, затем перезапустите систему SAP.

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

      Сеанс безопасности HTTP

    4. Активируйте ниже службы SICF:

      /sap/public/bc/sec/saml2
      /sap/public/bc/sec/cdc_ext_service
      /sap/bc/webdynpro/sap/saml2
      /sap/bc/webdynpro/sap/sec_diag_tool (This is only to enable / disable trace)
      
  4. Перейдите к коду транзакции SAML2 в бизнес-клиенте системы SAP [T01/122]. В браузере откроется пользовательский интерфейс. В этом примере предполагается, что 122 является бизнес-клиентом SAP.

    Код транзакции

  5. Укажите имя пользователя и пароль для ввода в пользовательский интерфейс и выберите Изменить.

    Имя пользователя и пароль

  6. Замените имя поставщика из T01122 на http://T01122 и выберите Сохранить.

    Примечание.

    По умолчанию имя поставщика имеет формат <sid><client>, но Microsoft Entra ID ожидает имя в формате <protocol>://<name>, поэтому рекомендуется использовать имя поставщика в формате https://<sid><client>, чтобы можно было настроить несколько систем SAP NetWeaver ABAP в Microsoft Entra ID.

    Несколько модулей SAP NetWeaver ABAP

  7. создание метаданных поставщика услуг:- После настройки локального поставщика и доверенных поставщиков параметров пользовательского интерфейса SAML 2.0 необходимо создать файл метаданных поставщика услуг (который будет содержать все параметры, контексты проверки подлинности и другие конфигурации в SAP). После создания этого файла загрузите его в Microsoft Entra ID.

    Создание метаданных поставщика услуг

    1. Перейдите на вкладку Локальный поставщик.

    2. Выберите метаданные.

    3. Сохраните созданный XML-файл метаданных на компьютере и передайте его в раздел Базовая конфигурация SAML, чтобы автоматически заполнить значения Идентификатор и URL-адрес ответа на портале Azure.

Выполните следующие действия, чтобы включить единый вход (SSO) Microsoft Entra.

  1. Войдите в административный центр Microsoft Entra как минимум как Администратор облачных приложений.

  2. Перейдите на страницу интеграции приложения Identity>Applications>Enterprise applications>SAP NetWeaver, найдите раздел "Управление" и выберите единый вход.

  3. На странице Выбрать метод единого входа выберите SAML.

  4. На странице Настройка единого входа с помощью SAML щелкните значок карандаша, чтобы открыть диалоговое окно Базовая конфигурация SAML и изменить эти параметры.

    Изменение базовой конфигурации SAML

  5. В разделе Базовая конфигурация SAML, если вы хотите настроить приложение в режиме, инициируемом поставщиком удостоверений, выполните следующие действия:

    1. Выберите Отправить файл метаданных , чтобы отправить файл метаданных поставщика услуг , полученный ранее.

    2. Выберите логотип папки, чтобы выбрать файл метаданных и выбрать Отправить.

    3. После успешной передачи файла метаданных значения Идентификатор и URL-адрес ответа в разделе Базовая конфигурация SAML автоматически заполняются значениями, как показано ниже.

    4. В текстовом поле URL-адрес входа введите URL-адрес в формате https://<your company instance of SAP NetWeaver>.

    Примечание.

    Некоторые клиенты столкнулись с ошибкой, связанной с неправильно настроенным URL-адресом ответа для их экземпляра. Если вы получаете такую ошибку, используйте эти команды PowerShell. Сначала обновите URL-адреса ответа в объекте приложения на URL-адрес ответа, а затем обновите служебный принципал. Используйте Get-MgServicePrincipal, чтобы получить значение идентификатора главного объекта службы.

    $params = @{
       web = @{
          redirectUris = "<Your Correct Reply URL>"
       }
    }
    Update-MgApplication -ApplicationId "<Application ID>" -BodyParameter $params
    Update-MgServicePrincipal -ServicePrincipalId "<Service Principal ID>" -ReplyUrls "<Your Correct Reply URL>"
    
  6. Приложение SAP NetWeaver ожидает, что утверждения SAML будут в определённом формате, что требует от вас добавить настраиваемые сопоставления атрибутов в конфигурацию атрибутов токена SAML. На следующем снимке экрана показан список атрибутов по умолчанию. Щелкните значок "Изменить", чтобы открыть диалоговое окно "Атрибуты пользователя".

    Изменение атрибута

  7. В разделе Утверждения пользователя диалогового окна Атрибуты пользователя настройте атрибут токена SAML, как показано на рисунке выше, и выполните следующие действия.

    1. Щелкните значок "Изменить", чтобы открыть диалоговое окно "Управление утверждениями пользователей".

      Значок редактирования

        Изображение

    2. Из списка Преобразование выберите ExtractMailPrefix().

    3. Из списка Параметр 1 выберите user.userprincipalname.

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

  8. На странице Настройка единого входа с помощью SAML в разделе Сертификат подписи SAML найдите элемент XML метаданных федерации и нажмите кнопку Скачать, чтобы скачать сертификат и сохранить его на компьютере.

    Ссылка для скачивания сертификата

  9. В разделе "Настройка SAP NetWeaver" скопируйте соответствующие URL-адреса в соответствии с вашим требованием.

    Копирование URL-адресов настройки

Создание и назначение тестового пользователя Microsoft Entra

Следуйте инструкциям в руководстве по созданию и назначению учетной записи пользователя быстрого старта, чтобы создать тестовую учетную запись пользователя B.Simon.

Настройка SAML в SAP NetWeaver

  1. Войдите в систему SAP и перейдите к коду транзакции SAML2. Откроется новое окно браузера с экраном настройки SAML.

  2. Для настройки конечных точек для доверенного поставщика удостоверений (Идентификатор Microsoft Entra ID) перейдите на вкладку "Доверенные поставщики".

    Настройка надежных поставщиков с единым входом

  3. Нажмите Добавить и выберите Отправить файл метаданных в контекстном меню.

    Настройка единого входа 2

  4. Отправьте файл метаданных, скачанный вами.

    Настройка единого входа 3

  5. На следующем экране введите имя псевдонима. Например, введите aadstsи нажмите клавишу NEXT , чтобы продолжить.

    Настройка единого входа 4

  6. Убедитесь, что ваш алгоритм хэшированияSHA-256 и не требует изменений, затем нажмите Далее.

    Настройка единого входа 5

  7. В разделе Single Sign-On Endpoints (Конечные точки единого входа) выберите HTTP POST и щелкните Next (Далее), чтобы продолжить.

    Настройка единого входа 6

  8. На странице конечной точки единого выхода выберите HTTPRedirect и нажмите Далее, чтобы продолжить.

    Настройка единого входа 7

  9. В разделе Конечные точки артефакта нажмите Далее для продолжения.

    Настройка единого входа 8

  10. В требованиях к проверке подлинности выберите Готово.

    Настройка единого входа 9

  11. Перейдите на вкладку Надежный поставщик>Федерация удостоверений (из нижней части экрана). Выберите Изменить.

    Настройка единого входа 10

  12. Выберите Добавить на вкладке федерации удостоверений (нижнее окно).

    Настройка единого входа 11

  13. Во всплывающем окне выберите Неопределено из поддерживаемых форматов NameID и нажмите кнопку "ОК".

    Настройка единого входа 12

  14. Укажите для параметра User ID Source (Источник идентификатора пользователя) значение Assertion Attribute (Атрибут утверждения), для параметра User ID mapping mode (Режим сопоставления идентификатора пользователя) — Email (Электронная почта), а для и параметра Assertion Attribute Name (Имя атрибута утверждения) — http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name.

    Настройка единого входа

  15. Обратите внимание, что значения источника идентификатора пользователя и режима сопоставления идентификатора пользователя определяют связь между пользователем SAP и утверждением Microsoft Entra.

Сценарий: сопоставление пользователей SAP с Microsoft Entra.

  1. Снимок экрана со сведениями о NameID в SAP.

    Настройка единого входа 13

  2. Снимок экрана, на котором указаны обязательные утверждения из Microsoft Entra ID.

    Настройка единого входа 14

    Сценарий. Выбор идентификатора пользователя SAP на основе настроенного адреса электронной почты в SU01. В этом случае идентификатор электронной почты должен быть настроен в SU01 для каждого пользователя, которому требуется единый вход.

    1. Снимок экрана со сведениями о NameID в SAP.

      Настройка единого входа 15

    2. Снимок экрана с требуемыми утверждениями из Microsoft Entra ID.

    Настройка единого входа 16

  3. Выберите Save (Сохранить), затем Enable (Включить), чтобы активировать провайдера удостоверений.

    Настройка единого входа 17

  4. Нажмите кнопку ОК после запроса.

    Настройка единого входа 18

Создание тестового пользователя SAP NetWeaver

В этом разделе описано, как создать пользователя B.Simon в приложении SAP NetWeaver. Обратитесь к вашей внутренней команде экспертов SAP или к партнеру вашей организации по SAP, чтобы добавить пользователей на платформу SAP NetWeaver.

Проверка единого входа

  1. После активации идентификатора поставщика удостоверений Microsoft Entra попробуйте получить доступ к приведенному ниже URL-адресу, чтобы проверить единый вход, чтобы убедиться, что нет запроса на ввод имени пользователя & пароля.

    https://<sapurl>/sap/bc/bsp/sap/it00/default.htm

    Можно также указать такой URL-адрес:

    https://<sapurl>/sap/bc/bsp/sap/it00/default.htm

    Примечание.

    Замените sapurl фактическим именем узла SAP.

  2. Указанный выше URL-адрес должен переадресовать вас на показанный ниже экран. Если вы можете перейти к приведенной ниже странице, настройка единого входа Microsoft Entra SSO успешно завершена.

    Проверка единого входа

  3. Если возникает запрос имени пользователя и пароля, можно диагностировать проблему, включив трассировку, используя URL-адрес:

    https://<sapurl>/sap/bc/webdynpro/sap/sec_diag_tool?sap-client=122&sap-language=EN#

Настройка OAuth в SAP NetWeaver

  1. Документированный процесс SAP доступен в расположении: Включение сервиса NetWeaver Gateway и создание области действия OAuth 2.0

  2. Перейдите к SPRO и найдите раздел Activate and Maintain services (Активация и обслуживание служб).

    Активация и обслуживание служб

  3. В этом примере мы хотим подключить службу OData: DAAG_MNGGRP, используя OAuth, к единому входу в систему Microsoft Entra SSO. Используйте поиск по имени технической службы для службы DAAG_MNGGRP и активируйте ее, если она еще не активна (проверьте состояние green на вкладке узлов ICF). Убедитесь в правильности системного псевдонима (подключенной серверной системы, где фактически работает служба).

    Служба OData

    • Затем выберите pushbutton OAuth на верхней панели кнопок и назначьте scope (оставьте предложенное имя по умолчанию).
  4. В нашем примере область — DAAG_MNGGRP_001. Он создается из имени службы путем автоматического добавления числа. Отчет /IWFND/R_OAUTH_SCOPES можно использовать для изменения имени области или создания области вручную.

    Настройка OAuth

    Примечание.

    Сообщение soft state status isn't supported можно спокойно игнорировать, так как проблем нет.

Создание пользователя службы для клиента OAuth 2.0

  1. OAuth2 использует service ID для получения токена доступа для конечного пользователя от его имени. Важное ограничение OAuth: значение OAuth 2.0 Client ID должно быть идентично значению username, которое клиент OAuth 2.0 использует для входа при запросе токена доступа. Поэтому в нашем примере мы зарегистрируем клиент OAuth 2.0 с именем CLIENT1. В качестве предварительных требований пользователь с тем же именем (CLIENT1) должен существовать в системе SAP, и этот пользователь будет настроен для использования упомянутым приложением.

  2. При регистрации клиента OAuth мы используем SAML Bearer Grant type.

    Примечание.

    Дополнительные сведения о регистрации клиента OAuth 2.0 для типа предоставления носителя SAML см. здесь.

  3. Выполните T-Code SU01, чтобы создать пользователя CLIENT1 в качестве System type и задать пароль. Сохраните пароль, так как необходимо предоставить учетные данные программисту API, который должен сохранить его с именем пользователя в вызывающий код. Не следует назначать профили или роли.

Регистрация нового идентификатора клиента OAuth 2.0 с помощью мастера создания

  1. Чтобы зарегистрировать новый клиент OAuth 2.0, запустите транзакцию SOAUTH2. Эта транзакция отобразит обзорные сведения об уже зарегистрированных клиентах OAuth 2.0. Выберите "Создать ", чтобы запустить мастер для нового клиента OAuth с именем CLIENT1 в этом примере.

  2. Перейдите к T-Code: SOAUTH2, укажите описание, потом выберите далее.

    SOAUTH2

    Идентификатор клиента OAuth 2.0

  3. Выберите уже добавленный SAML2 IdP – Microsoft Entra ID из раскрывающегося списка и сохраните.

    SamL2 IdP — Microsoft Entra ID 1

    SAML2 IdP — Идентификатор Microsoft Entra 2

    SamL2 IdP — Microsoft Entra ID 3

  4. Выберите Добавить в разделе назначения области, чтобы добавить ранее созданную область: DAAG_MNGGRP_001

    Область

    Область назначения

  5. Выберите отделку.

Запрос токена доступа из Azure AD

Чтобы запросить токен доступа из системы SAP с помощью Azure Active Directory (Azure AD) в качестве поставщика удостоверений (IdP), выполните следующие действия.

Шаг 1. Регистрация приложения в Azure AD

  1. Войдите в портал Azure: перейдите к портал Azure по portal.azure.com.
  2. Зарегистрируйте новое приложение:
    • Перейдите в раздел Azure Active Directory.
    • Выберите "Регистрация приложений" > "Новая регистрация".
    • Заполните такие сведения приложения, как Имя, URI перенаправления и т. д.
    • Выберите "Зарегистрировать".
  3. Настройка разрешений API:
    • После регистрации перейдите к разделу "Разрешения API".
    • Выберите "Добавить разрешение" и выберите "API, которые используются моей организацией".
    • Найдите систему SAP или соответствующий API и добавьте необходимые разрешения.
    • Предоставьте согласие администратора для разрешений.

Шаг 2. Создание секрета клиента

  1. Перейдите в зарегистрированное приложение: перейдите к разделу "Сертификаты и секреты".
  2. Создайте новый секрет клиента:
    • Выберите "Новый секрет клиента".
    • Укажите описание и задайте срок действия.
    • Выберите "Добавить" и запишите значение секрета клиента, так как оно необходимо для проверки подлинности.

Шаг 3. Настройка системы SAP для интеграции Azure AD

  1. Войдите в SAP Cloud Platform Cockpit: Авторизуйтесь в SAP Cloud Platform Cockpit.
  2. Настройка конфигурации доверия:
    • Перейдите в раздел "Безопасность" > "Конфигурация доверия".
    • Добавьте Azure AD в качестве доверенного поставщика удостоверений путем импорта XML метаданных федерации из Azure AD. Это можно найти в секции "Конечные точки" регистрации приложения Azure AD (в разделе "Документ метаданных федерации").
  3. Настройка клиента OAuth2:
    • В системе SAP настройте клиент OAuth2 с помощью идентификатора клиента и секрета клиента, полученного из Azure AD.
    • Задайте конечную точку маркера и другие соответствующие параметры OAuth2.

Шаг 4. Запрос токена доступа

Совет

Рассмотрите возможность использования Azure API Management для упрощения процесса распространения главных учетных записей в SAP для всех клиентских приложений в Azure, Power Platform, M365 и других платформах в одном месте, включая умное кэширование токенов, безопасную обработку токенов и параметры управления, такие как регулирование запросов. Дополнительные сведения о проксификации полномочий SAP с использованием Azure API Management. Если предпочитается платформа SAP Business Technology Platform, см. эту статью.

  1. Подготовьте запрос токена:

    • Создайте запрос токена с помощью следующих сведений:
      • Конечная точка токена: это обычно https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token.
      • Идентификатор клиента: идентификатор приложения (клиента) из Azure AD.
      • Секрет клиента: значение секрета клиента из Azure AD.
      • Область: обязательные области (например, https://your-sap-system.com/.default).
      • Тип предоставления: Используйте client_credentials для аутентификации сервер-сервер.
  2. Выполните запрос токена:

    • Используйте инструмент, например, Postman или скрипт, чтобы отправить запрос POST в конечную точку токена.
    • Пример запроса (в cURL):
      curl -X POST \
        https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token \
        -H 'Content-Type: application/x-www-form-urlencoded' \
        -d 'client_id={client_id}&scope=https://your-sap-system.com/.default&client_secret={client_secret}&grant_type=client_credentials'
      
  3. Извлечение токена доступа:

    • Ответ будет содержать маркер доступа, если запрос выполнен успешно. Используйте этот маркер доступа для проверки подлинности запросов API к системе SAP.

Шаг 5. Использование маркера доступа для запросов API

  1. Включите маркер доступа в запросы API:
    • Для каждого запроса к системе SAP добавьте маркер доступа в Authorization заголовок.
    • Пример заголовка:
      Authorization: Bearer {access_token}