Реклама

пятница, 26 июня 2015 г.

Настройка Kerberos SSO

В данной статье, я расскажу как настроить SSO методом Kerberos Тикетов на своей системе SAP AS ABAP 7.3 / 7.4 для серверов размещенных на Linux ОС.

Для данной настройки, Вам понадобиться s-user, для того, что бы скачать библиотеку и клиентскую часть программы. А так же, необходимо что бы у Вашей компании был заключен договор на предоставление данного ПО для скачивания. В противном случае, Вам для скачивания будет доступна только библиотека SAPSECURELIB.

В любом случае, представим ситуацию, что все хорошо и лицензия на скачивание ПО имеется.
Что бы скачать данный продукт идем на сайт

  https://support.sap.com/software/installations/a-z-index.html -> S -> SAP Single Sign-On -> SAP Single Sign-On 2.0 -> Installation

Видим файл, ставим галочку, и закидываем себе в корзину. Открываем SAP Download Manager и качаем данный архив.



Архив будет содержать много папок, для настройки нашим методом (Kerberos) нам интересны только две:

  • SECURE_LOGIN_CLIENT_20
  • SECURE_LOGIN_LIBRARY_20

В каталоге с библиотекой (library) находим каталог с именем и разрядностью Вашей ОС и берем от туда архив с расширением .SAR
В моем случае каталог LINUX_X86_64 и файл SLLIBRARY00_1.SAR, кладем пока в удобное место на вашем PC.

Начинаем с создания сервисной УЗ в Active Directoty (Далее AD).
Если имеем доступ, создаем сами, если нет, просим администратора это сделать.
Называть УЗ рекомендуют двумя путями:


  1. SAPServiceSID
  2. KerberosSID
Разницы нет, просто некое правило.
Для данной уз используем древо без кириллицы (желательно) , ставим пароль, галочку "Срок действия пароля не истекает", и добавляем значение атрибута servicePrincipalName:
  • SAP/SAPServiceSID
  • HTTP/ваш_хост.домен
  • HTTP/ваш_хост

Готово, теперь едем далее.
Приступаем к первоначальной настройке. Начинаем с хоста AS ABAP.

Подключаем по SSH к хосту, где расположен сервер приложений необходимой нам системы, сразу переключаемся на пользователя <sid>adm

# su - b1tadm

Первым делом, нам нужно установить в переменную среду путь к security каталогу.
Делается это командой:

# setenv SECUDIR /usr/sap/<SID>/DVEBMGS<nr>/sec/


Командой # echo $SECUDIR проверяем переменную.

Далее создаем каталог, куда мы выгрузим всю библиотеку скачанную ранее.


Каталог создаем от пользователя <sid>adm, что бы потом права не перебивать.


Теперь нам необходимо разархивировать файл с библиотекой в каталог SLL




Мы получили список файлов библиотеки в каталоге SLL.

Теперь переходим к созданию KeyTab. Данная процедура и связывает Учетную запись AD с SAP системой, позволяя идентифицировать Вас не вводя пароль.

Создаем кейтаб:
Находясь в каталоuе SLL

# sapgenpse keytab -p SAPSNCSKERB.pse -x <Пароль pse файла> -X <Пароль сервисного пользователя AD> -a <Имя сервисного пользователя AD>

В скриншоте ниже у меня опечатка, третий аргумент не -y а -X должен быть.


Видим сообщение, что кейтаб создан, переходим к созданию seclogin:

# sapgenpse seclogin -p SAPSNCSKERB.pse -x <Пароль pse файла>



Следующий этап - это изменение параметров профиля инстанции. В моем случае система со сценарием Standalone, т.е. одна диалоговая инстанция + база данных на одном хосте ОС.
Переходим в транзакцию RZ10, выбираем профиль инстанции <SID>_DVEBMGS<NR>_<HOST>  и открываем его на изменение в расширенном режиме, далее указываем параметры аналогичные приведенным ниже, проецируя на свою систему:

Внимательно смотрим на параметр snc/identity/as , там указываете логин сервисного пользователя AD, которого мы создавали в самом начали (или просили создать администратора)


После сохранения и активации параметров профиля, необходимо сервер приложений перезапустить. Как помним, это делается с уровня ОС командой stopsap r3 и startsap r3

Далее, нам необходимо провести мэппинг нашего пользователя в системе SAP, с пользователей AD. Для этого мы в транзакции SU01  выбираем пользователя, заходим на вкладку SNC, и вводим в поле SNC-имя на логин от Windows большими буквами в формате:

  • p:CN=ЛОГИН@ДОМЕН.РУ



Далее, в настройках соединения с системой в SAP GUI на вкладке СЕТЬ, активирует SNC, прописываем строку с именем сервисной УЗ в AD


Так же, для работы SSO для Web GUI и NWBC необходимо в транзакции SPNEGO, добавить кейтаб.

Открываем на изменение, добавляем строку с именем и доменом нашей сервисной учетной записи в AD. Логин УЗ пишем как в AD, домен пишем большими буквами.
Пример:

  • SAPServiceSID@DOMAIN.RU


Устанавливаем клиент SLC, который есть в том архиве, что мы качали, в каталоге SECURE_LOGIN_CLIENT_20

Перезаходим в Windows, и пробуем открыть нашу систему! Вуаля!

Тестируем BEx




Для активации SSO по WEB GUI, необходимо для начала провести настройки описанные в статье "Активация WEB GUI"

2 комментария:

  1. Добрый день, а есть ли места, где можно скачать данную вкусность, кроме как с портала sap, если вы понимаете на что я намекаю )

    ОтветитьУдалить
    Ответы
    1. Могу предложить написать мне при помощи формы обратной связи, та что слева в колонке, и я с вами свяжусь, по данному вопросу

      Удалить