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.
Pipelinen har flera olika moduler. Var och en ansvarar för ett begrepp i objektsynkronisering.
- Källa, Källobjektet
- Omfång, Söker efter alla synkroniseringsregler som finns i omfånget
- Join, Avgör relationen mellan anslutningsutrymme och metaversum
- Transformera, beräknar hur attribut ska transformeras och flöda
- Prioritet, Löser bidrag till attribut som är i konflikt
- Target, Målobjektet
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.
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.
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.
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.
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änktypen på sidan Beskrivning . Om det här alternativet är inställt på Etablera skapas ett nytt objekt i målet.
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 .
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.
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.
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.
Nästa steg
- Läs mer om uttrycksspråket i Förstå deklarativa etableringsuttryck.
- Se hur deklarativ etablering används out-of-box i Förstå standardkonfigurationen.
- Se hur du gör en praktisk ändring med deklarativ etablering i Så här gör du en ändring i standardkonfigurationen.
- Fortsätt att läsa hur användare och kontakter fungerar tillsammans i Förstå användare och kontakter.
Översiktsavsnitt
- Microsoft Entra Anslut Sync: Förstå och anpassa synkronisering
- Integrera dina lokala identiteter med Microsoft Entra-ID
Referensavsnitt