US English (US)
FR French
DE German
PL Polish
SE Swedish
FI Finnish

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

Polish
US English (US)
FR French
DE German
PL Polish
SE Swedish
FI Finnish
  • Log in
  • Home
  • Zarządzanie tożsamością i administracja ( IGA )
  • Biblioteka rozwiązań IGA
  • Instrukcje i uid
  • Konfiguruj łączniki

Ogólny łącznik Python Script

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Zarządzanie usługami
    Rozwiązanie Matrix42 Professional Rozwiązanie Matrix42 Core Zarządzanie usługami przedsiębiorstwa Inteligencja Matrix42
  • Zarządzanie tożsamością i administracja ( IGA )
    Przegląd IGA Biblioteka rozwiązań IGA
  • Platforma
    ESM ESS2 ES Efecte Chat do zarządzania usługami Efektywne integracje Dodatki
  • Informacje o wydaniu dla M42 Core & Pro , IGA , Conversational AI
    2025.3 2025.2 2025.1 2024.2 2024.1 2023.4 2023.3 2023.2 2023.1 2022.4 2022.3 Informacje i zasady dotyczące wydania
  • Inny materiał
    Wytyczne uid terminów i dokumentacji Oświadczenia dotyczące dostępności
  • Usługi
+ More
    • Zarządzanie usługami

    • Zarządzanie tożsamością i administracja ( IGA )

    • Platforma

    • Informacje o wydaniu dla M42 Core & Pro , IGA , Conversational AI

    • Inny materiał

    • Usługi

Ogólny łącznik Python Script

Ogólny łącznik Python Script

Łącznik Generic Python Script (wcześniej znany jako Custom script i Custom backend) jest częścią natywnych łączników i może być używany do odczytu danych z dowolnego typu aplikacji i eksportowania ich do rozwiązań Matrix42 Core , Pro and IGA klienta. Funkcjonalność jest implementowana przez skrypt Pythona (dostarczany przez klienta), który jest wykonywany na komputerze hosta rozwiązania klienta. Skrypt odpowiada za odczyt informacji z aplikacji docelowej, a następnie musi wygenerować plik JSON z odczytanymi informacjami.


W przypadku korzystania z niestandardowego łącznika skryptu wymagane jest, aby:

  • Skrypt Pythona został stworzony dla łącznika i jest przechowywany na komputerze hosta rozwiązania Efecte klienta
  • Szczegóły łącznika zostały wypełnione, a zaplanowane zadanie zostało skonfigurowane w celu zaimportowania danych do rozwiązania klienta.

Ogólne funkcjonalności

Łączniki – funkcjonalności ogólne

Łączniki – funkcjonalności ogólne

W tym artykule opisano ogólne funkcje zarządzania natywnymi konektorami w rozwiązaniu. Wszystkimi natywnymi konektorami zarządza się z poziomu tego samego interfejsu użytkownika.

Należy zwrócić uwagę, że dla każdego złącza istnieją osobne opisy, w których szczegółowo opisano konkretne funkcjonalności złącza i instrukcje konfiguracji.

Aby uzyskać dostęp do zarządzania konektorami, użytkownik musi posiadać uprawnienia administratora do konfiguracji platformy klienta. Po prawidłowym przyznaniu dostępu, karta konektora będzie widoczna i użytkownik będzie mógł zarządzać konektorami.

Menu lewe

Zarządzanie złączami jest podzielone na cztery zakładki:

  • Przegląd – do tworzenia i aktualizowania natywnych łączników. Użytkownik z uprawnieniami administratora może zobaczyć ich status, typ oraz liczbę zaplanowanych zadań lub zdarzeń z nimi powiązanych.
  • Uwierzytelnianie – do tworzenia i aktualizowania zadań uwierzytelniania. Pro uwierzytelniania jest niezbędne, aby Secure Access mógł zdefiniować, którzy użytkownicy końcowi Klienta mają dostęp do strony logowania Matrix42 Core , Pro and IGA .
  • Dzienniki - do pobierania dzienników Native Connector i Secure Access z interfejsu użytkownika.
  • Ustawienia – ogólne ustawienia dla łączników natywnych i Secure Access , obejmujące typ środowiska do rejestrowania i monitorowania.

Karta przeglądu złączy

Na stronie przeglądu użytkownik może łatwo i szybko sprawdzić status wszystkich złączy.

Górny pasek:

  • Status łączników natywnych (EPE)
    • Zielony tekst oznacza, że Native Connectors jest online. Wszystkie potrzebne usługi są aktywne i działają.
    • Czerwony tekst oznacza, że wystąpił problem z Native Connectors, wszystkie usługi nie są uruchomione.
  • Status Secure Access ( ESA )
    • Zielony tekst oznacza, że Secure Access jest online. Wszystkie potrzebne usługi są uruchomione i działają.
    • Czerwony tekst oznacza, że wystąpił problem z Secure Access , żadna usługa nie jest uruchomiona.
  • Numer wersji łączników natywnych wyświetlany jest w prawym górnym rogu

Górny pasek widoku listy:

  • Nowy łącznik – otwiera nowe okno umożliwiające dodanie i skonfigurowanie nowego łącznika
  • Usuń łącznik(i) — odniesienia do przepływu pracy zostaną obliczone i pojawi się okno dialogowe z prośbą o potwierdzenie usunięcia (należy pamiętać, że obliczanie odniesień może potrwać kilka sekund)
  • Eksport – Administrator może wyeksportować jeden lub więcej konektorów (i zadań) ze środowiska. Zwykle używane do eksportowania konektorów i konektorów (i zadań) z testów do produkcji. Poufne informacje o konektorach natywnych są chronione hasłem.
  • Import – Administrator może zaimportować jeden lub więcej konektorów (i zadań) do środowiska. Zazwyczaj używane do importowania konektorów (i zadań) z testów do produkcji.
    • Administrator nie może importować ze starego interfejsu użytkownika EPE (starszego niż 2024.1) do nowego. Środowiska źródłowe i docelowe muszą mieć tę samą wersję.
    • Import nie powiedzie się, jeśli konfiguracja (szablony, atrybuty) będzie inna – na przykład gdy brakuje jakiegoś atrybutu
    • Jeśli importujesz coś z tymi samymi szczegółami łącznika, zostanie to scalone w ramach istniejącego łącznika
  • Odśwież — administrator może odświeżyć widok łączników, klikając przycisk .
Twoja przeglądarka nie obsługuje wideo HTML5.

Widok listy w celu przeglądu,

  • Wybierz złącze(a) — wybierz jedno złącze, klikając pole wyboru przed rzędem złącza lub klikając pole wyboru w rzędzie nagłówka, co spowoduje wybranie wszystkich złączy
  • Identyfikator – automatycznie generowany, unikalny identyfikator łącznika. Nie można go edytować ani zmieniać.
  • Status – wskazuje status zaplanowanego zadania
    • Zielony znacznik wyboru – zadanie zostało wykonane bez żadnych błędów
    • Czerwony krzyżyk – zadanie zostało wykonane, ale wystąpiły błędy
    • Szary zegar – zadanie nie zostało jeszcze wykonane, oczekiwanie na zaplanowanie
    • Pomarańczowy - jedno z zadań ma problem
    • Brak wartości — brak zaplanowanego zadania
  • Nazwa – nazwa łącznika dodana do ustawień łącznika. Unikalna nazwa łącznika przechowującego konfigurację dla jednego źródła danych.
  • Typ – wskazuje system docelowy/źródłowy
  • Zaplanowane – informuje o liczbie skonfigurowanych zaplanowanych zadań
  • Wydarzenie – informuje o liczbie skonfigurowanych zadań zdarzeń
  • Zarządzać
    • Ikona pióra – otwiera ustawienia łącznika (dwukrotne kliknięcie rzędu łączników również otwiera ustawienia)
    • Ikona papieru - kopiuje złącze
    • Zatrzymaj – odniesienia do przepływu pracy są obliczane i pojawia się okno dialogowe z prośbą o potwierdzenie usunięcia
  • Wyszukiwanie – Użytkownik może wyszukiwać złącze, wpisując termin wyszukiwania w odpowiednim polu. Można wyszukiwać w polach Identyfikator, Status, Nazwa, Typ, Zaplanowane i Zdarzenie.
Twoja przeglądarka nie obsługuje wideo HTML5.

Informacje o zaplanowanym zadaniu (kliknij strzałkę z przodu łącznika)

Po kliknięciu strzałki na początku wiersza łącznika wyświetlane są wszystkie powiązane zadania zaplanowane i zdarzenia

Górny pasek zadań zaplanowanych

  • Nowe zadanie – otwiera stronę konfiguracji nowego zadania
  • Usuń zadanie(a) – usuwa wybrane zadanie(a) z systemu i nie będzie można ich już odzyskać.
  • Odśwież – odśwież widok zadań opartych na harmonogramie
  • Szukaj - użytkownik może wyszukiwać zadania, wpisując termin wyszukiwania w odpowiednim polu, aby określić identyfikator, nazwę, włączenie, status wyodrębnienia/załadowania.

Widok listy zaplanowanych zadań

  • Wybierz zadanie(a) - Wybierz zadanie, które chcesz usunąć, z widoku listy, zaznaczając je.
  • Id – unikalny identyfikator zadania. Generowany automatycznie i nie można go zmienić.
  • Nazwa - Nazwa zadania dodana do ustawień zadania, unikalna nazwa zadania.
  • Włączone – wyświetla, czy zadanie jest zaplanowane, czy nie
    • Zielony znacznik wyboru – zadanie jest zaplanowane
    • Czerwony krzyżyk – zadanie nie jest zaplanowane
  • Status ekstrakcji – wyświetla status ekstrakcji danych z docelowego katalogu/systemu
    • Zielony znacznik wyboru – dane zostały pomyślnie wyodrębnione
    • Czerwony krzyżyk – dane zostały wyodrębnione z błędem(ami) lub wyodrębnienie nie powiodło się
    • Zegar - Zadanie oczekuje na wykonanie
  • Status ładowania — wyświetla status eksportu danych z pliku JSON do rozwiązania klienta
    • Zielony znacznik wyboru – dane zostały pomyślnie zaimportowane do rozwiązania klienta
    • Czerwony krzyżyk – dane zostały zaimportowane z błędem(ami) lub import się nie powiódł
  • Zarządzać
    • Ikona pióra – otwiera ustawienia zadania w osobnym oknie (dwukrotne kliknięcie wiersza zadania również otwiera ustawienia zadania)
    • Ikona papieru – kopiuje zadanie
    • Ikona zegara – otwiera widok historii zadań
    • Zatrzymaj - usuń zadanie, otwiera się okno pop-up z potwierdzeniem usunięcia

Widok historii zaplanowanych zadań

Po kliknięciu ikony zegara w wierszu zaplanowanego zadania zostanie wyświetlona historia harmonogramu.

Górny pasek historii wyświetleń

  • Odśwież – odświeża status zaplanowanego zadania. Nie ma to wpływu na zadanie, aktualizuje jedynie interfejs użytkownika, aby wyświetlić najnowsze informacje o uruchomieniu zadania.

Widok listy dla historii zaplanowanych zadań

  • Kolor wiersza wskazuje status
    • Zielony – zadanie wykonane pomyślnie
    • Czerwony – wystąpił błąd podczas wykonywania
  • Identyfikator wykonania – unikalny identyfikator wiersza zaplanowanego zadania
  • Planowany czas wyodrębniania – kiedy planowane jest następne wyodrębnianie z katalogu/aplikacji
  • Czas zakończenia ekstrakcji – kiedy ekstrakcja została ukończona
  • Status ekstrakcji – status pobierania danych z katalogu/aplikacji
  • Czas rozpoczęcia ładowania – kiedy planowane jest kolejne ładowanie dla klientów
  • Czas ukończenia ładowania – kiedy ładowanie zostało ukończone
  • Status ładowania – status ładowania informacji do rozwiązania klienta

Widok listy dla statusu zaplanowanego zadania

  • Rzeczywisty czas rozpoczęcia – znacznik czasu rzeczywistego rozpoczęcia
  • Plik użytkownika – plik JSON zawierający informacje o użytkowniku odczytane z katalogu/aplikacji
  • Plik grupy – plik JSON zawierający informacje o grupie odczytane z katalogu/aplikacji
  • Plik ogólny — plik JSON zawierający ogólne informacje odczytane z katalogu/aplikacji
  • Wyodrębnij informacje – szczegółowe informacje o odczycie informacji z katalogu/aplikacji
  • Informacje o załadowaniu - szczegółowe informacje o załadowaniu informacji do klientów Matrix42 Core , Pro and IGA

Okno edycji zaplanowanego zadania

Konfigurację zadania zaplanowanego można otworzyć, klikając ikonę pióra lub klikając dwukrotnie wiersz zadania.

Menu po lewej stronie oraz atrybuty różnią się w zależności od wybranych opcji, dlatego bardziej szczegółowe instrukcje dotyczące edycji zadań można znaleźć w opisie łącznika. Istnieją jednak wspólne funkcjonalności dla wszystkich zaplanowanych zadań, które opisano poniżej.

Zapisywanie zadania

Jeśli w zadaniu brakuje obowiązkowych informacji, najechanie kursorem myszy na przycisk zapisywania pokaże, które atrybuty są nadal puste.

Górny pasek do edycji zaplanowanego zadania

  • Uruchom zadanie ręcznie — administrator może uruchomić zadanie ręcznie poza zdefiniowanym harmonogramem
  • Zatrzymaj zadanie – administrator może zatrzymać aktualnie uruchomione zadanie zaplanowane. Zadanie zostanie zatrzymane, a jego status zmieni się na zatrzymany. Zadanie będzie w tym stanie czekać do następnego momentu.
  • Wyczyść pamięć podręczną danych – pamięć podręczna danych dla następnego uruchomienia użytkowników i grup zostanie wyczyszczona. Oznacza to, że następne uruchomienie zostanie wykonane tak samo jak pierwsze.
    • Domyślnie pamięć podręczną czyścimy codziennie o godzinie 00:00 UTC
    • Jeśli chcesz wyczyścić pamięć podręczną w innym czasie, musisz określić inną wartość w pliku hosta „custom.properties”.
    • Pamięć podręczna EPE jest również czyszczona po ponownym uruchomieniu EPE, po ponownym uruchomieniu całego środowiska zmieniane są mapowania EPE

Informacje o zadaniu wydarzenia

Po kliknięciu strzałki na początku wiersza łącznika wyświetlane są wszystkie powiązane zadania zaplanowane i zdarzenia

Górny pasek zadań zdarzeń

  • Nowe zadanie – otwiera stronę konfiguracji dla nowego zadania zdarzenia
  • Usuń zadanie(a) – usuwa wybrane zadanie(a), pojawia się okno pop-up z prośbą o potwierdzenie usunięcia
  • Odśwież – odświeża widok zadań zdarzeń
  • Pokaż odwołania do przepływów pracy – oblicza relacje i statusy przepływów pracy związane z zadaniami. Jest to bardzo przydatne, jeśli nie wiesz, z których przepływów pracy pochodzą zadania oparte na zdarzeniach.

Widok listy zadań zdarzeń

  • Wybierz zadanie(a) - Wybierz zadanie, które chcesz usunąć, z widoku listy, zaznaczając je.
  • Id – unikalny identyfikator zadania. Generowany automatycznie i nie można go zmienić.
  • Nazwa - Nazwa zadania dodana do ustawień zadania, unikalna nazwa zadania.
  • Relacje przepływu pracy
    • Znak zapytania wyświetla okno podręczne ze szczegółowymi informacjami o odniesieniu
  • Status przepływu pracy
    • Nieużywane – brak powiązań z przepływem pracy
    • W użyciu — do zadania dołączono przepływ(y) pracy, zadania nie można usunąć
  • Zarządzać
    • Ikona pióra – otwiera ustawienia zadania w osobnym oknie
    • Ikona papieru – kopiuje zadanie
    • Ikona Stop – usuwa zadanie, pojawia się okno pop-up z prośbą o potwierdzenie usunięcia

Okno edycji zadania zdarzenia

Konfigurację zadania zdarzenia można otworzyć, klikając ikonę pióra lub klikając dwukrotnie wiersz zadania.

Menu po lewej stronie oraz atrybuty różnią się w zależności od wybranych opcji, dlatego bardziej szczegółowe instrukcje dotyczące edycji zadań można znaleźć w opisie łącznika. Istnieją jednak wspólne funkcjonalności dla wszystkich zadań zdarzeń, które opisano poniżej.

Edytuj okno zadania zdarzenia

  • Użycie zadania, edytowalne? — pojawia się, gdy edycja istniejącego zadania i zmiana typu użycia zadania spowoduje przerwanie przepływów pracy
  • Typ mapowania, edytowalny? - pojawia się, gdy edycja istniejącego zadania i zmiana typu mapowania spowoduje przerwanie przepływów pracy

Zapisywanie zadania

Jeśli w zadaniu brakuje obowiązkowych informacji, najechanie kursorem myszy na przycisk zapisywania pokaże, które atrybuty są nadal puste.

Karta uwierzytelniania

Uwierzytelnianie dla rozwiązań Matrix42 Core , Pro and IGA konfiguruje się na karcie uwierzytelniania. Należy pamiętać, że tylko niektóre łączniki (łączniki katalogowe) obsługują uwierzytelnianie, więc nie jest możliwe utworzenie zadań uwierzytelniania dla wszystkich dostępnych łączników.

Górny pasek do uwierzytelniania

  • Nowy łącznik – otwiera nowe okno umożliwiające skonfigurowanie nowego łącznika (należy pamiętać, że nie wszystkie łączniki obsługują uwierzytelnianie)
  • Usuń łącznik(i) – usuwa wybrane zadania, pojawia się okno pop-up z prośbą o potwierdzenie usunięcia
  • Eksport – użytkownik może wyeksportować jedno lub więcej zadań ze środowiska. Zazwyczaj używane do eksportowania zadań z testów do produkcji. Złącza EPE są chronione hasłem.
    • Należy pamiętać, że obszar zadań uwierzytelniania nie jest eksportowany, należy go ustawić ręcznie po zaimportowaniu
  • Import – użytkownik może zaimportować jedno lub więcej zadań do środowiska. Zazwyczaj używane do importowania zadań z testów do produkcji.
  • Odśwież – odświeża widok zadań uwierzytelniania

Widok listy do przeglądu uwierzytelniania

  • Wybierz złącze(a) — wybierz jedno złącze, klikając pole wyboru przed rzędem złącza lub klikając pole wyboru w rzędzie nagłówka, co spowoduje wybranie wszystkich złączy
  • Identyfikator – automatycznie generowany, unikalny identyfikator łącznika. Nie można go edytować ani zmieniać.
  • Nazwa – nazwa łącznika dodana do ustawień łącznika. Unikalna nazwa łącznika przechowującego konfigurację dla jednego źródła danych.
  • Typ – wskazuje system docelowy/źródłowy
  • Liczba – informuje, ile zadań uwierzytelniania jest skonfigurowanych
  • Zarządzać
    • Ikona pióra – otwiera ustawienia zadania uwierzytelniania w osobnym oknie
    • Ikona papieru – kopiuje zadanie
    • Ikona Stop – usuwa wybrane zadanie

Informacje o zadaniu uwierzytelniania

Po kliknięciu strzałki na początku wiersza łącznika wyświetlane są wszystkie powiązane zadania zaplanowane i zdarzenia

Górny pasek do przeglądu uwierzytelniania

  • Utwórz nowe zadanie – otwiera stronę konfiguracji dla nowego zadania uwierzytelniania
  • Usuń zadanie(a) – usuwa wybrane zadanie(a), pojawia się okno pop-up z prośbą o potwierdzenie usunięcia
  • Odśwież – odświeża widok zadań uwierzytelniania

Widok listy do przeglądu uwierzytelniania,

  • Wybierz zadanie(a) - Wybierz zadanie, które chcesz usunąć, z widoku listy, zaznaczając je.
  • Id – unikalny identyfikator zadania. Generowany automatycznie i nie można go zmienić.
  • Nazwa - Nazwa zadania dodana do ustawień zadania, unikalna nazwa zadania.
  • Zarządzać
    • Ikona pióra – otwiera ustawienia zadania w osobnym oknie (dwukrotne kliknięcie wiersza zadania otwiera również okno ustawień)
    • Ikona papieru – kopiuje zadanie
    • Ikona Stop – usuwa zadanie, pojawia się okno pop-up z prośbą o potwierdzenie usunięcia

Karta dzienników

Karta dzienników umożliwia pobranie dzienników Native Connector i Secure Access z interfejsu użytkownika w celu przeprowadzenia szczegółowego rozwiązywania problemów.

  • Dzienniki epe-master — zawierają ostrzeżenia, komunikaty debugowania i komunikaty o błędach dotyczące natywnych łączników, a także informacje o tym, jak długo trwały działania związane z zadaniami.
  • Dzienniki epe-worker-ad – zawierają wyciąg danych o stanie konektora Active Directory (co Native Connector ładuje do klientów korzystających z rozwiązań Matrix42 Core , Pro and IGA ). Jeśli zaznaczenie jest puste, oznacza to, że katalog nie jest używany w tym środowisku.
  • Dzienniki epe-worker-azure – zawierają status danych ekstraktu Entra ID (dane, które Native Connector ładuje do rozwiązań Matrix42 Core , Pro and IGA ). Jeśli zaznaczenie jest puste, oznacza to, że katalog nie jest używany w tym środowisku.
  • Dzienniki epe-worker-ldap – zawierają status ekstrakcji danych LDAP (dane, które Native Connector ładuje do klientów korzystających z rozwiązań Matrix42 Core , Pro and IGA ). Jeśli zaznaczenie jest puste, oznacza to, że katalog nie jest używany w tym środowisku.
  • Dzienniki epe-launcher – zawierają informacje o uruchomieniach EPE
  • datapump-itsm logi - Zawiera informacje o eksporcie danych do rozwiązań klientów Matrix42 Core , Pro and IGA .
  • esa logs - Zawiera informacje o uwierzytelnianiu Secure Access .

Karta Ustawienia

Karty ustawień służą do monitorowania środowisk z łącznikami.

  • Typ środowiska - musi być wybrany i informacja ta jest wykorzystywana na przykład do krytycznego definiowania alertu.
    • Test – wybierz tę opcję, jeśli Twoje środowisko jest używane jako środowisko testowe
    • Pro d – wybierz tę opcję, jeśli Twoje środowisko jest używane jako środowisko produkcyjne
    • Demo – wybierz tę opcję, jeśli Twoje środowisko jest używane jako demo lub środowisko szkoleniowe
    • Dev – wybierz tę opcję, jeśli Twoje środowisko jest używane jako środowisko programistyczne

Co monitorujemy?

  • Niepowodzenia w planowanym udostępnianiu (wyodrębnianie danych, eksportowanie danych do ESM, nieaktualne certyfikaty, nieprawidłowe hasła, nieprawidłowa baza wyszukiwania/filtr, nieprawidłowe mapowania itp.)
  • Niepowodzenia w obsłudze zdarzeń (brak zapisu do AD / Azure itp.)
  • Dostarczanie oparte na zdarzeniach – które łączniki są używane do zapisywania danych w aplikacjach/katalogach.
  • ESA ponad dziesięć nieudanych prób logowania do jednego użytkownika w ciągu ostatnich 3 dni
  • Typ środowiska - musi być wybrany i informacja ta jest wykorzystywana na przykład do krytycznego definiowania alertu.

Migracje danych

Nie klikaj opcji „Migruj mapowania atrybutów” ani „Migruj przepływy pracy”, jeśli nie zostaniesz o to poproszony przez Matrix42 .

Utwórz skrypt Pythona

Poniżej znajduje się przykład skryptu w Pythonie, ale możesz również stworzyć własny.


#!/usr/bin/python3

importuj json
importuj system operacyjny

importuj common_subroutines_efecte_library

# system_info_efecte_library.printOsName()
# system_info_efecte_library.printReleaseVersion()

arguments_dictionary = common_subroutines_efecte_library.initialize_script()


########################################
#
# umieść skrypty specyficzne dla klienta w tym miejscu
#
#

atrybuty_ekstrakcji_danych_json = słownik_argumentów['atrybuty_ekstrakcji_danych']
script_current_working_directory = arguments_dictionary['script_current_working_directory']
error_filename_full_path = arguments_dictionary['error_filename']
oczekiwana_nazwa_pliku_wyjściowego_pełna_ścieżka = arguments_dictionary['oczekiwana_nazwa_pliku_wyjściowego']
heartbeat_filename_full_path = arguments_dictionary['heartbeat_filename']

log_filename_full_path = arguments_dictionary['log_filename']

total_attributes_to_extract = len(data_extraction_attributes_json)

common_subroutines_efecte_library.log_line(log_filename_full_path, 'rozpoczęto przetwarzanie skryptu')

os.chdir(script_current_working_directory)

lista = []

atrybuty_ekstrakcji_danych_słownika = {}
dla n w zakresie (total_attributes_to_extract):
nazwa_atrybutu = common_subroutines_efecte_library.get_value_from_json(data_extraction_attributes_json[n],
'nazwaatrybutu')
multivalue = common_subroutines_efecte_library.get_value_from_json(data_extraction_attributes_json[n], 'multivalue')

dictionary_data_extraction_attributes[nazwa_atrybutu] = str(wielowartościowy)

common_subroutines_efecte_library.log_line(log_filename_full_path, 'skrypt utworzy plik json z żądanymi polami')

dla n w zakresie (1, 11):

słownik_wartości = {}
dla one_key w dictionary_data_extraction_attributes.keys():
values_dictionary[one_key] = 'to jest przykładowa wartość dla wiersza = ' + str(n) + ' , klucz = ' + one_key

lista.append(słownik_wartości)
# print(json.dumps(list, indent=4, sort_keys=True))

f = open(oczekiwana_nazwa_pliku_wyjściowego_pełna_ścieżka, "w")
f.write(json.dumps(lista, wcięcie=4, klucze_sortowania=Prawda))
f.zamknij()

common_subroutines_efecte_library.log_line(log_filename_full_path, 'skrypt zakończony pomyślnie!')

# json_data = json.dumps(lista)
# drukuj('json_data = ' + json_data)

# plik heartbeat musi być aktualizowany co najmniej raz na 5 minut
f = open(pełna_ścieżka_nazwy_pliku_serca, "w+")
f.write('heartbeat zaktualizowany: ' + common_subroutines_efecte_library.get_timestamp())
f.zamknij()


Skonfiguruj niestandardowy łącznik zaplecza

Aby uzyskać dostęp do zarządzania złączami, użytkownik musi mieć uprawnienia do konfiguracji platformy Efecte.

1. Otwórz obszar administracyjny Efecte (symbol koła zębatego).
2. Otwórz widok złączy.
3. Wybierz nowe złącze

2. Wybierz typ źródła danych: Niestandardowe zaplecze

3. Uzupełnij informacje

  • Wpisz unikalną nazwę łącznika, pamiętaj, że nazwy tej nie można później zmienić.
  • Wybierz skrypt [script_filename].py z pola skryptu provisioningowego.
  • Hasło szyfrujące parametry jest potrzebne do ukrycia/ujawnienia parametrów po zapisaniu łącznika
  • Użytkownik API sieci Web jest potrzebny, gdy łącznik zapisuje dane klientom Rozwiązanie Efecte
  • Hasło do API sieci Web jest wymagane, gdy łącznik zapisuje dane klientom. Rozwiązanie Efecte

4. Zapisz złącze za pomocą przycisku „Zapisz”. Złącze jest teraz skonfigurowane i możesz przejść do sekcji „Konfiguracja zaplanowanego zadania”.

Zalecenia dotyczące struktury folderów serwera FTP

Jeśli klient chce użyć niestandardowego łącznika zaplecza do importowania wielu różnych typów danych, zaleca się posiadanie jednego niestandardowego łącznika zaplecza dla każdego typu danych.

Na przykład, jeśli klient chce zaimportować uprawnienia i role, powinien mieć 2 łączniki, takie jak „łącznik uprawnień” i „łącznik ról”.

Mając te dwa pliki łączników na tym samym serwerze ftp, struktura folderów mogłaby wyglądać na przykład tak:

/sftp/iga/in/uprawnienia

/sftp/iga/in/entitlements/archive

/sftp/iga/in/roles

/sftp/iga/in/roles/archive

Folder danych powinien zawierać tylko jeden plik na raz.

Dzięki takiej strukturze folderów możesz używać następujących parametrów skryptu w łączniku uprawnień:

“sftp_remote_path_data”:"/sftp/iga/in/ uprawnienia ",

“sftp_remote_path_archive”:"/sftp/iga/in/ uprawnienia /archive",

“file_path”:"./ uprawnienia /*.csv"

Podobnie różne są parametry skryptu dla łącznika Roles.

Ogólne uid dotyczące zaplanowanych zadań

General g uid ance for scheduled tasks

How to Create New Scheduled Task to import data

For configuring scheduled-based provisioning task, you will need access to Administration / Connectors tab.

1. Open the Administration area (a cogwheel symbol).

2. Open Connectors view.

3. Choose Connector for Scheduled-based task and select New Task
   Note! If connector is not created, you have to choose first New connector and after that New task.

 

4. Continue with connector specific instructions: Native Connectors

 
 

Should I use Incremental, Full or Both?

Scheduled task can be either Incremental or Full -type.

Do not import permissions with AD and LDAP incremental task

Incremental task has issue with permissions importing. At the moment it is recommended not to import group memberships with incremental scheduled task.

On Microsoft Active Directory and OpenLDAP connectors, remove this mapping on incremental task:
 

 

 

Setting on Scheduled tasks:

Incremental type is supported only for Microsoft Active Directory, LDAP and Microsoft Graph API (formerly known as Entra ID) Connectors.

Incremental type means, that Native Connectors (EPE) fetches data from source system, using changed timestamp information, so it fetches only data which is changed or added after previous incremental task run.

When Incremental type task is run for very first time, it does a full fetch (and it marks the current timestamp to EPE database),  thereafter, task uses that timestamp to ask the data source for data that changed since that timestamp (and then EPE updates the timestamp to EPE database for next task run). Clearing task cache doesn't affect this timestamp, so Incremental task is always incremental after first run.
 

Full type is supported for all Connectors.

Full type import fetches always all data (it's configured to fetch) from source system, on every run. 
 

Both Full and Incremental type tasks use also Task cache in EPE, which makes certain imports faster and lighter for M42 system.

By default that task cache is cleared ad midnight UTC time. When cache is cleared, next import after that is run without caching used to reason if data fetched should be pushed to ESM, all fetched data is pushed to ESM. But after that, next task runs until next time cache is cleared, are using EPE cache to determine if fetched data needs to be pushed to ESM or not.

You can configure at what time of day task cache is emptied, by changing global setting in EPE datapump configuration: 

/opt/epe/datapump-itsm/config/custom.properties

which is by default set to: clearCacheHours24HourFormat=0

You can also clear cache many times a day, but that needs to be thinked carefully, as it has impact on overall performance as EPE will push changes to ESM, that probably are already there, example(do not add spaces to attribute value): clearCacheHours24HourFormat=6,12

After changing this value, reboot EPE datapump container to take change into use.

Recommendations:

Have always by default Full type scheduled task.

If you want to fetch changes to data fetched already by full task, more frequently than you can run full task, add also incremental task. Usually incremental task is not needed.

 
 

Recommended Scheduling Sequence

Recommended scheduling sequence, depends how much data is read from Customers system/directory to the Matrix42 Core, Pro or IGA solution and is import Incremental or Full. 

Examples for scheduling, 

Total amount of users  Total amount of groups Full load sequence Incremental load sequence
< 500 < 1000 Every 30 minutes if partial load is not used
Four (4) times a day if partial load is used
Every 10 minutes
< 2000 < 2000 Every 60 minutes, if partial load is not used
Four (4) times a day if partial load is used
Every 15 minutes
< 5000 < 3000 Every four (4) hours, if partial load is not used
Twice a day if partial load is used
Every 15 minutes
< 10 000 < 5000 Maximum imports twice a day, no matter if partial load is or is not used Every 30 minutes
< 50 000 < 7000 Maximum import once a day, no matter if partial load is or is not used Every 60 minutes
Over 50 000 Over 7000 There might be a need for another EPE-worker, please contact Product Owner Separately evaluated


Please note that if there are several tasks running at the same time you may need more EPE-workers. The tasks should be scheduled at different times and can be completed according to the table above. However, if there are more than 6 tasks running at the same time, the number of epeworkers should be increased. It's best practice not to schedule tasks to run at same time, if possible.

Recommendations related to performance
If the amount fo data to be imported is over 10000 concider these things:
Adjust log level of ESM and DATAPUMP to ERROR-level, to lowe the amount of logging during task run
Have as few as possible automations starting immediately for imported datacards (listeners, handlers, workflows), as those make ESM to take longer time handling new datacards.

 
 

Set removed accounts and entitlements status removed/disabled

With this functionality, you can mark account and entitlement status to e.g. Deleted or Disabled, when account or entitlement is removed from source system. Starting from version 2025.3 you can also set status to generic objects (not only to accounts/identities and entitlements/groups). 

For version 2025.3 and newer

In version 2025.3 these settings are moved from properties files to Task UI. Also you can now set these settings for Generic objects, which have not been possible before this version.

There is separate configuration for each scheduled task, and for all mapping types. Here is example of this config on task:

For version 2025.2 and older

This functionality is available for “full” type scheduled tasks.

Settings are on datapump dockers configuration file. To change those parameter values, you need to set those in /opt/epe/datapump-itsm/config/custom.properties file.

Configuration

To enable disabling functionality, datapump config should have these parameters set to true:

disable.unknown.esm.users=true
disable.unknown.esm.groups=true

Those 2 parameters are false by default in 2024.2 and 2025.1 versions. In 2025.2 and newer version those are true by default.

 

Next are these parameters:

personTemplateStatusCodeAttributeKey=accountStatus
personTemplateStatusAttributeDisabledValueKey=Deleted
groupTemplateStatusCodeAttributeKey=status
groupTemplateStatusAttributeDisabledValueKey=5 - Removed

First two attributes should point to the DatacardHiddenState attribute in the User template, and tell which value should be send there when the user is deleted.

By default its accountStatus and Value 5 - Removed on IGA Account template.

All these needs to match with the attribute configuration:

 

1.PNG

Same thing applies for the next two paramaters, but its for Groups.'

If you need to change those parameters in properties file, do changes in Datapump container to file: /opt/epe/datapump-itsm/config/custom.properties and those changes will then survive over container reboot and will be copied on reboot to /opt/epe/datapump-itsm/config/application.properties.

Description

Tasks save their __taskid__ shown as Task Id mapping in the UI to the datacards, its then used to determine if the datacard was added by this task. In case there are multiple tasks with different sets of users.

This field was previously used as datasourceid, but since we moved to the model where connector can have multiple tasks its identifier cannot be used anymore, thats why the field was repurposed as taskid instead.

 

Taking users as an example, when task runs ESM is asked for the list of users that have its taskid in Task Id mapping field, and doesn't have a personTemplateStatusAttributeDisabledValueKey value in the personTemplateStatusCodeAttributeKey

This result is then compared to what the task fetched, and the datacards of users that were not fetched have their personTemplateStatusattribute set to value specified in the config - 5 - Removedby default.

Example log below shows described process and informs that one user was removed.

 

2.PNG

Same thing applies to groups but groupTemplateStatusattributes are used instead.

Notes

  • Feature works only with full fetch scheduled tasks..
  • No support for generic templates yet, only identity and access
  • When migrating from the previous versions where datasourceid was still used it needs to run at least once to set its taskid’s in the datacards first.
  • EPE identifies Disabled users or groups as the ones that were removed from the AD, at the present we do not support statuses related to the entity beign active or not.
  • EPE does not enable users back on its own.
  • If more than one tasks fetches the same users or groups it may overwrite the taskid in the datacard depending on which task ran last. It is suggested that many full type tasks are not fetching same user or group.
  • Always do configuration file changes to custom.properties, do not change only application.properties as those changes are lost on container reboot if you have not done same changes to custom.properties.
 
 

 

Skonfiguruj zadanie zaplanowane do odczytu danych

Uwaga! Jeśli łącznik nie zostanie utworzony, musisz najpierw utworzyć „nowy łącznik”, a następnie będziesz mógł tworzyć nowe zadania.

1. Otwórz obszar administracyjny Efecte (symbol koła zębatego).
2. Otwórz widok złączy.
3. Wybierz łącznik, dla którego skonfigurowano zadanie oparte na harmonogramie
4. Wybierz nowe zadanie pod właściwym łącznikiem

4. Zdefiniuj harmonogram zadania (czy i jak zaplanowane zadanie powinno być uruchamiane okresowo). Wybierz kolejność harmonogramowania, która zależy od ilości danych odczytywanych przez klientów.

5. Wypełnij szczegóły zadania

  • Unikalna nazwa zadania dla łącznika. Należy pamiętać, że nazwy tej nie można później zmienić.
  • Użycie zadań jest ustawione na zaplanowane
  • Typ mapowania jest ustawiony na ogólny (jeden szablon)

6. Uzupełnij informacje o awarii

Opcjonalne ustawienia obsługi awarii. Jeśli zaplanowane zadanie zakończy się niepowodzeniem, może utworzyć kartę danych w systemie Efecte ESM, która wyświetla błąd. Jeśli zdefiniowano ustawienia awarii, administrator nie musi ręcznie sprawdzać statusu zaplanowanych zadań.

  • Szablon awarii — wybierz szablon karty danych, który zostanie utworzony w razie wystąpienia błędów podczas udostępniania (połączenie ze źródłami danych, przekroczenie limitu czasu itp.).
  • Folder awarii – wybierz folder, w którym będzie przechowywana karta danych awarii.
  • Atrybut awarii — wybierz atrybut, w którym w szablonie awarii mają być przechowywane informacje o błędzie.
  • Nazwa atrybutu dla uid Objectg. Zapisano nazwę kolumny/atrybutu danych wejściowych, która zawiera unikalny identyfikator wiersza. Na przykład: objectGUID

7. Uzupełnij mapowania dla szablonu ogólnego

Dane ogólne są odczytywane przez dowolnego użytkownika szablonu, a obowiązkowe jest ustawienie folderu docelowego, identyfikatora źródła danych i unikalnych wartości, które służą do identyfikacji danych pomiędzy niestandardowym zapleczem a rozwiązaniem Efecte.

  • Szablon docelowy — wybierz szablon, aby zdefiniować mapowania atrybutów
    Wybierz szablon, aby zdefiniować mapowania atrybutów
  • Folder docelowy – wybierz folder z listy folderów. Lista jest zawężana w celu dopasowania do wybranego szablonu.
  • Mapowania atrybutów
    1. Atrybut szablonu Efecte - do którego atrybutu w katalogu Efecte jest mapowany atrybut.
    2. atrybut pliku - który atrybut z pliku jest mapowany na Efecte

8. W przypadku konieczności modyfikacji skryptu należy go pobrać z komputera klienta, zmodyfikować i ponownie przesłać.

  • Jeśli nie masz dostępu do komputera-hosta, skontaktuj się z Service Desk Efecte, aby uzyskać pomoc.

9. Zapisz zmiany

10. Przed uruchomieniem zaplanowanego zadania dla niestandardowego łącznika zaplecza:

  • Sprawdź, czy cała konfiguracja dotycząca przepływów pracy i ustawień na kartach danych jest na swoim miejscu.
  • Podczas pierwszego uruchomienia upewnij się, że obsługa katalogów i aplikacji jest wyłączona
  • Jeśli używasz domyślnego pliku importu IGA Connector.py i typu csv, używanym w skrypcie separatorem pól jest ; (średnik).

11. Uruchom zadanie ręcznie lub poczekaj, aż rozpocznie się zaplanowane uruchamianie.

12. Sprawdź, czy dane zostały odczytane na właściwych kartach danych i czy zastosowano właściwe atrybuty.

13. Rozwiązywanie problemów

  • W przypadku użycia szablonu awarii należy sprawdzić poprawność karty danych
  • Sprawdź historię zaplanowanych zadań z poziomu zarządzania łącznikiem
  • Sprawdź dzienniki modułu Efecte Provisioning Engine

Skonfiguruj zadanie zdarzenia do zapisu danych

  1. Otwórz widok konfiguracji platformy Efecte (symbol koła zębatego).
  2. Otwórz widok złączy
  3. Wybierz łącznik, który będzie korzystał z zadania zdarzenia
  4. Wybierz „nowe zadanie” pod właściwym łącznikiem

4. Wypełnij szczegóły zadania

  • Nazwa zadania — podaj nazwę zadania, która będzie wyświetlana w widoku łączników.
  • Użycie zadania wskazuje, że jest to zadanie używane do odczytu lub zapisu danych. Można to później zmienić, ale nie jest to zalecane, jeśli zadanie zdarzenia jest w użyciu. Spowoduje to przerwanie przepływów pracy.
  • Wybierz typ mapowania: Ogólne

5. Zdefiniuj mapowania ogólne

  • Szablon docelowy — wybierz szablon, aby zdefiniować mapowania atrybutów
    Wybierz szablon, aby zdefiniować mapowania atrybutów
  • Folder docelowy – wybierz folder z listy folderów. Lista jest zawężana w celu dopasowania do wybranego szablonu.
  • Mapowania atrybutów
    1. Atrybut szablonu Efecte - do którego atrybutu w katalogu Efecte jest mapowany atrybut.
    2. Atrybut zaplecza – który atrybut z katalogu jest mapowany na Efecte
  • Dodaj nowy atrybut - możliwe jest ustawienie dodatkowych atrybutów odczytywanych z zaplecza poprzez wybranie przycisku Nowy atrybut

6. Zapisz zadanie provisioningu za pomocą przycisku „Zapisz”

7. Następnym krokiem jest skonfigurowanie przepływu pracy w celu wykorzystania tego zadania opartego na zdarzeniach. Z poziomu silnika przepływu pracy w platformie Efecte możliwe jest wykonywanie działań provisioningowych w kierunku zaplecza. Oznacza to, że dowolną z dostępnych aktywności węzłów orkiestracji można uruchomić w dowolnym momencie przepływu pracy.

Odniesienia do przepływów pracy są wyświetlane na stronie przeglądu łącznika,

Działania przepływu pracy (węzły orkiestracji)

Uruchom zadanie provisioningu

Aktywność tę stosuje się wtedy, gdy wszystkie informacje z katalogu są potrzebne natychmiast.

Na powyższej ilustracji administratorzy mogą wybrać właściwy katalog „Docelowy”. Uruchom zadanie orkiestracji provisioningu, aby odczytać atrybuty węzła z zaplecza do Efecte.

Jeśli zachodzi potrzeba zmiany mapowań atrybutów, atrybuty te muszą zostać zdefiniowane w widoku konfiguracji zadania provisioningu, aby można je było zmienić w węźle orkiestracji.

Wyjątek w Pro to opcjonalna właściwość w tym węźle przepływu pracy. Administratorzy mogą skonfigurować tę właściwość w trybie użycia, aby możliwe było zapisywanie wyjątków w przypadku wystąpienia jakichkolwiek wyjątków podczas akcji aprowizacji.

Wykonaj niestandardowe zadanie zaplecza

Ta aktywność wywoła skrypt Pythona (skrypt Pythona). W tym momencie nowe informacje będą dostępne tylko w systemie zewnętrznym, a nie jeszcze w ESM.

Na powyższej ilustracji administratorzy mogą wybrać właściwy katalog „Docelowy”. Jeśli zajdzie potrzeba zmiany mapowań atrybutów, atrybuty te muszą zostać zdefiniowane w widoku konfiguracji zadania provisioningu, aby można je było zmienić w węźle orkiestracji.

Wyjątek w Pro to opcjonalna właściwość w tym węźle przepływu pracy. Administratorzy mogą skonfigurować tę właściwość w trybie użycia, aby możliwe było zapisywanie wyjątków w przypadku wystąpienia jakichkolwiek wyjątków podczas akcji aprowizacji.

Jak dostosować złącze

How to create and modify custom Python scripts

General info

Generic Python Script connector comes with couple out-of-the box Python scripts. You should not modify those. Instead, if you need to make modifications to those, copy-paste those to new name and then do your modifications to newly named python script file. And as last step, modify your connector to use that script.

Work order:

  1. Create your custom scheduled or task-based script
  2. Take it into use to connector from Connectors UI

Scheduled scripts

How to take your custom python script into use for scheduled tasks, guidance for 1 host and 1 worker environment:

Note! Do not change "default" .py files which came with environment installation.

Copy your customly named (in this example mypythonscript.py) python script to these folders from HOST (remember to use correct tenant_name in path):

cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_scheduled

cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-worker-1/files/custom-provisioning-scripts

cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts

 

Change your custom python script file permission to 755 on all those above locations where you copied your script(in this example mypythonscript.py) (remember to use correct tenant_name in path):

chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_scheduled/mypythonscript.py

chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-worker-1/files/custom-provisioning-scripts/mypythonscript.py

chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/mypythonscript.py

 

If you have more hosts, repeat on every host.

If you have more workers, repeat to every worker(check that worker folder name is correct).

 


 

Event-based scripts

How to take your custom python script into use for event-based tasks, guidance for 1 host environment:

Note! Do not change "default" .py files which came with environment installation.

Copy your customly named (in this example mypythonscript.py) python script to these folders from HOST (remember to use correct tenant_name in path):

cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_event

cp mypythonscript.py /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts

 

Change your custom python script file permission to 755 on all those above locations where you copied your script(in this example mypythonscript.py) (remember to use correct tenant_name in path):

chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/only_event/mypythonscript.py

chmod 755 /var/lib/efecteone/tenant_files/{tenant_name}/epe-master/files/custom-provisioning-scripts/mypythonscript.py

 

If you have more hosts, repeat on every host.

 

Example/base for custom Event-based python script 

This script reads attribute values from Connector and from Orchestration node. And prints values to logs. You can use this as a starting point for your own custom python script for Event-based tasks.

#!/usr/bin/python3

import json
import sys
import logging

def main():
    # Configure logging, change log file name
    logging.basicConfig(filename='python_event_task_abc.log', level=logging.INFO, format='%(asctime)s - %(message)s')
    
    # Read inputs from stdin
    lines = sys.stdin.read().splitlines()

    if len(lines) != 2:
        print("Error: Expected exactly two lines of input.")
        raise Exception("Expected exactly two lines of input.")

    # Parse the first line, this contains connector variables
    try:
        connector_parameters = json.loads(lines[0])
        host = connector_parameters.get('host', None)
        password = connector_parameters.get('password', None)
        logging.info(f"Connector parameters, Host={host}")
        # read custom connector parameters here
    except json.JSONDecodeError:
        raise Exception("Connector parameters is not a valid JSON string.") 

    # Parse the second line, this contains mappings data from template datacard
    try:
        task_mappings = json.loads(lines[1])
        logging.info(f"Task mappings JSON: {task_mappings}")
        #read task mappings data here

        # Implement your logic here

        
    except json.JSONDecodeError as e:
        raise Exception("Task mappings is not a valid JSON string.") from e
        # Exceptions raised are controlling workflow orchestration node flow, on exception it goes to Exception path, otherwise it goes to Completed path. Exception raised can be seen on Provisioning exception attribute value.
    except Exception as e:
        raise Exception("An unexpected error occurred") from e

if __name__ == "__main__":
    main()

 
 

 


Take customly named script into use to connector

How to take your customly named Python script into use, by selecting it from Connectors UI. Select your script from connectors Provisioning script -dropdown:

 

 

Implementation and work estimations

Only Matrix42 has access to host, which is needed for these custom scripts to be installed.

These expansion possibilities always need Matrix42 consultants review, before implementation and work estimations can be agreed.

 

 

Złącze HR

Łącznik HR jest zbudowany na bazie tego ogólnego skryptu łącznika Python.

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Konfiguracja: EPE do odczytu danych ze SCIM za pomocą Entra

Copyright 2026 – Matrix42 Professional.

Matrix42 homepage


Knowledge Base Software powered by Helpjuice

0
0
Expand