W ostatnich latach ServiceNow został uznany za najlepsze narzędzie do zarządzania procesami, usługami i infrastrukturą, a w 2018 roku Forbes określił go najbardziej innowacyjną firmą. ServiceNow działa w modelu SaaS (software as a service), stale ulepszając platformę. Jest zaprojektowany na wytycznych ITIL.
Użytkownicy i Grupy
Według dokumentacji ServiceNow: „Grupa to zbiór użytkowników, którzy mają wspólny cel. Członkowie grup wykonują zadania takie jak:
- zatwierdzanie wniosków o zmianę,
- rozwiązywanie incydentów,
- otrzymywanie powiadomień e-mail
- wykonywanie zadań związanych z wnioskami o zmianę.
Użytkownik powinien zostać przypisany do co najmniej jednej grupy.
Dobrą praktyką jest przypisywanie ról do grup, a nie do użytkowników. Administratorzy mogą szybko przypisać role wielu użytkownikom, dodając ich do grupy. Jeśli użytkownik przejdzie do innej grupy, rola przypisana do nowej grupy zostanie zastosowana automatycznie”.
Użytkownikiem jest więc osoba, która może uzyskać dostęp do instancji ServiceNow.
LDAP
Istnieje wiele sposobów zarządzania użytkownikami i grupami w ServiceNow, a jednym z nich jest integracja z Active Directory poprzez LDAP.
LDAP (Lightweight directory access protocol) jest otwartym, neutralnym wobec dostawców protokołem aplikacyjnym służącym do dostępu i utrzymywania danych przechowywanych w katalogach.
Za pomocą tego protokołu możemy odpytywać firmowe Active Directory, aby uzyskać niezbędne informacje o użytkownikach i grupach dla naszej instancji. W tym artykule wykorzystamy jeden z publicznie dostępnych serwerów testowych LDAP.
Konfiguracja
Po pierwsze, musimy dodać nowy serwer LDAP. Możemy to zrobić, filtrując System LDAP w nawigatorze i otwierając moduł Create New Server:
Domyślnie ServiceNow tworzy kilka definicji OU (Organizational Unit według dokumentacji Active Directory):
Będziemy jednak musieli dostosować te definicje przede wszystkim do filtrów, ponieważ używamy serwera testowego skonfigurowanego nieco inaczej niż korporacyjny Active Directory. Dla grup, będziemy używać „cn” jako pola zapytania i musimy filtrować „objectClass” dla „groupOfUniqueNames”.
Możesz kliknąć Browse w powiązanych linkach, aby sprawdzić, co zostanie pobrane z twojego zapytania:
Te same zmiany należy zastosować w User OU Definition podobnie jak w grupach pole zapytania będziemy używać „cn”, ale musimy filtrować objectClass dla „person”.
Kiedy jesteśmy pewni, że otrzymamy wszystkie niezbędne dane z LDAP dla użytkowników i grup, możemy rozpocząć dostosowywanie mapy transformacji, która została utworzona przez ServiceNow.
Możemy zakomentować setManagerField w Script, ponieważ w tej konfiguracji nie ma ustawionego menedżera. Jednak w przypadku zastosowań korporacyjnych pomocny jest ldapUtils script include – więcej o nim można przeczytać w dokumentacji produktu Product Documentation (Common LDAP Scripts).
Kiedy już skończymy z mapowaniem pól, musimy przyjrzeć się skryptom transformującym – szczególnie skryptowi onAfter, który odpowiada za dodawanie członków do grup ServiceNow. Jak widać skomentowana linia pozwala na ustawienie innego pola niż „member”, które jest domyślnym polem przechowującym informacje o członkach grupy.
W naszym przypadku musimy „odkomentować” tę linię i dodać „u_uniquemember” jako pole członków naszej grupy, ponieważ tak właśnie skonfigurowany jest nasz źródłowy serwer LDAP do przechowywania tych danych.
Analogicznie musimy dostosować mapowanie pól dla transformacji użytkownika.
Na koniec możemy przetestować go poprzez załadowanie wszystkich rekordów i uruchomienie transformacji na zestawie importowym. Należy pamiętać, że załadowanie wszystkich rekordów może spowodować pewne problemy w przypadku otrzymania zbyt dużej ilości rekordów.
Polecam „Test Load 20 records” na początku, aby upewnić się, że otrzymane dane są tym, czego potrzebujemy. Kiedy jesteśmy pewni, że oba źródła danych są poprawne i otrzymujemy tylko niezbędne dane – chcemy najpierw uruchomić transformację użytkownika:
Następnie możemy uruchomić import grup, aby załadować wszystkie niezbędne grupy i zmapować ich członków:
Jeśli otworzysz jeden z referowanych rekordów docelowych, możesz zobaczyć, że pomyślnie dodaliśmy wszystkich członków, którzy powinni należeć do tej grupy.
Podsumowanie
Jak widać ServiceNow pomaga w wielu kwestiach w trakcie procesu integracji tworząc niezbędne artefakty takie jak źródła danych, definicje OU, mapy transformacji czy tabele zestawów importowych. Jednakże konfiguracja zapytań i filtrów może być czasem kłopotliwa.
Proponuję najpierw zbudować filtr, używając powershella lub w AD Users & Computers (możesz również poprosić o pomoc administratora AD). Więcej o filtrach można przeczytać tutaj.
Zrozumienie jednostek organizacyjnych jest również kluczową częścią integracji LDAP i zdecydowanie zalecam zapoznanie się z dokumentacją.
Zostaw komentarz