Synchronizacja listy użytkowników BPS

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2017.1.2; Autor: Jacek Język

Wstęp

W wersji 2017.1 WEBCON BPS wprowadzona została zmiana w sposobie pobierania i przechowywania informacji o użytkownikach systemu. Dotychczasowy element systemu Cache AD został rozbudowany i zastąpiony przez Listę użytkowników BPS, która przejęła nie tylko rolę przechowywania w pamięci podręcznej informacji o użytkownikach, ale jest też podstawą dla systemu uprawnień, widoczności i dostępności danych wyświetlanych użytkownikom w BPS. Lista użytkowników BPS zawiera również informacje o strukturze podległościowej pracowników.

 

Lista użytkowników BPS łączy informacje o użytkownikach oraz grupach pochodzących z kilku źródeł:  Active Directory, SharePoint oraz z Użytkowników Zewnętrznych. Jej stan musi być na bieżąco aktualizowany by zapewnić użytkownikom poprawną i nieprzerwaną pracę. Z tego względu właściwa konfiguracja tego elementu systemu i monitoring prawidłowej synchronizacji są zadaniami krytycznymi z punktu widzenia systemu.


 

Konfiguracja

Dostęp do konfiguracji synchronizacji Listy użytkowników BPS możliwy jest w WEBCON BPS Studio w sekcji Konfiguracja systemu -> Parametry globalne -> Lista użytkowników BPS.

Na tej zakładce możliwe jest również przeglądanie i wyszukiwanie aktualnie zsynchronizowanych użytkowników. Funkcjonalność pozwala zweryfikować czy konkretny użytkownik został zsynchronizowany i jest dostępny w systemie.

 

Wybranie przycisku „Konfiguracja synchronizacji” pozwala zdefiniować parametry synchronizacji Listy użytkowników BPS.

 

Określenie synchronizowanych domen AD

Zakładka „Ustawienia” umożliwia wybranie domeny lub konkretnego Organization Unit z której pobierane będą informacje o użytkownikach, grupach i strukturze organizacyjnej. Możliwe jest wskazanie kilku domen lub OU, dla których wykonywana będzie synchronizacja. Lista domen oraz OU dostępna jest po naciśnięciu przycisku „+”.

Uwaga:

Konfiguracji synchronizowanych domen/jednostek organizacyjnych dokonuje się również w instalatorze WEBCON BPS podczas aktualizacji systemu z niższych wersji do wersji 2017.1. Jednak w takim przypadku synchronizacja nie jest wykonywana przez instalator, lecz przez WEBCON WorkFlow Service, po poprawnie zakończonej instalacji w czasie wynikającym z ustawionego harmonogramu.

Praca użytkowników z systemem (np. dostęp do danych) możliwa jest dopiero po pierwszej poprawnie zakończonej synchronizacji.

 

Synchronizacja danych z Active Directory odbywa się w kontekście użytkownika zdefiniowanego w zakładce „Dane logowania”. Zatem również w kontekście tego użytkownika pobierana jest lista domen/OU możliwych do synchronizacji.

 

Na liście domyślnie dostępna jest domena, do której należy serwer z zainstalowanym serwisem WEBCON WorkFlow Service. Dostępne są też wszystkie domeny z tego samego lasu domen. O ile w domenie istnieją skonfigurowane relacje zaufania z inną domeną/lasem wówczas na liście widoczne są również zaufane domeny/lasy.

W obrębie domen wyświetlana jest struktura OU, co umożliwia zawężenie synchronizacji do wybranej jednostki.

W trakcie procesu synchronizacji dane pobierane są ze wskazanych jednostek organizacyjnych. Jeśli jednak w pobranych obiektach istnieje relacja do obiektów spoza synchronizowanej jednostki (np. przełożony pracownika należy do innej, niesynchronizowanej domeny) wówczas mimo braku tej domeny w konfiguracji, pobierane są niezbędne informacje dotyczące tylko tego obiektu (zgodnie z przykładem pobierane są dane przełożonego). Pobranie danych spoza synchronizowanych jednostek obwarowane jest dodatkowymi warunkami (jak choćby prawami dostępu) – bardziej szczegółowy opis sposobu działania synchronizacji można znaleźć w dalszej części tego artykułu.

Zakres danych pobieranych z Active Directory podczas synchronizacji zawiera Dodatek A. Istnieje jednak możliwość pobrania z AD i zapisania w bazie danych BPS dodatkowych informacji dotyczących synchronizowanego obiektu. Pobrać można do 30 dodatkowych właściwości odczytanych z AD, których wartości zostaną zapisane we wskazane kolumny bazy danych.

Wskazanie dodatkowych danych do synchronizacji nie jest wymagane.

 

Część informacji o użytkowniku może być niezależnie przechowywana zarówno w Active Directory jak i w profilu SharePoint tego użytkownika. Są to następujące dane:

 

  Nazwa atrybutu w AD Nazwa atrybutu w SP
Adres e-mail mail E-Mail
Nazwa wyświetlana displayname Name
Dział department Department
Stanowisko title Job Title

 

Konfiguracja synchronizacji pozwala wskazać, z którego źródła (Active Directory czy SharePoint) będą pobierane te informacje. Zaznaczenie opcji „Dane ustawione w profilu SharePoint użytkownika powinny nadpisywać dane z Active Directory” powoduje pobranie danych zapisanych w profilu SharePoint, pozostawienie jej niezaznaczonej powoduje z kolei pobranie danych z Active Directory.

 

Ustawienie danych połączenia

Synchronizacja Listy użytkowników BPS z Active Directory wykonywana jest przez WEBCON WorkFlow Service w kontekście użytkownika zdefiniowanego w konfiguracji synchronizacji w zakładce „Dane logowania”. Użytkownik wykorzystywany do synchronizacji musi posiadać odpowiednie uprawnienia pozwalające czytać dane ze wskazanych w konfiguracji domen/OU.

Minimalne uprawnienia w celu przeprowadzenia poprawnej synchronizacji to:

  • read account restrictions
  • read general information
  • read public information

 

Domyślnie użytkownikiem w kontekście którego wykonywana jest synchronizacja jest użytkownik na którym działa WEBCON WorkFlow Service.

 

Harmonogram synchronizacji

Harmonogram pozwala zdefiniować godziny uruchomienia synchronizacji. Aby zapewnić właściwy poziom aktualności danych po stronie WEBCON BPS, synchronizacja powinna odbywać się kilka razy w ciągu doby.

Domyślna konfiguracja powoduje uruchamianie synchronizacji w odstępach trzygodzinnych. Dla większości przypadków taka konfiguracja jest odpowiednia i wystarczająca, by aktualizować nawet często zmieniające się dane. Mechanizm synchronizacji jest dodatkowo zintegrowany z akcjami zarządzania użytkownikami (grupy akcji „Active Directory” oraz „SharePoint – uprawnienia”). Uruchomienie akcji tego typu w procesie spowoduje uruchomienie synchronizacji dla modyfikowanych użytkowników poza harmonogramem i natychmiastową aktualizację Listy użytkowników BPS.

 

Harmonogram synchronizacji można dobrać do indywidualnych potrzeb konkretnych wdrożeń systemu. Zmieniając godziny synchronizacji należy brać pod uwagę takie czynniki jak: częstości zmian danych po stronie AD oraz SharePoint czy ewentualne prace utrzymaniowe systemu (konieczność wstrzymania synchronizacji w pewnych przedziałach czasu).

 

Konfiguracja harmonogramu synchronizacji dostępna jest również z poziomu konfiguracji serwisów w sekcji „Konfiguracja systemu”.

 

 

Typ synchronizacji oraz opcje diagnostyczne

Synchronizacja odbywać się może w dwóch trybach, jako Synchronizacja przyrostowa lub Synchronizacja pełna.

Domyślnym trybem działania jest Synchronizacja przyrostowa. W jej trakcie dane o użytkownikach i grupach aktualizowane są w sposób różnicowy, czyli aktualizowane są dane jedynie tych obiektów, których właściwości zmieniły się od ostatniej synchronizacji. Aktualizowany jest również stan obiektów dodanych lub usuniętych.

W trybie Synchronizacji pełnej aktualizowane są dane wszystkich obiektów niezależnie od tego czy uległy one zmianie od ostatniej synchronizacji.

 

Ze względów wydajnościowych zalecanym trybem jest tryb Synchronizacji przyrostowej.

Z trybu Synchronizacji pełnej należy skorzystać w uzasadnionych przypadkach, gdy w trybie Synchronizacji przyrostowej stan obiektów nie może być prawidłowo zaktualizowany. Na taki przypadek wskazywać może niepoprawny zakres danych wyświetlany użytkownikom na formularzu i raportach, brak użytkownika na Liście użytkowników BPS, czy błędy synchronizacji trybu przyrostowego.

 

W razie konieczności, synchronizacja Listy użytkowników BPS może zostać uruchomiona ręcznie. Naciśnięcie przycisku „Synchronizacja przyrostowa” lub „Synchronizacja pełna” zainicjuje proces synchronizacji zgodnie z aktualnie zapisaną konfiguracją. Ważne jest zatem by przed ręcznym uruchomieniem synchronizacji zapisać wszystkie zmiany konfiguracyjne.

Opcje „Synchronizacja przyrostowa – Debug” oraz „Synchronizacja pełna – Debug” pozwalają uruchomić synchronizację z rozszerzonym logowaniem informacji. Tryb DEBUG pozwala na dokładną analizę poszczególnych kroków synchronizacji i powinien być stosowany wyłącznie w celach diagnostycznych.

 

Monitorowanie procesu synchronizacji

W celu zapewnienia ciągłości pracy użytkowników systemu WEBCON BPS, proces synchronizacji musi być na bieżąco monitorowany a wszelkie nieprawidłowości korygowane.

Zdarzenia, które mogą wystąpić w trakcie synchronizacji, zostały podzielone na dwie kategorie: błędy oraz ostrzeżenia. Podział ten wynika z wpływu konkretnego zdarzenia na działanie systemu.

 

Przykłady zdarzeń oznaczonych jako błąd:

  • Brak dostępu do synchronizowanej domeny/OU
  • Nie można pobrać identyfikatora użytkownika (login, User Principal Name) lub grupy (SID)

 

Przykłady zdarzeń oznaczonych jako ostrzeżenie:

  • Nie można pobrać części danych dotyczących użytkownika lub grupy
  • Nie można pobrać danych o przełożonym pochodzącym z niesynchronizowanej domeny
  • Nie można pobrać danych o grupach pochodzących z niesynchronizowanej domeny

 

Pełna informacja o przebiegu synchronizacji oraz błędach i ostrzeżeniach zapisywana jest w logu synchronizacji. Dostęp do logu możliwy jest z poziomu WEBCON BPS Studio lub systemowego Event Log.

 

W przypadku zdarzeń zakwalifikowanych jako błąd informacja może być wysłana na wskazany adres e-mail jako powiadomienie administracyjne. By skonfigurować powiadomienia administracyjne dla synchronizacji listy użytkowników należy w konfiguracji powiadomień wybrać obszar „Synchronizacja listy użytkowników”.


 

Opis procesu synchronizacji

Zasady procesu synchronizacji zostaną opisane na przykładnie kilku podstawowych scenariuszy konfiguracji BPS oraz Active Directory.

 

Synchronizacja całej domeny

W konfiguracji BPS wskazana została cała domena AD z której dane mają być synchronizowane.

 

 

Przykładowa struktura Active Directory zawiera pracowników, przełożonych oraz grupy do których należą ci użytkownicy.

Użytkownik w kontekście którego wykonywana jest synchronizacja (zakładka „Dane Logowania”) ma właściwe uprawnienia pozwalające na odczyt danych z AD.

 

W trakcie synchronizacji pobrane zostaną informacje o wszystkich użytkownikach, grupach domeny i przynależności użytkowników do grup. Zostanie również pobrana relacja przełożony – podwładny.

Jeśli istnieją podrzędne OU, dane z tych OU również zostaną pobrane.

Wszelkie zmiany (dodanie/usunięcie grupy, użytkownika, przynależności) zostaną zapisane w bazie danych BPS i będą miały swoje odzwierciedlenie w Liście użytkowników BPS.

 

Synchronizacja wybranego OU

W konfiguracji BPS wskazała została konkretna jednostka organizacyjna z której dane mają być synchronizowane (Active Directory zawiera kilka jednostek organizacyjnych).

 

Przykładowa struktura Active Directory w OU New York zawiera pracowników, natomiast ich przełożony należy do OU London. OU Londyn zawiera też inne obiekty użytkowników oraz grup.

Użytkownik w kontekście którego wykonywana jest synchronizacja (zakładka „Dane Logowania”) ma uprawnienia pozwalające na odczyt danych zarówno z OU New York jak i OU London.

 

W trakcie synchronizacji pobrane zostaną informacje o wszystkich użytkownikach oraz grupach dla OU New York (User1, User2, User3 oraz Employees). Dla użytkowników których przełożony należy do OU London, mimo iż synchronizacja dotyczy tylko OU New York, pobrane zostaną informacje dotyczące przełożonego – czyli on sam (Manager), grupy do których należy (Management), oraz ewentualne relacje do jego przełożonych.

Pozostali użytkownicy i grupy z OU London nie zostaną pobrani (UserA, UserB, UserC oraz Users).

Jeśli w OU London istnieją podrzędne OU, dane z tych OU również zostaną pobrane.

Wszelkie zmiany (dodanie usunięcie grupy, użytkownika, przynależności) zostaną zapisane w bazie danych BPS i będą miały swoje odzwierciedlenie w Liście użytkowników BPS.

 

Synchronizacja wybranego OU przy braku dostępu do niesynchronizowanego OU

W konfiguracji BPS wskazana została konkretna jednostka organizacyjna z której dane mają być synchronizowane (Active Directory zawiera kilka jednostek organizacyjnych).

 

Przykładowa struktura Active Directory w OU New York zawiera pracowników, ich przełożony należy do OU London. OU Londyn zawiera też inne obiekty użytkowników oraz grup.

Użytkownik w kontekście którego wykonywana jest synchronizacja (zakładka „Dane Logowania”) posiada uprawnienia pozwalające na odczyt z OU New York, natomiast nie posiada dostępu do OU London.

 

W trakcie synchronizacji pobrane zostaną informacje o wszystkich użytkownikach oraz grupach dla OU New York (User1, User2, User3 oraz Employees). Dla użytkowników których przełożony należy do OU London, zostanie podjęta próba odczytu informacji o przełożonym. Z powodu braku uprawnień informacje te nie zostaną pobrane. W logu synchronizacji zapisane zostanie ostrzeżenie z informacją o braku możliwości odczytu danych dla użytkownika „Manager”.

Jeśli w OU London istnieją podrzędne OU, dane z tych OU również zostaną pobrane.

Wszelkie zmiany (dodanie usunięcie grupy, użytkownika, przynależności) zostaną zapisane w bazie danych BPS i będą miały swoje odzwierciedlenie w Liście użytkowników BPS.

 

Synchronizacja danych z SharePoint

Synchronizacja Listy użytkowników BPS przeprowadzana jest w kilku, wzajemnie ze sobą powiązanych krokach. Obok synchronizacji danych z Active Directory jednym z kroków procesu synchronizacji jest synchronizacja danych z SharePoint.

Pobranie informacji o grupach i użytkownikach SharePoint rozpoczyna się od wyszukania w farmie SharePoint wszystkich Web Aplikacji (Web Application) z aktywnym BPS feature. Następnie dla wszystkich witryn (SharePoint Site) tej Web Aplikacji pobierani są użytkownicy, użytkownicy z grup oraz grupy.

Dane z obu źródeł (AD oraz SharePoint) są scalane (np. dodatkowa informacja o przynależności użytkownika do grup SharePoint) a następnie zapisywane w bazie danych WEBCON BPS. Poniższy diagram prezentuje kroki całego procesu synchronizacji.

 

Usunięcie użytkowników / grup oznaczonych jako „nie w pełni zaktualizowany”

Minimalnym zakresem danych pozwalającym zidentyfikować konkretnego użytkownika są login i UPN, a w przypadku grupy jest to SID. Jeśli te identyfikatory zostaną odczytane z Active Directory, wówczas synchronizowany obiekt jest zapisywany w bazie danych BPS. Jeśli identyfikatorów nie uda się odczytać, informacja o użytkowniku/grupie nie będzie zapisana w bazie danych BPS, czyli nie będzie również dostępna w Liście użytkowników BPS.

Same identyfikatory obiektów nie są wystarczające do prawidłowego działania systemu, zwłaszcza jeśli chodzi o funkcjonalności bazujące na uprawnieniach, przynależnościach do grup lub strukturze organizacyjnej. Dlatego w przypadku w którym pełna informacja o użytkowniku/grupie nie została pobrana, taki obiekt oznaczany jest jako „nie w pełni zaktualizowany” wraz z odpowiednią informacją w logu synchronizacji.

Obowiązkiem administratora jest zidentyfikowanie przyczyny takiego stanu (np. brak odpowiednich uprawnień odczytu) i ewentualne skorygowanie konfiguracji, by doprowadzić do pełnej aktualizacji. W niektórych przypadkach konieczne może okazać się użycie trybu Synchronizacji pełnej zamiast trybu Synchronizacji przyrostowej.

Jeśli dane oznaczone jako „nie w pełni zaktualizowane” nie zostaną skorygowane w ciągu 24 godzin, wówczas w kolejnej synchronizacji po upływie tego czasu zostaną całkowicie usunięte z bazy i praca takiego użytkownika w systemie nie będzie możliwa.

 

Dodatek A – Zakres danych pobierany z AD podczas  synchronizacji

Docelowa kolumna bazy danych Nazwa atrybutu AD Atrybuty  obowiązkowe (*)
[COS_IsActive] useraccountcontrol (ADS_UF_ACCOUNTDISABLE)
[COS_AD_accountexpires] accountexpires
[COS_AD_countrycode] countrycode
[COS_AD_iscriticalsystemobject] iscriticalsystemobject
[COS_AD_localeid] localeid
[COS_AD_objectguid] objectguid
[COS_AD_objectsid] objectsid X
[COS_AD_objectversion] objectversion
[COS_AD_primarygroupid] primarygroupid
[COS_AD_samaccounttype] samaccounttype X
[COS_AD_securityidentifier] securityidentifier
[COS_AD_useraccountcontrol] useraccountcontrol
[COS_AD_whenchanged] whenchanged
[COS_AD_whencreated] whencreated
[COS_AD_company] company
[COS_AD_comment] comment
[COS_AD_department] department
[COS_AD_description] description
[COS_AD_displayname] displayname
[COS_AD_distinguishedname] distinguishedname X
[COS_AD_givenname] givenname
[COS_AD_homedirectory] homedirectory
[COS_AD_homephone] homephone
[COS_AD_info] info
[COS_AD_ipphone] ipphone
[COS_AD_mail] mail
[COS_AD_manager] manager
[COS_AD_memberOf] memberOf
[COS_AD_mobile] mobile
[COS_AD_name] name
[COS_AD_objectcategory] objectcategory
[COS_AD_objectclass] objectclass
[COS_AD_ou] ou
[COS_AD_pager] pager
[COS_AD_postalcode] postalcode
[COS_AD_postofficebox] postofficebox
[COS_AD_samaccountname] samaccountname
[COS_AD_showinaddressbook] showinaddressbook
[COS_AD_sn] sn
[COS_AD_st] st
[COS_AD_streetaddress] streetaddress
[COS_AD_telephonenumber] telephonenumber
[COS_AD_title] title
[COS_AD_userparameters] userparameters
[COS_AD_userprincipalname] userprincipalname X
[COS_AD_wwwhomepage] wwwhomepage
[COS_AD_physicalDeliveryOfficeName] physicalDeliveryOfficeName
[COS_AD_cn] cn
[COS_AD_proxyaddresses] proxyaddresses

 

(*) – atrybuty obowiązkowe oznaczają minimalny zakres danych pobierany w trakcie synchronizacji.  Brak dostępu do tych atrybutów powoduje pominięcie obiektu (użytkownika lub grupy) w trakcie synchronizacji. Taki obiekt nie będzie widoczny w liście użytkowników BPS.

 

One thought to “Synchronizacja listy użytkowników BPS”

  1. W nawiązaniu do synchronizacji i Akcji AD dodających/usuwających użytkownika z grupy. Przy każdej takiej operacji inicjalizowana jest synchronizacja pojedynczego użytkownika, która w niektórych przypadkach trwa nawet minutę, z czego znaczną część stanowi pobieranie struktury SharePoint. Czy jest możliwość by skrócić czas synchronizacji danych przy akcjach AD?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *