Интеграция единого входа Microsoft Entra с SAP NetWeaver
В этой статье вы узнаете, как интегрировать SAP NetWeaver с идентификатором Microsoft Entra ID. Интеграция SAP NetWeaver с идентификатором Microsoft Entraver позволяет:
- Контроль того, кто имеет доступ к SAP NetWeaver в Microsoft Entra ID.
- Включите автоматический вход пользователей в SAP NetWeaver с помощью учетных записей Microsoft Entra.
- Работайте со своими учетными записями в одном центральном месте.
Предварительные условия
В сценарии, описанном в этой статье, предполагается, что у вас уже есть следующие предварительные требования:
- Учетная запись пользователя Microsoft Entra с активной подпиской. Если у вас еще нет учетной записи, вы можете создать учетную запись бесплатно.
- Одна из следующих ролей:
- подписка на SAP NetWeaver с поддержкой единого входа;
- SAP NetWeaver версии 7.20 или более поздней версии
Описание сценария
- SAP NetWeaver поддерживает как SAML (SSO, инициированный поставщиком услуг), так и OAuth. В этой статье описана настройка и проверка единого входа Microsoft Entra в тестовой среде.
Примечание.
Идентификатор этого приложения — фиксированное строковое значение, поэтому в одном клиенте можно настроить только один экземпляр.
Примечание.
Настройте для приложения режим SAML или OAuth согласно требованиям вашей организации.
Добавление SAP NetWeaver из галереи
Чтобы настроить интеграцию SAP NetWeaver с идентификатором Microsoft Entra ID, необходимо добавить SAP NetWeaver из коллекции в список управляемых приложений SaaS.
- Войдите в административный центр Microsoft Entra как минимум как Администратор облачных приложений.
- Перейдите к Identity>Applications>Enterprise applications>New application.
- В разделе Добавление из коллекции в поле поиска введите SAP NetWeaver.
- Выберите SAP NetWeaver в области результатов и добавьте это приложение. Подождите несколько секунд, пока приложение добавляется в вашего арендатора.
Кроме того, можно также использовать мастер конфигурации корпоративных приложений. В этом мастере настройки вы можете добавить приложение в домен клиента, добавить пользователей и группы в приложение, назначить роли и также выполнить настройку единой аутентификации (SSO). Подробнее о мастерах Microsoft 365.
Настройка и проверка единого входа Microsoft Entra для SAP NetWeaver
Настройте и проверьте единый вход Microsoft Entra в SAP NetWeaver с помощью тестового пользователя B.Simon. Для работы SSO необходимо установить связь между пользователем Microsoft Entra и соответствующим пользователем в SAP NetWeaver.
Чтобы настроить и проверить единый вход Microsoft Entra в SAP NetWeaver, выполните следующие действия.
-
Настройте единый вход Microsoft Entra, чтобы пользователи могли использовать эту функцию.
- Создание тестового пользователя Microsoft Entra для тестирования единого входа Microsoft Entra с помощью B.Simon.
- Назначьте тестового пользователя Microsoft Entra, чтобы разрешить B.Simon использовать единый вход Microsoft Entra.
-
Настройка SAP NetWeaver с использованием SAML для настройки параметров единого входа на стороне приложения.
- Создайте тестового пользователя SAP NetWeaver, чтобы в SAP NetWeaver был эквивалентный пользователь B.Simon, связанный с представлением пользователя Microsoft Entra.
- Проверка единого входа позволяет убедиться в правильности конфигурации.
- Настройте SAP NetWeaver для OAuth, чтобы настроить параметры OAuth на стороне приложения.
- Запрос токена доступа из Azure AD для использования Azure AD в качестве поставщика удостоверений (IdP).
Настройте Microsoft Entra для единого входа (SSO)
В этом разделе описано, как включить единый вход Microsoft Entra.
Чтобы настроить единый вход Microsoft Entra в SAP NetWeaver, выполните следующие действия.
Откройте окно веб-браузера и войдите на сайт своей компании SAP NetWeaver как администратор
Убедитесь, что службы http и https активны, а в коде транзакции SMICM назначены соответствующие порты.
Выполните вход в бизнес-клиент системы SAP (T01), где требуется единый вход, и активируйте управление сеансом безопасности HTTP.
Перейдите к коду транзакции 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
Примечание.
Настройте эти параметры в соответствии с требованиями вашей организации. Упомянутые выше параметры приведены здесь только для иллюстрации.
При необходимости настройте параметры в экземпляре и (или) профиле по умолчанию системы SAP, затем перезапустите систему SAP.
Дважды выберите соответствующий клиент, чтобы включить сеанс безопасности HTTP.
Активируйте ниже службы 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)
Перейдите к коду транзакции SAML2 в бизнес-клиенте системы SAP [T01/122]. В браузере откроется пользовательский интерфейс. В этом примере предполагается, что 122 является бизнес-клиентом SAP.
Укажите имя пользователя и пароль для ввода в пользовательский интерфейс и выберите Изменить.
Замените имя поставщика из T01122 на
http://T01122
и выберите Сохранить.Примечание.
По умолчанию имя поставщика имеет формат
<sid><client>
, но Microsoft Entra ID ожидает имя в формате<protocol>://<name>
, поэтому рекомендуется использовать имя поставщика в форматеhttps://<sid><client>
, чтобы можно было настроить несколько систем SAP NetWeaver ABAP в Microsoft Entra ID.создание метаданных поставщика услуг:- После настройки локального поставщика и доверенных поставщиков параметров пользовательского интерфейса SAML 2.0 необходимо создать файл метаданных поставщика услуг (который будет содержать все параметры, контексты проверки подлинности и другие конфигурации в SAP). После создания этого файла загрузите его в Microsoft Entra ID.
Перейдите на вкладку Локальный поставщик.
Выберите метаданные.
Сохраните созданный XML-файл метаданных на компьютере и передайте его в раздел Базовая конфигурация SAML, чтобы автоматически заполнить значения Идентификатор и URL-адрес ответа на портале Azure.
Выполните следующие действия, чтобы включить единый вход (SSO) Microsoft Entra.
Войдите в административный центр Microsoft Entra как минимум как Администратор облачных приложений.
Перейдите на страницу интеграции приложения Identity>Applications>Enterprise applications>SAP NetWeaver, найдите раздел "Управление" и выберите единый вход.
На странице Выбрать метод единого входа выберите SAML.
На странице Настройка единого входа с помощью SAML щелкните значок карандаша, чтобы открыть диалоговое окно Базовая конфигурация SAML и изменить эти параметры.
В разделе Базовая конфигурация SAML, если вы хотите настроить приложение в режиме, инициируемом поставщиком удостоверений, выполните следующие действия:
Выберите Отправить файл метаданных , чтобы отправить файл метаданных поставщика услуг , полученный ранее.
Выберите логотип папки, чтобы выбрать файл метаданных и выбрать Отправить.
После успешной передачи файла метаданных значения Идентификатор и URL-адрес ответа в разделе Базовая конфигурация SAML автоматически заполняются значениями, как показано ниже.
В текстовом поле 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>"
Приложение SAP NetWeaver ожидает, что утверждения SAML будут в определённом формате, что требует от вас добавить настраиваемые сопоставления атрибутов в конфигурацию атрибутов токена SAML. На следующем снимке экрана показан список атрибутов по умолчанию. Щелкните значок "Изменить", чтобы открыть диалоговое окно "Атрибуты пользователя".
В разделе Утверждения пользователя диалогового окна Атрибуты пользователя настройте атрибут токена SAML, как показано на рисунке выше, и выполните следующие действия.
Щелкните значок "Изменить", чтобы открыть диалоговое окно "Управление утверждениями пользователей".
Из списка Преобразование выберите ExtractMailPrefix().
Из списка Параметр 1 выберите user.userprincipalname.
Выберите Сохранить.
На странице Настройка единого входа с помощью SAML в разделе Сертификат подписи SAML найдите элемент XML метаданных федерации и нажмите кнопку Скачать, чтобы скачать сертификат и сохранить его на компьютере.
В разделе "Настройка SAP NetWeaver" скопируйте соответствующие URL-адреса в соответствии с вашим требованием.
Создание и назначение тестового пользователя Microsoft Entra
Следуйте инструкциям в руководстве по созданию и назначению учетной записи пользователя быстрого старта, чтобы создать тестовую учетную запись пользователя B.Simon.
Настройка SAML в SAP NetWeaver
Войдите в систему SAP и перейдите к коду транзакции SAML2. Откроется новое окно браузера с экраном настройки SAML.
Для настройки конечных точек для доверенного поставщика удостоверений (Идентификатор Microsoft Entra ID) перейдите на вкладку "Доверенные поставщики".
Нажмите Добавить и выберите Отправить файл метаданных в контекстном меню.
Отправьте файл метаданных, скачанный вами.
На следующем экране введите имя псевдонима. Например, введите
aadsts
и нажмите клавишу NEXT , чтобы продолжить.Убедитесь, что ваш алгоритм хэширования — SHA-256 и не требует изменений, затем нажмите Далее.
В разделе Single Sign-On Endpoints (Конечные точки единого входа) выберите HTTP POST и щелкните Next (Далее), чтобы продолжить.
На странице конечной точки единого выхода выберите HTTPRedirect и нажмите Далее, чтобы продолжить.
В разделе Конечные точки артефакта нажмите Далее для продолжения.
В требованиях к проверке подлинности выберите Готово.
Перейдите на вкладку Надежный поставщик>Федерация удостоверений (из нижней части экрана). Выберите Изменить.
Выберите Добавить на вкладке федерации удостоверений (нижнее окно).
Во всплывающем окне выберите Неопределено из поддерживаемых форматов NameID и нажмите кнопку "ОК".
Укажите для параметра User ID Source (Источник идентификатора пользователя) значение Assertion Attribute (Атрибут утверждения), для параметра User ID mapping mode (Режим сопоставления идентификатора пользователя) — Email (Электронная почта), а для и параметра Assertion Attribute Name (Имя атрибута утверждения) —
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name
.Обратите внимание, что значения источника идентификатора пользователя и режима сопоставления идентификатора пользователя определяют связь между пользователем SAP и утверждением Microsoft Entra.
Сценарий: сопоставление пользователей SAP с Microsoft Entra.
Снимок экрана со сведениями о NameID в SAP.
Снимок экрана, на котором указаны обязательные утверждения из Microsoft Entra ID.
Сценарий. Выбор идентификатора пользователя SAP на основе настроенного адреса электронной почты в SU01. В этом случае идентификатор электронной почты должен быть настроен в SU01 для каждого пользователя, которому требуется единый вход.
Снимок экрана со сведениями о NameID в SAP.
Снимок экрана с требуемыми утверждениями из Microsoft Entra ID.
Выберите Save (Сохранить), затем Enable (Включить), чтобы активировать провайдера удостоверений.
Нажмите кнопку ОК после запроса.
Создание тестового пользователя SAP NetWeaver
В этом разделе описано, как создать пользователя B.Simon в приложении SAP NetWeaver. Обратитесь к вашей внутренней команде экспертов SAP или к партнеру вашей организации по SAP, чтобы добавить пользователей на платформу SAP NetWeaver.
Проверка единого входа
После активации идентификатора поставщика удостоверений Microsoft Entra попробуйте получить доступ к приведенному ниже URL-адресу, чтобы проверить единый вход, чтобы убедиться, что нет запроса на ввод имени пользователя & пароля.
https://<sapurl>/sap/bc/bsp/sap/it00/default.htm
Можно также указать такой URL-адрес:
https://<sapurl>/sap/bc/bsp/sap/it00/default.htm
Примечание.
Замените sapurl фактическим именем узла SAP.
Указанный выше URL-адрес должен переадресовать вас на показанный ниже экран. Если вы можете перейти к приведенной ниже странице, настройка единого входа Microsoft Entra SSO успешно завершена.
Если возникает запрос имени пользователя и пароля, можно диагностировать проблему, включив трассировку, используя URL-адрес:
https://<sapurl>/sap/bc/webdynpro/sap/sec_diag_tool?sap-client=122&sap-language=EN#
Настройка OAuth в SAP NetWeaver
Документированный процесс SAP доступен в расположении: Включение сервиса NetWeaver Gateway и создание области действия OAuth 2.0
Перейдите к SPRO и найдите раздел Activate and Maintain services (Активация и обслуживание служб).
В этом примере мы хотим подключить службу OData:
DAAG_MNGGRP
, используя OAuth, к единому входу в систему Microsoft Entra SSO. Используйте поиск по имени технической службы для службыDAAG_MNGGRP
и активируйте ее, если она еще не активна (проверьте состояниеgreen
на вкладке узлов ICF). Убедитесь в правильности системного псевдонима (подключенной серверной системы, где фактически работает служба).- Затем выберите pushbutton OAuth на верхней панели кнопок и назначьте
scope
(оставьте предложенное имя по умолчанию).
- Затем выберите pushbutton OAuth на верхней панели кнопок и назначьте
В нашем примере область —
DAAG_MNGGRP_001
. Он создается из имени службы путем автоматического добавления числа. Отчет/IWFND/R_OAUTH_SCOPES
можно использовать для изменения имени области или создания области вручную.Примечание.
Сообщение
soft state status isn't supported
можно спокойно игнорировать, так как проблем нет.
Создание пользователя службы для клиента OAuth 2.0
OAuth2 использует
service ID
для получения токена доступа для конечного пользователя от его имени. Важное ограничение OAuth: значениеOAuth 2.0 Client ID
должно быть идентично значениюusername
, которое клиент OAuth 2.0 использует для входа при запросе токена доступа. Поэтому в нашем примере мы зарегистрируем клиент OAuth 2.0 с именем CLIENT1. В качестве предварительных требований пользователь с тем же именем (CLIENT1) должен существовать в системе SAP, и этот пользователь будет настроен для использования упомянутым приложением.При регистрации клиента OAuth мы используем
SAML Bearer Grant type
.Примечание.
Дополнительные сведения о регистрации клиента OAuth 2.0 для типа предоставления носителя SAML см. здесь.
Выполните T-Code
SU01
, чтобы создать пользователя CLIENT1 в качествеSystem type
и задать пароль. Сохраните пароль, так как необходимо предоставить учетные данные программисту API, который должен сохранить его с именем пользователя в вызывающий код. Не следует назначать профили или роли.
Регистрация нового идентификатора клиента OAuth 2.0 с помощью мастера создания
Чтобы зарегистрировать новый клиент OAuth 2.0, запустите транзакцию SOAUTH2. Эта транзакция отобразит обзорные сведения об уже зарегистрированных клиентах OAuth 2.0. Выберите "Создать ", чтобы запустить мастер для нового клиента OAuth с именем CLIENT1 в этом примере.
Перейдите к T-Code: SOAUTH2, укажите описание, потом выберите далее.
Выберите уже добавленный SAML2 IdP – Microsoft Entra ID из раскрывающегося списка и сохраните.
Выберите Добавить в разделе назначения области, чтобы добавить ранее созданную область:
DAAG_MNGGRP_001
Выберите отделку.
Запрос токена доступа из Azure AD
Чтобы запросить токен доступа из системы SAP с помощью Azure Active Directory (Azure AD) в качестве поставщика удостоверений (IdP), выполните следующие действия.
Шаг 1. Регистрация приложения в Azure AD
- Войдите в портал Azure: перейдите к портал Azure по portal.azure.com.
-
Зарегистрируйте новое приложение:
- Перейдите в раздел Azure Active Directory.
- Выберите "Регистрация приложений" > "Новая регистрация".
- Заполните такие сведения приложения, как Имя, URI перенаправления и т. д.
- Выберите "Зарегистрировать".
-
Настройка разрешений API:
- После регистрации перейдите к разделу "Разрешения API".
- Выберите "Добавить разрешение" и выберите "API, которые используются моей организацией".
- Найдите систему SAP или соответствующий API и добавьте необходимые разрешения.
- Предоставьте согласие администратора для разрешений.
Шаг 2. Создание секрета клиента
- Перейдите в зарегистрированное приложение: перейдите к разделу "Сертификаты и секреты".
-
Создайте новый секрет клиента:
- Выберите "Новый секрет клиента".
- Укажите описание и задайте срок действия.
- Выберите "Добавить" и запишите значение секрета клиента, так как оно необходимо для проверки подлинности.
Шаг 3. Настройка системы SAP для интеграции Azure AD
- Войдите в SAP Cloud Platform Cockpit: Авторизуйтесь в SAP Cloud Platform Cockpit.
-
Настройка конфигурации доверия:
- Перейдите в раздел "Безопасность" > "Конфигурация доверия".
- Добавьте Azure AD в качестве доверенного поставщика удостоверений путем импорта XML метаданных федерации из Azure AD. Это можно найти в секции "Конечные точки" регистрации приложения Azure AD (в разделе "Документ метаданных федерации").
-
Настройка клиента OAuth2:
- В системе SAP настройте клиент OAuth2 с помощью идентификатора клиента и секрета клиента, полученного из Azure AD.
- Задайте конечную точку маркера и другие соответствующие параметры OAuth2.
Шаг 4. Запрос токена доступа
Совет
Рассмотрите возможность использования Azure API Management для упрощения процесса распространения главных учетных записей в SAP для всех клиентских приложений в Azure, Power Platform, M365 и других платформах в одном месте, включая умное кэширование токенов, безопасную обработку токенов и параметры управления, такие как регулирование запросов. Дополнительные сведения о проксификации полномочий SAP с использованием Azure API Management. Если предпочитается платформа SAP Business Technology Platform, см. эту статью.
Подготовьте запрос токена:
- Создайте запрос токена с помощью следующих сведений:
-
Конечная точка токена: это обычно
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
. - Идентификатор клиента: идентификатор приложения (клиента) из Azure AD.
- Секрет клиента: значение секрета клиента из Azure AD.
-
Область: обязательные области (например,
https://your-sap-system.com/.default
). -
Тип предоставления: Используйте
client_credentials
для аутентификации сервер-сервер.
-
Конечная точка токена: это обычно
- Создайте запрос токена с помощью следующих сведений:
Выполните запрос токена:
- Используйте инструмент, например, 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'
Извлечение токена доступа:
- Ответ будет содержать маркер доступа, если запрос выполнен успешно. Используйте этот маркер доступа для проверки подлинности запросов API к системе SAP.
Шаг 5. Использование маркера доступа для запросов API
-
Включите маркер доступа в запросы API:
- Для каждого запроса к системе SAP добавьте маркер доступа в
Authorization
заголовок. - Пример заголовка:
Authorization: Bearer {access_token}
- Для каждого запроса к системе SAP добавьте маркер доступа в
Связанное содержимое
- Настройте Microsoft Entra SAP NetWeaver, чтобы применить функцию управления сеансами, которая защищает конфиденциальные данные вашей организации от кражи и несанкционированного доступа в режиме реального времени. Управление сеансом является расширением функции условного доступа. Узнайте, как применять управление сеансами с помощью приложений Defender для облака.
- Настройте распространение удостоверений SAP (OAuth2) с помощью Azure API Management, чтобы управлять и обеспечивать безопасный доступ к системам SAP из клиентских приложений в Azure, Power Platform, Microsoft 365 и других клиентских приложений. Дополнительные сведения о проксификации полномочий SAP с использованием Azure API Management.