Интеграция единого входа Microsoft Entra с SAP NetWeaver
В этой статье вы узнаете, как интегрировать SAP NetWeaver с идентификатором Microsoft Entra ID. Интеграция SAP NetWeaver с идентификатором Microsoft Entraver позволяет:
- Контроль доступа к SAP NetWeaver с помощью идентификатора Microsoft Entraver.
- Включите автоматический вход пользователей в 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, чтобы создать аналог пользователя B.Simon в SAP NetWeaver, связанный с представлением пользователя в 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.
- Войдите в административный центр Microsoft Entra как минимум в роли Администратора пользователей.
- Перейдите в раздел Идентификация>Пользователи>Все пользователи.
- Выберите "Создать пользователя>" в верхней части экрана.
- В свойствах пользователя выполните следующие действия.
-
В поле "Отображаемое имя" введите
B.Simon
. - В поле основного имени пользователя введите username@companydomain.extension. Например,
B.Simon@contoso.com
. - Установите флажок Показать пароль и запишите значение, которое отображается в поле Пароль.
- Выберите Просмотр и создание.
-
В поле "Отображаемое имя" введите
- Нажмите кнопку создания.
Назначение тестового пользователя Microsoft Entra
В этом разделе описано, как разрешить пользователю B.Simon использовать единый вход, предоставив этому пользователю доступ к SAP NetWeaver.
- Войдите в Портал администрирования Microsoft Entra как минимум как «Администратор Облачных Приложений».
- Перейдите к Identity>приложениям>корпоративным приложениям>SAP NetWeaver.
- На странице сводных сведений о приложении откройте раздел Управление и выберите Пользователи и группы.
- Выберите Добавить пользователя, а в диалоговом окне Добавление назначения выберите Пользователи и группы.
- В диалоговом окне Пользователи и группы выберите B.Simon в списке пользователей, а затем в нижней части экрана нажмите кнопку Выбрать. Если пользователям необходимо назначить роль, вы можете выбрать ее из раскрывающегося списка Выберите роль. Если для этого приложения не настроена ни одна роль, будет выбрана роль "Доступ по умолчанию".
- В диалоговом окне Добавление назначения нажмите кнопку Назначить.
Настройка SAML в SAP NetWeaver
Войдите в систему SAP и перейдите к коду транзакции SAML2. Откроется новое окно браузера с экраном настройки SAML.
Для настройки конечных точек для доверенного поставщика удостоверений (Идентификатор Microsoft Entra ID) перейдите на вкладку "Доверенные поставщики".
Нажмите Добавить и выберите Отправить файл метаданных в контекстном меню.
Отправьте файл метаданных, скачанный вами.
На следующем экране введите имя псевдонима. Например, введите
aadsts
и нажмите клавишу NEXT , чтобы продолжить.Алгоритм хэш-кода должен быть SHA-256, он не требует внесения изменений. Затем нажмите Далее.
В разделе Конечные точки единого входа укажите HTTP POST и нажмите Далее для продолжения.
В разделе Конечные точки единого выхода выберите 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.
Щелкните Сохранить, затем Включить, чтобы активировать поставщика удостоверений.
Нажмите ОК при появлении запроса.
Создание тестового пользователя 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 успешно выполнена.
Если возникает запрос имени пользователя и пароля, можно диагностировать проблему, включив трассировку, используя 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). Убедитесь в правильности системного псевдонима (подключенной серверной системы, где фактически работает служба).- Затем нажмите кнопку OAuth на верхней панели кнопок и присвойте значение
scope
(сохраните предложенное по умолчанию имя).
- Затем нажмите кнопку OAuth на верхней панели кнопок и присвойте значение
В нашем примере область —
DAAG_MNGGRP_001
. Он создается из имени службы путем автоматического добавления числа. Отчет/IWFND/R_OAUTH_SCOPES
можно использовать для изменения имени области или создания области вручную.Примечание.
Сообщение
soft state status is not 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 с помощью Управления API в Azure.