Udostępnij za pośrednictwem


Microsoft Entra Connect Sync: Opis aprowizacji deklaratywnej

W tym artykule wyjaśniono model konfiguracji w programie Microsoft Entra Connect. Model jest nazywany aprowizacją deklaratywną i umożliwia łatwe wprowadzanie zmian w konfiguracji. W artykule opisano wiele zaawansowanych rzeczy, które nie są wymagane w przypadku większości scenariuszy klienta.

Przegląd

Aprowizacja deklaratywna przetwarza obiekty pochodzące ze źródłowego połączonego katalogu. Określa sposób przekształcania obiektu i atrybutów ze źródła na obiekt docelowy. Obiekt jest przetwarzany w rurociągu synchronizacji, który jest identyczny dla reguł ruchu przychodzącego i wychodzącego. Reguła ruchu przychodzącego pochodzi z przestrzeni łącznika do metawersu, a reguła ruchu wychodzącego pochodzi z metawersu do przestrzeni łącznika.

Diagram przedstawiający przykład potoku synchronizacji.

Rura zawiera kilka różnych modułów. Każdy z nich jest odpowiedzialny za jedną koncepcję synchronizacji obiektów.

Diagram przedstawiający moduły w przepływie danych.

  • Źródło, obiekt źródłowy
  • Zakres, znajduje wszystkie reguły synchronizacji, które znajdują się w zakresie
  • Dołącz, określa relację między przestrzenią połączeń a metawersum
  • Przekształca, Oblicza, jak atrybuty powinny być przekształcane i jak powinny przepływać.
  • pierwszeństwo, rozwiązuje konfliktowe wkłady atrybutów
  • Cel, obiekt docelowy

Zakres

Moduł zakresu ocenia obiekt i określa reguły, które znajdują się w zakresie i powinny zostać uwzględnione w przetwarzaniu. W zależności od wartości atrybutów na obiekcie, różne reguły synchronizacji są oceniane pod kątem ich zastosowania. Na przykład wyłączony użytkownik bez skrzynki pocztowej programu Exchange ma inne reguły niż włączony użytkownik ze skrzynką pocztową.
Diagram przedstawiający moduł zakresu dla obiektu.

Zakres jest definiowany jako grupy i klauzule. Klauzule znajdują się wewnątrz grupy. Logiczny element AND jest używany między wszystkimi klauzulami w grupie. Na przykład (dział = IT I kraj = Dania). Logiczny or jest używany między grupami.

zakresu
Zakres na tym obrazie powinien być odczytany jako (dział = IT I kraj = Dania) LUB (kraj = Szwecja). Jeśli grupa 1 lub grupa 2 zostanie oceniona jako prawdziwa, reguła zostaje aktywna.

Moduł zakresu obsługuje następujące operacje.

Operacja Opis
RÓWNY, NIERÓWNY Porównanie ciągów, które ocenia, czy wartość jest równa wartości w atrybucie. Aby uzyskać informacje o atrybutach wielowartych, zobacz ISIN i ISNOTIN.
MNIEJSZY, MNIEJSZY_LUB_RÓWNY Porównanie ciągów, które ocenia, czy wartość jest mniejsza niż wartość w atrybucie.
ZAWIERA, NIE ZAWIERA Porównanie ciągów, które sprawdza, czy wartość można znaleźć gdzieś wewnątrz wartości przypisanej do atrybutu.
ZACZYNA SIĘ OD, NIE ZACZYNA SIĘ OD Porównanie ciągów, które sprawdza, czy wartość znajduje się na początku wartości atrybutu.
KOŃCZY SIĘ NA, NIE KOŃCZY SIĘ NA Porównanie ciągów, które sprawdza, czy dana wartość znajduje się na końcu wartości atrybutu.
WIĘKSZY NIŻ, WIĘKSZY LUB RÓWNY Porównanie ciągów znaków, które sprawdza, czy wartość jest większa niż wartość określona w atrybucie.
ISNULL, ISNOTNULL Ocenia, czy atrybut jest nieobecny w obiekcie. Jeśli atrybut nie jest obecny i dlatego ma wartość null, reguła jest w zakresie.
ISIN, ISNOTIN Oblicza, czy wartość jest obecna w zdefiniowanym atrybucie. Ta operacja jest wielowartościową odmianą EQUAL i NOTEQUAL. Atrybut ma być atrybutem wielowartościowym, a jeśli wartość można znaleźć w dowolnej z wartości atrybutów, reguła znajduje się w zakresie.
ISBITSET, ISNOTBITSET Ocenia, czy określony bit jest ustawiony. Na przykład można użyć tego do oceny bitów w userAccountControl, aby sprawdzić, czy konto użytkownika jest aktywne lub nieaktywne.
ISMEMBEROF, ISNOTMEMBEROF Wartość powinna zawierać DN do grupy w przestrzeni łącznika. Jeśli obiekt jest członkiem określonej grupy, zasada jest uwzględniona w zakresie.

Dołączyć

Moduł sprzężenia w potoku synchronizacji jest odpowiedzialny za znalezienie relacji między obiektem w źródle a obiektem docelowym. W regule ruchu przychodzącego ta relacja byłaby obiektem w obszarze łącznika znajdującym relację z obiektem w metawersum.
połączenie między cs a mv
Sprawdzenie, czy w metawersum znajduje się już obiekt utworzony przez inny łącznik, z którym powinien być skojarzony. Na przykład w lesie account-resource użytkownik z lasu konta powinien być przyłączony do użytkownika z lasu zasobów.

Sprzężenia są używane głównie w regułach ruchu przychodzącego do łączenia obiektów przestrzeni łącznika ze sobą do tego samego obiektu metaverse.

Łączenia są definiowane jako jedna lub więcej grup. W grupie są klauzule. Logiczny element AND jest używany między wszystkimi klauzulami w grupie. Logiczny or jest używany między grupami. Grupy są przetwarzane w kolejności od góry do dołu. Gdy jedna grupa znajdzie dokładnie jedno dopasowanie do obiektu w obiekcie docelowym, żadne inne reguły sprzężenia nie są oceniane. Jeśli zostanie znaleziony zero lub więcej niż jeden obiekt, przetwarzanie będzie kontynuowane do następnej grupy reguł. Z tego powodu reguły powinny zostać utworzone w kolejności najbardziej jawnej pierwszej i bardziej rozmytej na końcu.
dołączenie definicji
Połączenia na tym obrazie są przetwarzane od góry do dołu. Najpierw ścieżka synchronizacji sprawdzi, czy jest zgodność z employeeID. Jeśli tak nie jest, druga reguła widzi, czy nazwa konta może służyć do łączenia obiektów razem. Jeśli to też nie jest dopasowanie, to trzecia i ostatnia reguła to bardziej rozmyte dopasowanie przy użyciu nazwy użytkownika.

Jeśli wszystkie reguły dołączenia są ocenione i nie ma dokładnie jednego dopasowania, zostanie użyty typ łącza na stronie Opis . Jeśli ta opcja ma wartość Provision, zostanie utworzony nowy obiekt w obiekcie docelowym.
Zrzut ekranu przedstawiający otwarte menu rozwijane

Obiekt powinien mieć tylko jedną regułę synchronizacji, która obejmuje reguły łączenia. Jeśli istnieje wiele reguł synchronizacji, w których zdefiniowano "join," wystąpi błąd. Pierwszeństwo nie jest używane do rozwiązywania konfliktów łączenia. Obiekt musi mieć regułę łączenia w zakresie, aby atrybuty przepływały w tym samym kierunku przychodzącym/wychodzącym. Jeśli musisz przesyłać atrybuty zarówno dla danych przychodzących, jak i wychodzących do tego samego obiektu, musisz mieć zarówno regułę synchronizacji przychodzącej, jak i wychodzącej z łączeniem.

Połączenie wychodzące ma specjalne zachowanie podczas próby udostępnienia obiektu w przestrzeni łącznika docelowego. Atrybut DN jest używany do pierwszego wypróbowania sprzężenia odwrotnego. Jeśli istnieje już obiekt w przestrzeni łącznika docelowego z tym samym DN, obiekty są przyłączane.

Moduł sprzężenia jest oceniany tylko raz, gdy nowa reguła synchronizacji wchodzi w zakres. Gdy obiekt jest przyłączony, nie jest rozłączany, nawet jeśli kryteria połączenia nie są już spełnione. Jeśli chcesz odłączyć obiekt, reguła synchronizacji, która połączyła obiekty, musi wyjść poza zakres.

Metaverse usuń

Obiekt metaverse pozostaje tak długo, jak istnieje jedna reguła synchronizacji w zakresie z typem linku ustawionym na Provision lub StickyJoin. Element StickyJoin jest używany, gdy łącznik nie może aprowizować nowego obiektu w metaverse. Jednak, kiedy zostanie połączony, musimy go usunąć ze źródła przed usunięciem obiektu metaverse.

Po usunięciu obiektu metaverse wszystkie obiekty skojarzone z regułą synchronizacji ruchu wychodzącego oznaczone aprowizacji są oznaczane do usunięcia.

Przekształcenia

Przekształcenia służą do definiowania sposobu przepływu atrybutów ze źródła do obiektu docelowego. Przepływy mogą być jednym z następujących typów : bezpośredni, stały lub wyrażeniowy. Bezpośredni przepływ przesyła wartość atrybutu as-is bez dodatkowych przekształceń. Wartość stała ustawia określoną wartość. Wyrażenie używa deklaratywnego języka wyrażeń aprowizacyjnych, aby wyrazić sposób przekształcania. Szczegółowe informacje dotyczące języka wyrażeń można znaleźć w artykule understanding deklaratywny język wyrażeń aprowizacyjnych.

dostarczanie lub dołączenie

Pole wyboru Zastosuj jednokrotnie definiuje, że atrybut powinien być ustawiany tylko po początkowym utworzeniu obiektu. Na przykład ta konfiguracja może służyć do ustawiania początkowego hasła dla nowego obiektu użytkownika.

Scalanie wartości atrybutów

W przepływach atrybutów istnieje ustawienie określające, czy atrybuty wielowartościowe powinny być scalane z kilku różnych konektorów. Wartość domyślna to Update, która wskazuje, że reguła synchronizacji o najwyższym pierwszeństwie powinna wygrać.

Zrzut ekranu przedstawiający sekcję

Istnieje również Merge i MergeCaseInsensitive. Te opcje umożliwiają scalanie wartości z różnych źródeł. Można go na przykład użyć do scalenia atrybutu proxyAddresses z kilku różnych lasów. Jeśli używasz tej opcji, wszystkie reguły synchronizacji w zakresie obiektu muszą używać tego samego typu scalania. Nie można zdefiniować Aktualizacji z jednego łącznika i Scalania z innego. Jeśli spróbujesz, zostanie wyświetlony błąd.

Różnica między Scalanie a MergeCaseInsensitive polega na tym, jak przetwarzane są zduplikowane wartości atrybutów. Aparat synchronizacji zapewnia, że zduplikowane wartości nie są wstawione do atrybutu docelowego. W przypadku MergeCaseInsensitive, wartości różniące się tylko wielkością liter nie będą występować. Na przykład w atrybucie docelowym nie powinien być widoczny komunikat "SMTP:bob@contoso.com" i "smtp:bob@contoso.com". scalanie analizuje tylko dokładne wartości i wiele wartości, w których istnieje tylko różnica w przypadku wystąpienia.

Opcja Zamień jest taka sama jak Update, ale nie jest używana.

Kontrolowanie procesu przepływu atrybutów

Jeśli skonfigurowano wiele reguł synchronizacji ruchu przychodzącego w celu współtworzenia tego samego atrybutu metaverse, pierwszeństwo jest używane do określania zwycięzcy. Reguła synchronizacji o najwyższym pierwszeństwie (najniższa wartość liczbowa) przyczyni się do wartości. Dzieje się tak samo w przypadku reguł ruchu wychodzącego. Reguła synchronizacji o najwyższym priorytecie wygrywa i przekazuje wartość do połączonego katalogu.

W niektórych przypadkach, zamiast współtworzyć wartość, reguła synchronizacji powinna określać, jak powinny zachowywać się inne reguły. W tym przypadku są używane specjalne literały.

W przypadku reguł synchronizacji ruchu przychodzącego można użyć literału NULL, aby wskazać, że przepływ nie ma wartości do przekazania. Inna reguła o niższym priorytecie może przyczynić się do wartości. Jeśli żadna reguła nie przyczyniła się do wartości, atrybut metaverse zostanie usunięty. W przypadku reguły wychodzącej, jeśli NULL jest ostateczną wartością po przetworzeniu wszystkich reguł synchronizacji, wartość zostanie usunięta z połączonego katalogu.

Literał AuthoritativeNull jest podobny do NULL, ale z różnicą, że reguły o niższym priorytecie nie mogą mieć wpływu na wartość.

Przepływ atrybutów może również używać IgnoreThisFlow. Jest on podobny do wartości NULL w tym sensie, że wskazuje, że nie ma nic do wniesienia. Różnica polega na tym, że nie usuwa już istniejącej wartości w obiekcie docelowym. To tak, jakby przepływ atrybutów nigdy tam nie był.

Oto przykład:

W do usługi AD — hybrydowego programu User Exchange można znaleźć następujący przepływ:
IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeSendersHash],IgnoreThisFlow)
To wyrażenie powinno być odczytywane jako: jeśli skrzynka pocztowa użytkownika znajduje się w identyfikatorze Entra firmy Microsoft, przepływ atrybutu z identyfikatora Entra firmy Microsoft do usługi Active Directory. Jeśli nie, nie przepływaj niczego z powrotem do usługi Active Directory. W takim przypadku zachowa istniejącą wartość w AD.

Zaimportowana wartość

Funkcja ImportedValue różni się od wszystkich innych funkcji, ponieważ nazwa atrybutu musi być ujęta w cudzysłowy, a nie nawiasy kwadratowe:

ImportedValue("proxyAddresses").

Synchronizacja ruchu przychodzącego zakłada, że atrybut, który nie osiągnął połączonego katalogu, ostatecznie osiągnie go w pewnym momencie. Dlatego zwykle synchronizacja pobiera wartość atrybutu z odpowiedniego obszaru łącznika. Jest to prawdą, nawet jeśli nie został jeszcze wyeksportowany lub wystąpił błąd podczas eksportowania. Jednak ważne jest, aby zsynchronizować tylko wartość, która została wyeksportowana i potwierdzona podczas importowania z połączonego katalogu. Funkcja ta jest dostępna w wielu gotowych regułach przekształcania typu "In From AD/AAD", gdzie atrybut powinien być synchronizowany dopiero po potwierdzeniu, że wartość została pomyślnie wyeksportowana.

Przykład tej funkcji można znaleźć w regule synchronizacji dostarczanej standardowo, oznaczonej jako – In from AD – User Common from Exchange, dla przepływu atrybutu ProxyAddresses z Hybrid Exchange. Na przykład po dodaniu elementu ProxyAddresses użytkownika funkcja ImportedValue zwróci tylko nową wartość po potwierdzeniu z następującego kroku importowania:

proxyAddresses <— RemoveDuplicates(Trim(ImportedValue("proxyAddresses")))

Ta funkcja jest wymagana, gdy katalog docelowy może zmienić lub odrzucić wyeksportowaną wartość atrybutu w trybie dyskretnym, a synchronizacja ma przetwarzać tylko potwierdzone wartości atrybutów.

Pierwszeństwo

Gdy kilka reguł synchronizacji próbuje przekazać tę samą wartość atrybutu do obiektu docelowego, do określenia zwycięzcy używana jest wartość pierwszeństwa. Reguła o najwyższym pierwszeństwie, o najniższej wartości liczbowej, zadecyduje o atrybucie w sytuacji konfliktowej.

Typy łączenia

To kolejność może służyć do definiowania bardziej precyzyjnych przepływów atrybutów dla małego podzestawu obiektów. Na przykład wbudowane reguły zapewniają, że atrybuty z włączonego konta (Konto użytkownika włączone) mają pierwszeństwo przed innymi kontami.

Pierwszeństwo można zdefiniować między łącznikami. To pozwala łącznikom z lepszymi danymi wnosić wartości jako pierwsze.

Wiele obiektów z tego samego obszaru łącznika

Nie można mieć kilku obiektów w tej samej przestrzeni łącznika połączonych z tym samym obiektem metaverse. Ta konfiguracja jest zgłaszana jako niejednoznaczna, nawet jeśli atrybuty w źródle mają taką samą wartość.

Diagram przedstawiający wiele obiektów połączonych z tym samym obiektem mv z przezroczystą czerwoną nakładką X.

Następne kroki

— omówienie tematów

Tematy referencyjne