Microsoft Entra Connect-synkronisering: Förstå deklarativ etablering

Det här avsnittet beskriver konfigurationsmodellen i Microsoft Entra Anslut. Modellen kallas deklarativ etablering och gör att du enkelt kan göra en konfigurationsändring. Många saker som beskrivs i det här avsnittet är avancerade och krävs inte för de flesta kundscenarier.

Översikt

Deklarativ etablering bearbetar objekt som kommer in från en källansluten katalog och avgör hur objektet och attributen ska omvandlas från en källa till ett mål. Ett objekt bearbetas i en synkroniseringspipeline och pipelinen är densamma för regler för inkommande och utgående trafik. En inkommande regel kommer från ett anslutningsutrymme till metaversumet och en utgående regel är från metaversum till ett anslutningsutrymme.

Diagram that shows a sync pipeline example.

Pipelinen har flera olika moduler. Var och en ansvarar för ett begrepp i objektsynkronisering.

Diagram that shows the modules in the pipeline.

Omfattning

Omfångsmodulen utvärderar ett objekt och avgör vilka regler som finns i omfånget och som ska ingå i bearbetningen. Beroende på attributvärdena för objektet utvärderas olika synkroniseringsregler för att finnas i omfånget. Till exempel har en inaktiverad användare utan Exchange-postlåda andra regler än en aktiverad användare med en postlåda.
Diagram that shows the scope module for an object.

Omfånget definieras som grupper och satser. Satserna finns i en grupp. En logisk AND används mellan alla satser i en grupp. Till exempel (avdelning =IT OCH land = Danmark). En logisk OR används mellan grupper.

Scope
Omfånget i den här bilden ska läsas som (avdelning = IT OCH land = Danmark) ELLER (land=Sverige). Om grupp 1 eller grupp 2 utvärderas till true är regeln i omfånget.

Omfångsmodulen stöder följande åtgärder.

Operation beskrivning
EQUAL, NOTEQUAL En strängjäxning som utvärderar om värdet är lika med värdet i attributet. Flervärdesattribut finns i ISIN och ISNOTIN.
LESSTHAN, LESSTHAN_OR_EQUAL En strängjäxning som utvärderar om värdet är mindre än värdet i attributet.
CONTAINS, NOTCONTAINS En strängjäxning som utvärderar om värdet kan hittas någonstans inuti värdet i attributet.
STARTSWITH, NOTSTARTSWITH En strängjäxning som utvärderar om värdet är i början av värdet i attributet.
ENDSWITH, NOTENDSWITH En strängjäxning som utvärderar om värdet är i slutet av värdet i attributet.
GREATERTHAN, GREATERTHAN_OR_EQUAL En strängjäxning som utvärderar om värdet är större än värdet i attributet.
ISULL, ISNOTNULL Utvärderar om attributet saknas i objektet. Om attributet inte finns och därför är null finns regeln i omfånget.
ISIN, ISNOTIN Utvärderar om värdet finns i det definierade attributet. Den här åtgärden är flervärdesvarianten för EQUAL och NOTEQUAL. Attributet ska vara ett attribut med flera värden och om värdet finns i något av attributvärdena är regeln i omfånget.
ISBITSET, ISNOTBITSET Utvärderar om en viss bit har angetts. Kan till exempel användas för att utvärdera bitarna i userAccountControl för att se om en användare är aktiverad eller inaktiverad.
ISMEMBEROF, ISNOTMEMBEROF Värdet ska innehålla ett DN till en grupp i anslutningsutrymmet. Om objektet är medlem i den angivna gruppen finns regeln i omfånget.

Anslut

Kopplingsmodulen i synkroniseringspipelinen ansvarar för att hitta relationen mellan objektet i källan och ett objekt i målet. I en inkommande regel skulle den här relationen vara ett objekt i ett anslutningsutrymme som söker efter en relation till ett objekt i metaversumet.
Join between cs and mv
Målet är att se om det redan finns ett objekt i metaversumet, som skapats av en annan Anslut eller, som det ska associeras med. I en kontoresursskog ska användaren från kontoskogen till exempel vara ansluten till användaren från resursskogen.

Kopplingar används främst på regler för inkommande trafik för att koppla samman kopplingsutrymmesobjekt till samma metaversumobjekt.

Kopplingarna definieras som en eller flera grupper. I en grupp har du satser. En logisk AND används mellan alla satser i en grupp. En logisk OR används mellan grupper. Grupperna bearbetas i ordning uppifrån och ned. När en grupp har hittat exakt en matchning med ett objekt i målet utvärderas inga andra kopplingsregler. Om noll eller fler än ett objekt hittas fortsätter bearbetningen till nästa regelgrupp. Därför bör reglerna skapas i den ordning de mest explicita först och mer fuzzy i slutet.
Join definition
Kopplingarna i den här bilden bearbetas uppifrån och ned. Först ser synkroniseringspipelinen om det finns en matchning i employeeID. Annars ser den andra regeln om kontonamnet kan användas för att koppla ihop objekten. Om det inte heller är en matchning är den tredje och sista regeln en mer fuzzy-matchning med hjälp av namnet på användaren.

Om alla kopplingsregler har utvärderats och det inte finns exakt en matchning används länktypensidan Beskrivning . Om det här alternativet är inställt på Etablera skapas ett nytt objekt i målet.
Screenshot that shows the

Ett objekt ska bara ha en enda synkroniseringsregel med kopplingsregler i omfånget. Om det finns flera synkroniseringsregler där koppling definieras uppstår ett fel. Prioritet används inte för att lösa kopplingskonflikter. Ett objekt måste ha en kopplingsregel i omfånget för att attribut ska kunna flöda med samma inkommande/utgående riktning. Om du behöver flödesattribut både inkommande och utgående till samma objekt måste du ha både en regel för inkommande och utgående synkronisering med koppling.

Utgående koppling har ett särskilt beteende när det försöker etablera ett objekt till ett målanslutningsutrymme. DN-attributet används för att först prova en omvänd koppling. Om det redan finns ett objekt i målanslutningsutrymmet med samma DN kopplas objekten.

Kopplingsmodulen utvärderas bara en gång när en ny synkroniseringsregel ingår i omfånget. När ett objekt har anslutits skiljer det sig inte även om kopplingskriterierna inte längre uppfylls. Om du vill koppla från ett objekt måste synkroniseringsregeln som anslöt objekten gå utanför omfånget.

Ta bort metaversum

Ett metaversumobjekt förblir så länge det finns en synkroniseringsregel i omfånget med länktypen inställd på Etablera eller StickyJoin. En StickyJoin används när en Anslut eller inte tillåts etablera ett nytt objekt till metaversumet, men när det har anslutits måste det tas bort i källan innan metaversumobjektet tas bort.

När ett metaversumobjekt tas bort markeras alla objekt som är associerade med en regel för utgående synkronisering som har markerats för etablering för borttagning.

Transformeringar

Transformeringarna används för att definiera hur attribut ska flöda från källan till målet. Flödena kan ha någon av följande flödestyper: Direkt, Konstant eller Uttryck. Ett direkt flöde, flödar ett attributvärde som det är utan ytterligare transformeringar. Ett konstant värde anger det angivna värdet. Ett uttryck använder uttrycksspråket deklarativ etablering för att uttrycka hur omvandlingen ska vara. Information om uttrycksspråket finns i språkavsnittet förstå deklarativ etableringsuttryck .

Provision or join

Kryssrutan Tillämpa en gång definierar att attributet endast ska anges när objektet skapas. Den här konfigurationen kan till exempel användas för att ange ett första lösenord för ett nytt användarobjekt.

Sammanfoga attributvärden

I attributflödena finns det en inställning för att avgöra om flervärdesattribut ska sammanfogas från flera olika Anslut orer. Standardvärdet är Update, vilket anger att synkroniseringsregeln med högst prioritet ska vinna.

Screenshot that shows the

Det finns även Merge och MergeCaseInsensitive. Med de här alternativen kan du sammanfoga värden från olika källor. Det kan till exempel användas för att slå samman attributet proxyAddresses från flera olika skogar. När du använder det här alternativet måste alla synkroniseringsregler i omfånget för ett objekt använda samma kopplingstyp. Du kan inte definiera Uppdatera från en Anslut eller och Sammanfoga från en annan. Om du försöker får du ett fel.

Skillnaden mellan Merge och MergeCaseInsensitive är hur du bearbetar dubblettattributvärden. Synkroniseringsmotorn ser till att duplicerade värden inte infogas i målattributet. Med MergeCaseInsensitive kommer duplicerade värden med endast en skillnad om de inte kommer att finnas. Du bör till exempel inte se både "SMTP:bob@contoso.com" och "smtp:bob@contoso.com" i målattributet. Sammanslagning tittar bara på de exakta värdena och flera värden där det bara finns en skillnad om det skulle finnas.

Alternativet Ersätt är detsamma som Uppdatera, men det används inte.

Kontrollera attributflödesprocessen

När flera regler för inkommande synkronisering har konfigurerats för att bidra till samma metaversattribut används prioritet för att fastställa vinnaren. Synkroniseringsregeln med högsta prioritet (lägsta numeriska värde) kommer att bidra med värdet. Samma sak gäller för regler för utgående trafik. Synkroniseringsregeln med högst prioritet vinner och bidrar med värdet till den anslutna katalogen.

I vissa fall bör synkroniseringsregeln i stället för att bidra med ett värde avgöra hur andra regler ska bete sig. Det finns några särskilda literaler som används för det här fallet.

För regler för inkommande synkronisering kan literalen NULL användas för att indikera att flödet inte har något värde att bidra med. En annan regel med lägre prioritet kan bidra med ett värde. Om ingen regel bidrog med ett värde tas metaverse-attributet bort. Om NULL är det slutliga värdet när alla synkroniseringsregler har bearbetats tas värdet bort i den anslutna katalogen för en utgående regel.

Literal AuthoritativeNull liknar NULL men med skillnaden att inga regler för lägre prioritet kan bidra med ett värde.

Ett attributflöde kan också använda IgnoreThisFlow. Det liknar NULL i den meningen att det indikerar att det inte finns något att bidra med. Skillnaden är att det inte tar bort ett redan befintligt värde i målet. Det är som om attributflödet aldrig har funnits där.

Här är ett exempel:

I Ut till AD – Användarutbyteshybrid kan du hitta följande flöde:
IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeSendersHash],IgnoreThisFlow)
Det här uttrycket ska läsas som: om användarpostlådan finns i Microsoft Entra-ID:t flödar du attributet från Microsoft Entra-ID till Active Directory. Annars ska du inte skicka något tillbaka till Active Directory. I det här fallet skulle det behålla det befintliga värdet i AD.

ImportedValue

Funktionen ImportedValue skiljer sig från alla andra funktioner eftersom attributnamnet måste omges av citattecken i stället för hakparenteser:

ImportedValue("proxyAddresses").

Inkommande synkronisering har ett begrepp om att anta att ett attribut som ännu inte har nått en ansluten katalog så småningom kommer att nå den någon gång, så normalt hämtar synkronisering ett attributvärde från respektive anslutningsutrymme, även om det ännu inte har exporterats eller ett fel uppstod under exporten. I vissa fall är det dock viktigt att endast synkronisera ett värde som har exporterats och bekräftats under importen från den anslutna katalogen. Den här funktionen finns i flera "In Från AD/AAD" färdiga transformeringsregler där attributet endast ska synkroniseras när det har bekräftats att värdet har exporterats.

Ett exempel på den här funktionen finns i den färdiga synkroniseringsregeln in från AD – User Common från Exchange, för ProxyAddresses-attributflödet med Hybrid Exchange. När till exempel en användares ProxyAddresses läggs till returnerar funktionen ImportedValue endast det nya värdet när det har bekräftats från följande importsteg:

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

Den här funktionen krävs när målkatalogen kan ändra eller ignorera ett exporterat attributvärde tyst och vi vill att synkroniseringen endast ska bearbeta bekräftade attributvärden.

Prioritet

När flera synkroniseringsregler försöker bidra med samma attributvärde till målet används prioritetsvärdet för att fastställa vinnaren. Regeln med högsta prioritet, det lägsta numeriska värdet, kommer att bidra med attributet i en konflikt.

Merge Types

Den här ordningen kan användas för att definiera mer exakta attributflöden för en liten delmängd av objekt. Till exempel kontrollerar reglerna att attribut från ett aktiverat konto (User AccountEnabled) har företräde från andra konton.

Prioritet kan definieras mellan Anslut orer. Det gör att Anslut orer med bättre data kan bidra med värden först.

Flera objekt från samma anslutningsutrymme

Det går inte att ha flera objekt i samma anslutningsutrymme kopplat till samma metaversumobjekt. Den här konfigurationen rapporteras som tvetydig även om attributen i källan har samma värde.

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

Nästa steg

Översiktsavsnitt

Referensavsnitt