Работа с LDAP. Обмен данными HR с AD в ручном режиме
В своей статье я хочу сфокусировать внимание на том, как можно тестировать интерактивные запросы в LDAP, и приведу примеры обмена данными.
Оглавление
Работа с LDAP в ручном режиме. Транзакция LDAP
Делаем тест соединения с сервером LDAP
Кнопка «Переимен.» - Переименование в LDAP
Построение подчиненности в LDAP
Создание фото в LDAP из ABAP/4
Введение
Достаточно набрать в строке поиска Google фразу «SAP HR LDAP interface», и Вы получите много полезных ссылок про организацию обмена данными. Типовой подход к синхронизации HR с LDAP сводится к настройке и экстракции данных из запроса или ABAP отчета. Данная процедура описана на портале help.sap.com
В своей статье я хочу сфокусировать внимание на том, как можно тестировать интерактивные запросы в LDAP, и приведу примеры обмена данными.
Работа с LDAP в ручном режиме. Транзакция LDAP
Для программирования обмена HR с LDAP потребуется расширенное понимание обмена данными, поэтому рекомендую сначала освоить выполнение ручных запросов в LDAP.
В первую очередь, необходимо провести технические настройки, которые осуществляются в транзакции LDAP и администраторами (см. Рис.1)
Рисунок 1 «Транзакция LDAP (ведение сервера LDAP, настройка параметров соединения)»
Мэппинг полей осуществляется в транзакции LDAPMAP (для использования подхода, описываемого в справочной документации).
Делаем тест соединения с сервером LDAP
Устанавливаем и тестируем соединение (Рис.2.-3.)
Рисунок 2 «Транзакция LDAP , вход (установка соединения)»
Рисунок 3 «Транзакция LDAP, зеленый статус после успешного соединения»
Если статус зеленый, значит можно переходить к следующим упражнениям. В блоке «Операции» собраны все необходимые инструменты для будущих ABAP программ обмена данными с LDAP.
Кнопка «Переимен.» - Переименование в LDAP
Зайдем на сервер Active Directory, запустим диспетчер сервера и выберем объект для эксперимента (Рис.4.).
Рисунок 4 «Экран сервера Active Directory с объектами»
Обратите внимание, для правильного составления запроса к LDAP необходимо перечислить все подразделения: OU=Temp,OU=SAP_HR
Итак, мы хотим, чтобы объект CN=CBK 00000077,OU=TEMP,OU=SAP_HR,DC=testdom,DC=local (см. рис.4) был переименован в объект CN=KKK 00000077,OU=TEMP,OU=SAP_HR,DC=testdom,DC=local (Рис.5.).
Рисунок 5 «Транзакция LDAP – переименование объекта»
В случае успешного выполнения меняется отличительное имя объекта(DN) в LDAP (Рис.6.)
Рисунок 6 «Результат в Active Directory после переименования объекта»
Далее перемещаем объект по ветке LDAP вверх, с OU=Temp в OU=SAP_HR. На картинке (Рис.7.) не видно полное имя DN (CN=KKK 00000077,OU=TEMP,OU=SAP_HR,DC=testdom,DC=local)
Рисунок 7 «Переименование в LDAP с изменением расположения в ветви иерархии объектов AD»
Теперь мы умеем менять отличительное имя, перемещать объекты по веткам Active Directory
Поиск в LDAP (кнопка «Поиск»)
В строке «фильтр» уточняю класс объекта, табельный номер, глубину поиска, также перечисляю необходимые атрибуты – получаю в ответ только нужные поля (Рис.8.).
Рисунок 8 «LDAP. Поиск объекта в Active Directory с указанием возврата значений запрошенных атрибутов»
Выполним поиск подразделения с заполнением строки поиска (Рис.9):
(&(objectclass=OrganizationalUnit)(OU=50001130))
Рисунок 9 «LDAP. Пример поиска подразделения»
Пример с кнопкой «Создать»
Выполним упражнение с созданием объектов в Active Directory (смотри рис.10). Обратите внимание, заполняем подразделение в DN в обратной последовательности (см. рисунок 11).
Рисунок 10 LDAP. Пример с кнопкой «Создать»
Рисунок 11 LDAP. Пример создания объекта «подразделение»
Проверяем в AD результат (Рис.12.)
Рисунок 12 Консоль объектов Active Directory.
Создание групп пользователей
Заполняем необходимые атрибуты , самый главный в начале DN (Рис.13.)
Рисунок 13 LDAP. Пример создания объекта «Group»
Для того, чтобы указать учетные записи в группу надо заполнить поле member (Рис.14.)
Рисунок 14 LDAP. Пример создания участников в группе
В случае успешного выполнения команды ,получаем положительный ответ (Рис.15.)
Рисунок 15 LDAP. Успешный статус выполнения
Если на стороне консоли Aсtive Directory не видим сразу созданные группы, то включаем опции просмотра дерева (Рис.16.)
Рисунок 16 Консоль объектов AD. Включение опции отражения различных объектов
После выполнения упражнений можно переходить к программированию на ABAP.
Хотя на своем проекте мы не стали реализовывать полную репликацию иерархии подразделений, использование нашего опыта позволит сэкономить время при создании более детального обмена данными HR-LDAP. Поддержка простенькой и наглядной иерархии была реализована с использованием подчиненности через руководителя, смотри следующий подраздел.
Построение подчиненности в LDAP
Все данные о подразделениях, сотрудниках и подчиненности ведутся в SAP HR. На стороне HR заполняется информация о руководителе (Рис.17.)
Рисунок 17 HR-OM , пример с указанием руководителя
Обмен данными с AD осуществляется по объекту user , основные поля для синхронизации в AD: cn, givenName, title, telephonenumber, middleName, Name, samaccountName, initials, employeeNumber, departmentNumber, department, UserPrincipalName, MANAGER , company , displayname, comment, distinguishedName
Настраиваем мэппинг для синхронизации, добавляем MANAGER (Рис.18.).
Рисунок 18 LDAP. Мэппинг полей
Обновление данных происходит в два этапа HR->LDAP (Обновление объектов AD), затем AD->SharePoint (профиля пользователей). Подчиненность ведется на стороне HR и передается в AD через поле manager. Учтите, если работник уволен – необходимо очистить поле «Manager».
Учетная запись в AD после заполнения полей подчиненности (Рис.19.).
Рисунок 19 Консоль Active Directory. Свойства объекта
После загрузки подчиненности из HR в LDAP, синхронизации LDAP с SharePoint , включением компонента Microsoft Silverlight, видим на личной странице пользователя портала SharePoint следующую картинку (Рис.20):
Рисунок 20 Отражение подчинённости в личной странице пользователя SharePoint с использованием компонента Microsoft Silverlight
Создание фото в LDAP из ABAP/4
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти