Łącznik Google
Integracja Matrix42 Pro , IGA i Google z ogólnym łącznikiem REST API
Łącznik Google
Integracja Matrix42 Pro , IGA i Google z ogólnym łącznikiem REST API
Możliwości integracji z katalogiem Google są zawarte w ogólnym łączniku interfejsu REST API .
Łącznik ogólnego interfejsu REST API zapewnia wyraźną wartość biznesową w czterech kluczowych obszarach:
Lepsza widoczność i kontrola : Dostęp do danych urządzeń i oprogramowania niemal w czasie rzeczywistym usprawnia nadzór nad działem IT, śledzenie zasobów i podejmowanie decyzji.
Automatyzacja i wydajność : Zautomatyzowane zmiany ograniczają pracę ręczną, przyspieszają czas reakcji i usprawniają procesy takie jak wdrażanie i aktualizacje.
Większe bezpieczeństwo i zgodność : Szybkie wykrywanie i usuwanie zagrożeń wspomagają silniejsze zabezpieczenia i przestrzeganie standardów regulacyjnych.
Strategiczna integracja i innowacja : Bezproblemowa integracja z innymi systemami informatycznymi umożliwia inteligentniejszą automatyzację, lepsze zarządzanie i wspiera działania na rzecz transformacji cyfrowej.
Ogólne uid dotyczące interfejsu Generic REST API można znaleźć w dokumentacji interfejsu Generic REST API .
Najczęstsze przypadki użycia Google to:
- Odczytywanie danych z Google (na przykład użytkowników i grup)
- Zapisywanie danych w Google (na przykład tworzenie/aktualizowanie użytkowników i grup)
Skonfiguruj łącznik dla Google
Aby skonfigurować provisioning, potrzebny będzie dostęp do konsoli konfiguracji platformy.
1. Otwórz obszar Administracji (symbol koła zębatego).
2. Otwórz widok Złącza.
3. Wybierz „Nowy łącznik”

4. Wybierz typ źródła danych: Ogólne REST API

5. Podaj nazwę łącznika i dodaj ustawienia połączenia:
- Nazwa złącza – nadaj złączu przyjazną nazwę (nazwę można później zmienić)
- Adres URL hosta — adres URL bazowy dla REST API . https://admin.googleapis.com/admin/directory/v1/ Można go użyć jako prefiksu dla końcowego adresu URL, który ma zostać wywołany.
- Typ łącznika REST — wybierz Google
- Zakresy – ustaw zakresy na podstawie interfejsów API Google , które będziesz wywoływać z tego łącznika. Zakresy dla użytkowników, grup i uprawnień to https://www.googleapis.com/auth/admin.directory.user, https://www.googleapis.com/auth/admin.directory.group, https://www.googleapis.com/auth/admin.directory.group.member
- Zawartość pliku JSON z danymi uwierzytelniającymi – po skonfigurowaniu strony Google możesz uzyskać dostęp do pliku JSON. Skopiuj i wklej całą zawartość tego pliku do tego atrybutu.
- Użytkownik delegowany – użytkownik w imieniu tego łącznika łączy się z Google . Zaleca się użycie tutaj użytkownika technicznego, na przykład igagoogle@twojadomena.com
- Typ paginacji – wybierz Token atrybutu łącza
- Token łącza paginacji - nextPageToken
- Nazwa atrybutu URL - pageToken


6. Uzupełnij informacje o użytkowniku API sieci Web
- Użytkownik API internetowego — wybierz właściwego użytkownika API internetowego, który będzie używany podczas zapisywania danych z systemu zewnętrznego do rozwiązań Matrix42 Core , Pro and IGA
- Hasło do API internetowego – hasło użytkownika API internetowego

8. Zapisz informacje o złączu
9. Dodaj główny certyfikat https Google , który ma być zaufany przez Zarządzanie łącznikiem (EPE). Można to zrobić tylko za pomocą Matrix42 : Dodaj certyfikat. Główne certyfikaty Google można znaleźć na stronie https://pki.goog/repository/
10. Rozwiązanie Matrix42 Core , Pro and IGA może teraz łączyć się z Google
- Następnym krokiem jest skonfigurowanie zaplanowanego zadania do odczytu danych lub zadania zdarzeń do zapisu danych i działań wobec Google .
Odczytaj dane z Google
W tym rozdziale dodamy przykładowe zadanie zaplanowane w celu odczytania użytkowników i przynależności do grup użytkowników z Google .
Uwaga! Jeśli chcesz również odczytywać Grupy Google jako karty danych do ESM, musisz utworzyć w tym celu kolejne ogólne zadanie zaplanowane.
1. Dodaj zaplanowane zadanie w odpowiednim łączniku, klikając „Nowe zadanie”

2. Ustaw atrybuty zadania
Harmonogramowanie – ustaw harmonogram, jeśli to konieczne
Nazwa zadania – Ustaw nazwę informacyjną
Użycie zadań – zaplanowane
Typ mapowania – Szablon ogólny
Zapytanie – zapytanie zależy od punktu końcowego API Google , który chcesz wywołać, aby pobrać dane. Prawidłowy adres URL i parametry API znajdziesz w dokumentacji Google . Pamiętaj, aby ustawić prawidłowy atrybut domeny na podstawie domeny Google .
W tym przykładzie pobieramy użytkowników za pomocą: users?domain=twojadomena.com
Podzapytania – możesz dodać podzapytania, jeśli chcesz odczytać więcej danych związanych z zestawem wyników zwróconym przez rzeczywiste zapytanie. W tym przykładzie używamy podzapytania do pobrania przynależności użytkowników do grup: groups?userKey={id}

Nagłówki zapytania – w przypadku Google musimy dodać następujące nagłówki:
Akceptuj / aplikacja/json
Typ zawartości / aplikacja/json
Znacznik wartości – w tym przypadku użytkownicy (poprawna wartość zależy od tego, do którego interfejsu API się odwołujesz)
Marker błędu – ustaw na błąd
Próg bezpieczeństwa dla wywołań API – zaleca się ustawienie go dwa razy wyżej niż liczba stron zwracanych przez to API . Jeśli pozostawisz ten próg pusty, próg bezpieczeństwa zniknie, a łącznik może przejść w nieskończoną pętlę w przypadku błędu w konfiguracji.
Atrybut unikatowy – atrybut unikatowy w zbiorze wyników API . W tym przypadku identyfikator

3. Uzupełnij informacje o awarii
Opcjonalne ustawienia obsługi awarii. Jeśli zaplanowane zadanie zakończy się niepowodzeniem, może utworzyć kartę danych w ESM, która wyświetla błąd. Jeśli ustawienia awarii są zdefiniowane, 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. Wybierz atrybut typu tekstowego.

4. Uzupełnij informacje o mapowaniach ogólnych
W sekcji mapowań konfigurujesz, który atrybut z komunikatu JSON zostanie odczytany do którego atrybutu na karcie danych Matrix42 Core , Pro and IGA .
- Szablon docelowy — wybierz szablon, aby zdefiniować mapowania atrybutów (w tym przykładzie konto IGA , ponieważ pobieramy użytkowników/konta)
- Folder docelowy – wybierz folder z listy folderów. Lista jest zawężana w celu dopasowania do wybranego szablonu (w tym przykładzie Konta).
- Mapowanie typu źródła danych – opcjonalne. Jeśli jest ustawione, zapisuje typ łącznika do tego atrybutu.
- Mapowanie identyfikatorów zadań – numer identyfikacyjny zadania jest zapisywany w tym atrybucie. Prawidłowy wybór atrybutu zależy od konfiguracji szablonu.
- Ustaw wartość na karcie danych dla obiektu usuniętego z systemu źródłowego – tę funkcjonalność aktywuje się, zaznaczając pole wyboru. Gdy obiekt, który został wcześniej odczytany z systemu zewnętrznego do rozwiązania, zostanie usunięty z systemu zewnętrznego, to zaplanowane zadanie zauważa, że obiekt został usunięty i oznacza wybrany atrybut karty danych żądaną wartością. Można tego użyć na przykład do ustawienia atrybutu Status na Usunięty. Nazwę i wartość atrybutu należy ustawić w zależności od konfiguracji szablonu.

- Mapowania atrybutów
- Atrybut zewnętrzny – który atrybut z API Google jest odczytywany z treści JSON
- Atrybut lokalny – do którego atrybutu w Matrix42 Core , Pro and IGA jest mapowany atrybut
- Można ustawić dodatkowe atrybuty do mapowań atrybutów, wybierając opcję Nowy atrybut
- Musisz dodać mapowanie również do atrybutu unikatowego, w tym przykładzie jest to identyfikator. Należy go zmapować do atrybutu unikatowego w szablonie, w tym przykładzie do identyfikatora katalogu.
- Pierwsze mapowanie wykorzystuje podzapytanie do mapowania przynależności użytkowników do grup na atrybut multiValueField. Pozostałe mapowania dotyczą mapowania atrybutów użytkownika w głównym zapytaniu.

5. Zapisz zadanie provisioningu, klikając przycisk Zapisz.
Jeśli brakuje niektórych wymaganych atrybutów, przycisk zapisu jest wyświetlany w kolorze szarym i pokazuje, czego brakuje w ustawieniach.

6. Skonfigurowałeś już zadanie łącznika oparte na harmonogramie
- Teraz możesz poczekać, aż zadanie zostanie rozpoczęte zgodnie z harmonogramem lub
- Uruchom zadanie ręcznie – klikając przycisk „Uruchom zadanie” u góry okna edycji zadania, zadanie jest konfigurowane do natychmiastowego uruchomienia. Zazwyczaj jest to przydatne w przypadku uruchomień testowych lub gdy nie chcesz zmieniać ustawień harmonogramu, ale chcesz uruchomić zadanie od razu.

Przykład komunikatu rozpoczynającego ręczne uruchomienie zadania:

Jeśli zadanie jest wykonywane ręcznie (uruchom zadanie) lub jest uruchamiane zgodnie z harmonogramem, status zadania można sprawdzić w kolumnie zarządzania listą zaplanowanych zadań, klikając przycisk „Wyświetl historię”.

Utwórz użytkownika w Google
Oto podstawowy przykład zadania zdarzenia i węzła orkiestracji, które służą do tworzenia nowego użytkownika w Google . W środowisku produkcyjnym należy zaprojektować wszystkie atrybuty, które mają zostać ustawione dla nowego użytkownika.
1. Dodaj zadanie oparte na zdarzeniu pod właściwym łącznikiem, klikając „Nowe zadanie”
![]()
2. Ustaw atrybuty dla zadania
Nazwa zadania – opisowa, unikalna nazwa
Użycie zadania – zdarzenie
Typ mapowania - Szablon ogólny
Zapytanie – adres URL interfejsu API który chcesz wywołać. W tym przykładzie pozostawiamy go pustym, ponieważ adres URL ustawiamy w węźle orkiestracji przepływu pracy. Ostateczny adres URL interfejsu API do wywołania jest tworzony przez połączenie adresu URL konektora, adresu URL tego zapytania i adresu URL REST węzła orkiestracji.
Nagłówki zapytania – w przypadku Google musimy dodać następujące nagłówki:
Akceptuj / aplikacja/json
Typ zawartości / aplikacja/json
Formater atrybutów daty — ustaw poprawny format, jeśli tworzysz atrybuty daty
Formater atrybutów DateTime — ustaw poprawny format, jeśli tworzysz atrybuty datetime

Ustaw mapowania ogólne
Szablon docelowy – szablon, z którego przepływu pracy będziesz wywoływać to zadanie
Folder docelowy – folder na Twoje dane
Nie ustawiono atrybutów w tabeli mapowania (atrybut zewnętrzny - atrybut lokalny). Mapowanie atrybutów odbywa się w węźle koordynacji przepływu pracy.
3. Zapisz zadanie
4. Utwórz węzeł orkiestracji dla swojego przepływu pracy, aby wywołać to zadanie oparte na zdarzeniach
Orchestrate - Silnik Pro
Źródło danych — ogólny REST API
Aktywność — ogólne wywołanie REST
Cel — Utwórz użytkownika Google (nazwa zadania oparta na zdarzeniu)
Akcja - W tym przykładzie POST tworzymy użytkownika w Google
REST URL – w tym przykładzie użytkownicy, ponieważ tworzymy użytkowników w Google
REST Body – możesz wygenerować treść wywołania API bezpośrednio tutaj. Lub, w bardziej skomplikowanych przypadkach, wygenerować ją osobno (w węźle skryptu) dla jakiegoś atrybutu, a następnie użyć tego atrybutu tutaj. W tym przypadku treść wywołania użytkownika jest tworzona bezpośrednio tutaj, przy użyciu zmiennych kodu atrybutów „imię” i „nazwisko”.
Przykład, którego tutaj używamy, jest bardzo uproszczony. W środowisku produkcyjnym należy zaprojektować wszystkie atrybuty, które chcemy ustawić dla nowych użytkowników.
{
"nazwa": {
"givenName": "$firstname$",
"familyName": "$nazwisko$"
},
„hasło”: „$losowehasło$”,
"primaryEmail": "$firstname$.$lastname$@mydomain.com"
}
Atrybut odpowiedzi REST – odpowiedź wywołania API będzie przechowywana w tym atrybucie. W tym przykładzie będzie on zawierał dane utworzonych użytkowników w formacie JSON.
Jak odczytać wartość z JSON w przepływie pracy
Użyj biblioteki JSON do odczytania wartości z JSON
Ten przykład dotyczy OnPremisesExternsionAttributes, ale to samo podejście można zastosować do wszystkich rodzajów komunikatów JSON dla Microsoft Graph API i interfejsu REST API .
Aby odczytać 1 konkretną wartość z JSON, która wygląda następująco:
{ "extensionAttribute1": "test data1",
"extensionAttribute2": null,
"extensionAttribute3": null,
"extensionAttribute4": "EXT",
"extensionAttribute5": null,
"extensionAttribute6": null,
"extensionAttribute7": null,
"extensionAttribute8": null,
"extensionAttribute9": "HR functions",
"extensionAttribute10": "100",
"extensionAttribute11": null,
"extensionAttribute12": null,
"extensionAttribute13": null,
"extensionAttribute14": "test5",
"extensionAttribute15": "M365_E5" }
Można to łatwo zrobić za pomocą następującego kodu w skrypcie przepływu pracy.
Przykład (w przykładzie wykorzystano dwa atrybuty esm: onPremisesExtensionAttributes i extensionAttribute14code):
import json
if onPremisesExtensionAttributes:
_data = this.get("onPremisesExtensionAttributes")
_obj = json.loads(_data)
_value = _obj["extensionAttribute14"]
this.set("extensionAttribute14code",_value)
Pamiętaj, aby zawsze testować, czy kod wybiera właściwe dane z JSON dla danego przypadku użycia. Jeśli nie, wprowadź niezbędne zmiany.
Wyjątek w Pro — jeśli wystąpi problem z wywołaniem API , wyjątek zostanie zapisany w tym atrybucie

Zakończ swój przepływ pracy, inne węzły i przepływ
Zapisz przepływ pracy i opublikuj go
5. Przetestuj przepływ pracy i zadanie oparte na zdarzeniach
Znane ograniczenia
Ograniczenia w 2025.3
Ze względów wydajnościowych nie jest obsługiwany więcej niż jeden poziom podzapytań dla zadań zaplanowanych.