Microsoft Entra Connect Sync: Förstå deklarativ etablering
Den här artikeln förklarar konfigurationsmodellen i Microsoft Entra Connect. Modellen kallas deklarativ etablering och gör att du enkelt kan göra en konfigurationsändring. Många saker som beskrivs i den här artikeln är avancerade och krävs inte för de flesta kundscenarier.
Överblick
Deklarativ etablering bearbetar objekt som kommer in från en källansluten katalog. Den avgör hur objektet och attributen ska transformeras 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
- Scope, hittar alla synkroniseringsregler som är inom ramen.
- Join, Bestämmer relationen mellan kopplingsutrymme och metaversum
- Transformera, beräknar hur attribut ska transformeras och flöda
- Företräde, Löser konflikter mellan attributbidrag
- 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 vara aktuella. 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 antingen grupp 1 eller grupp 2 utvärderas till sant, gäller regeln.
Omfångsmodulen stöder följande åtgärder.
Operation | Beskrivning |
---|---|
LIKA, OLIKA | En strängjämförelse som utvärderar om värdet är lika med värdet i attributet. Flervärdesattribut finns i ISIN och ISNOTIN. |
MINDREÄN, MINDREÄN_ELLER_LIKA_MED | En strängjämförelse som utvärderar om värdet är mindre än det värdet som finns i attributet. |
INNEHÅLLER, INTE INNEHÅLLER | En strängjämförelse som utvärderar om värdet finns någonstans i strängen i attributet. |
BÖRJAR MED, BÖRJAR INTE MED | En strängjämförelse som utvärderar om värdet finns i början av attributets värde. |
SLUTARMED, INTE SLUTARMED | En strängjämförelse som utvärderar om värdet finns i slutet av attributets värde. |
STÖRREÄN, STÖRREÄN_ELLER_LIKA_MED | En strängjämförelse som utvärderar om värdet är större än värdet av 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 kopplingsutrymmet. Om objektet är medlem i den angivna gruppen omfattas regeln. |
Ansluta
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 metaversum, skapat av en annan Connector, som det ska kopplas till. I en kontoresursskog ska användaren från kontoskogen till exempel vara ansluten till användaren från resursskogen.
Kopplingar används främst i regler för inkommande trafik för att förena objekt i kopplingsutrymmet med samma objekt i metaversen.
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 hittar 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 där de mest explicita kommer först och de mer luddiga 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 utvärderas och det inte finns exakt en matchning används länktyp på sidan Beskrivning. Om det här alternativet är inställt på Provisionskapas 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 sammanfogningkonflikter. 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 sammankoppling har ett särskilt beteende när den försöker tilldela ett objekt till en målanslutningsyta. 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, är objekten anslutna.
Kopplingsmodulen utvärderas bara en gång när en ny synkroniseringsregel ingår i omfånget. När ett objekt är anslutet kopplas det inte bort även om kopplingsvillkoren 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 metaverseobjekt kvarstår så länge det finns en synkroniseringsregel i omfånget med länktyp inställd på Provisionering eller StickyJoin. Ett StickyJoin används när en anslutning inte tillåts skapa ett nytt objekt i metaversum. Men när den har anslutits måste den tas bort i källan innan metaversumobjektet tas bort.
När ett metaversumobjekt tas bort, markeras alla objekt som är kopplade till en utgående synkroniseringsregel, avsedd för tillhandahållande, för radering.
Transformationer
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 as-is utan ytterligare transformeringar. Ett konstant värde anger det angivna värdet. Ett uttryck använder det deklarativa provisioning-uttrycksspråket för att uttrycka hur omvandlingen ska ske. Information om uttrycksspråket finns i artikeln förståelse för deklarativa provisioneringsuttrycksspråket.
Kryssrutan Används bara en gång anger att attributet endast ska sättas när objektet skapas för första gången. 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 som avgör om flervärdesattribut ska sammanfogas från flera olika anslutningar. Standardvärdet är Uppdatera, vilket anger att synkroniseringsregeln med högst prioritet ska vinna.
Det finns också 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 anslutning 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 duplicerade attributvärden. Synkroniseringsmotorn ser till att duplicerade värden inte infogas i målattributet. Med MergeCaseInsensitivekommer dupliciteter med endast skillnader i versaler inte att finnas närvarande. Du bör till exempel inte se både "SMTP:bob@contoso.com" och "smtp:bob@contoso.com" i målattributet. Merge bara tittar 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 den literala 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.
Den literala 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 Out to AD – User Exchange hybrid finns följande flöde:
IIF([cloudSOAExchMailbox] = True,[cloudMSExchSafeSendersHash],IgnoreThisFlow)
Det här uttrycket ska läsas som: om användarens brevlåda finns i Microsoft Entra ID ska attributet flöda från Microsoft Entra ID till Active Directory. Annars ska du inte skicka tillbaka något till Active Directory. I det här fallet skulle det behålla det befintliga värdet i Active Directory.
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 förutsätter att ett attribut som inte har nått en ansluten katalog så småningom når den någon gång. Så normalt hämtar synkronisering ett attributvärde från respektive anslutningsutrymme. Detta gäller även om det ännu inte har exporterats eller om ett fel uppstod under exporten. Det är dock viktigt att bara 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 framgångsrikt.
Ett exempel på den här funktionen finns i den inbyggda synkroniseringsregeln In från AD – Användargemensamt från Exchange, för attributet ProxyAddresses i samband med Hybrid Exchange. När till exempel en användares ProxyAddresses läggs till returnerar funktionen ImportedValue bara 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.
Företräde
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 ser reglerna till att attribut från ett aktiverat konto (User AccountEnabled) har företräde framför andra konton.
Prioritet kan definieras mellan anslutningar. Det gör att anslutningsappar 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 Understanding Declarative Provisioning Expressions.
- Upptäck hur deklarativ etablering används förkonfigurerat 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 Connect Sync: Förstå och anpassa synkronisering
- Integrera dina lokala identiteter med Microsoft Entra ID
Referensavsnitt