Synchronizacja programu Microsoft Entra Connect Sync: opis aprowizacji deklaratywnej

W tym temacie opisano model konfiguracji w usłudze Microsoft Entra Połączenie. Model jest nazywany aprowizacją deklaratywną i umożliwia łatwe wprowadzanie zmian w konfiguracji. Wiele elementów opisanych w tym temacie jest zaawansowanych i nie jest wymaganych w przypadku większości scenariuszy klientów.

Omówienie

Aprowizacja deklaratywna przetwarza obiekty pochodzące ze źródłowego połączonego katalogu i określa sposób przekształcania obiektu i atrybutów ze źródła na obiekt docelowy. Obiekt jest przetwarzany w potoku synchronizacji, a potok jest taki sam dla reguł ruchu przychodzącego i wychodzącego. Reguła ruchu przychodzącego pochodzi z obszaru łącznika do metaverse, a reguła ruchu wychodzącego pochodzi z metawersu do przestrzeni łącznika.

Diagram that shows a sync pipeline example.

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

Diagram that shows the modules in the pipeline.

  • Źródło, obiekt źródłowy
  • Zakres, znajduje wszystkie reguły synchronizacji, które znajdują się w zakresie
  • Join, określa relację między przestrzenią łącznika a metaverse
  • Przekształcanie, obliczanie sposobu przekształcania atrybutów i przepływu
  • Pierwszeństwo, rozwiązuje konfliktowe współtworzenie atrybutów
  • Obiekt docelowy, obiekt docelowy

Scope

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 obiektu różne reguły synchronizacji są oceniane w zakresie. 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 that shows the scope module for an object.

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.

Scope
Zakres na tym obrazie powinien być odczytany jako (dział = DZIAŁ IT I kraj = Dania) LUB (kraj=Szwecja). Jeśli grupa 1 lub grupa 2 zostanie obliczona na wartość true, reguła jest w zakresie.

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

Działanie opis
EQUAL, NOTEQUAL 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.
LESSTHAN, LESSTHAN_OR_EQUAL Porównanie ciągów, które ocenia, czy wartość jest mniejsza niż wartość w atrybucie.
CONTAINS, NOTCONTAINS Porównanie ciągów, które ocenia, czy wartość można znaleźć gdzieś wewnątrz wartości w atrybucie .
STARTSWITH, NOTSTARTSWITH Porównanie ciągów, które ocenia, czy wartość znajduje się na początku wartości w atrybucie.
ENDSWITH, NOTENDSWITH Porównanie ciągów, które ocenia, czy wartość znajduje się na końcu wartości w atrybucie.
GREATERTHAN, GREATERTHAN_OR_EQUAL Porównanie ciągów, które ocenia, czy wartość jest większa niż wartość w atrybucie.
ISNOTNULL, 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ć do oceny bitów w userAccountControl, aby sprawdzić, czy użytkownik jest włączony lub wyłączony.
ISMEMBEROF, ISNOTMEMBEROF Wartość powinna zawierać nazwę WYRÓŻNIAJĄCą do grupy w obszarze łącznika. Jeśli obiekt jest członkiem określonej grupy, reguła jest w zakresie.

Dołączanie

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 przestrzeni łącznika, która znajduje relację z obiektem w metaverse.
Join between cs and mv
Celem jest sprawdzenie, czy obiekt znajduje się już w metaverse, utworzony przez inny Połączenie or, z nim 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.

Sprzężenia są definiowane jako co najmniej jedna grupa. W grupie znajdują się 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 znalazła dokładnie jedno dopasowanie do obiektu w obiekcie docelowym, nie są oceniane żadne inne reguły sprzężenia. 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.
Join definition
Sprzężenia na tym obrazie są przetwarzane od góry do dołu. Najpierw potok synchronizacji zobaczy, czy w identyfikatorze employeeID występuje dopasowanie. Jeśli tak nie jest, druga reguła widzi, czy nazwa konta może służyć do łączenia obiektów razem. Jeśli nie jest to dopasowanie, trzecia i ostatnia reguła jest bardziej rozmytym dopasowaniem przy użyciu nazwy użytkownika.

Jeśli wszystkie reguły sprzężenia zostały ocenione i nie ma dokładnie jednego dopasowania, zostanie użyty typ łącza na stronie Opis . Jeśli ta opcja jest ustawiona na aprowizację, zostanie utworzony nowy obiekt w obiekcie docelowym.
Screenshot that shows the

Obiekt powinien mieć tylko jedną regułę synchronizacji z regułami sprzężenia w zakresie. Jeśli istnieje wiele reguł synchronizacji, w których zdefiniowano sprzężenia, wystąpi błąd. Pierwszeństwo nie jest używane do rozwiązywania konfliktów sprzężenia. Obiekt musi mieć regułę sprzężenia w zakresie, aby atrybuty przepływły z tym samym kierunkiem ruchu przychodzącego/wychodzącego. Jeśli musisz przepływać atrybuty zarówno dla ruchu przychodzącego, jak i wychodzącego do tego samego obiektu, musisz mieć zarówno regułę synchronizacji ruchu przychodzącego, jak i wychodzącego z sprzężeniami.

Sprzężenie wychodzące ma specjalne zachowanie podczas próby aprowizacji obiektu w przestrzeni łącznika docelowego. Atrybut DN jest używany do pierwszego wypróbowania sprzężenia odwrotnego. Jeśli obiekt znajduje się już w przestrzeni łącznika docelowego z tym samym dnem, obiekty są przyłączone.

Moduł sprzężenia jest oceniany tylko raz, gdy nowa reguła synchronizacji wchodzi w zakres. Po sprzężeniu obiektu nie jest on rozłączny, nawet jeśli kryteria sprzężenia nie są już spełnione. Jeśli chcesz odłączyć obiekt, reguła synchronizacji, która dołączyła do obiektów, musi wykraczać poza zakres.

Usuwanie metaverse

Obiekt metaverse pozostaje tak długo, jak istnieje jedna reguła synchronizacji w zakresie z typem łącza ustawionym na Provision lub StickyJoin. Element StickyJoin jest używany, gdy Połączenie or nie może aprowizować nowego obiektu w metaverse, ale po jego sprzężeniu należy go usunąć w źródle przed usunięciem obiektu metaverse.

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

Przekształcenia

Przekształcenia służą do definiowania sposobu przepływu atrybutów ze źródła do obiektu docelowego. Przepływy mogą mieć jeden z następujących typów przepływów: Direct, Constant lub Expression. Przepływ bezpośredni przepływa wartość atrybutu zgodnie z rzeczywistym użyciem 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 temacie understanding deklaratywnego języka wyrażeń aprowizacyjnych.

Provision or join

Pole wyboru Zastosuj raz 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 wielowartych powinny być scalane z kilku różnych Połączenie or. Wartość domyślna to Update, która wskazuje, że reguła synchronizacji z najwyższym pierwszeństwem powinna wygrać.

Screenshot that shows the

Istnieje również funkcja Merge i MergeCaseInsensitive. Te opcje umożliwiają scalanie wartości z różnych źródeł. Można na przykład użyć go 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 Połączenie or i scalania z innego. Jeśli spróbujesz, zostanie wyświetlony błąd.

Różnica między scalania i scalaniaCaseInsensitive polega na przetwarzaniu zduplikowanych wartości atrybutów. Aparat synchronizacji zapewnia, że zduplikowane wartości nie są wstawione do atrybutu docelowego. W przypadku funkcji MergeCaseInsensitive zduplikowane wartości z różnicą tylko w przypadku, gdy nie będą obecne. Na przykład w atrybucie docelowym nie powinno być widoczne zarówno "SMTP:bob@contoso.com" jak 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, gdy może być obecna.

Opcja Zamień jest taka sama jak Aktualizacja, 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) będzie współtworzyć wartość. Dzieje się tak samo w przypadku reguł ruchu wychodzącego. Reguła synchronizacji o najwyższym prioryence wygrywa i współtworzy wartość 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 dla ruchu przychodzącego można użyć literału NULL , aby wskazać, że przepływ nie ma wartości do współtworzenia. Inna reguła o niższym prioryence może współtworzyć wartość. Jeśli żadna reguła nie przyczyniła się do wartości, atrybut metaverse zostanie usunięty. W przypadku reguły ruchu wychodzącego, jeśli wartość NULL jest ostateczną wartością po przetworzeniu wszystkich reguł synchronizacji, wartość zostanie usunięta w połączonym katalogu.

Literał AuthoritativeNull jest podobny do wartości NULL , ale z różnicą, że żadne reguły pierwszeństwa niższego nie mogą współtworzyć wartości.

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

Oto przykład:

W obszarze Out to AD — User Exchange Hybrid 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 usłudze 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 ma pojęcie zakładając, że atrybut, który nie osiągnął jeszcze połączonego katalogu, ostatecznie osiągnie go w pewnym momencie, więc zwykle synchronizacja pobiera wartość atrybutu z odpowiedniej przestrzeni łącznika, nawet jeśli nie został jeszcze wyeksportowany lub wystąpił błąd podczas eksportowania. W niektórych przypadkach jednak ważne jest, aby zsynchronizować tylko wartość, która została wyeksportowana i potwierdzona podczas importowania z połączonego katalogu. Tę funkcję można znaleźć w wielu regułach przekształcania typu "In From AD/AAD", w których atrybut powinien być synchronizowany tylko wtedy, gdy potwierdzono, że wartość została pomyślnie wyeksportowana.

Przykład tej funkcji można znaleźć w out-of-box Synchronization Rule In from AD — User Common from Exchange, for ProxyAddresses attribute flow with Hybrid Exchange (Reguła synchronizacji out-of-box w usłudze AD — użytkownik wspólny z programu Exchange) dla przepływu atrybutu ProxyAddresses z programem Hybrid Exchange. Na przykład po dodaniu atrybutu 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 współtworzyć tę samą wartość atrybutu do obiektu docelowego, wartość pierwszeństwa jest używana do określenia zwycięzcy. Reguła o najwyższym pierwszeństwie, najniższa wartość liczbowa, będzie współtworzyć atrybut w konflikcie.

Merge Types

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 reguły gotowe do użycia upewnij się, że atrybuty z konta włączonego (Konto użytkownikaWłączane) mają pierwszeństwo przed innymi kontami.

Pierwszeństwo można zdefiniować między Połączenie orami. Dzięki niemu Połączenie or z lepszymi danymi należy najpierw współtworzyć wartości.

Wiele obiektów z tego samego obszaru łącznika

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

Diagram that shows multiple objects joined to the same mv object with a transparent red X overlay.

Następne kroki

Tematy omówienia

Tematy referencyjne