Dela via


Skapa enklare och effektivare regler för dynamiska medlemskapsgrupper i Microsoft Entra-ID

Microsoft Entra ID-teknikteamet, som är en del av Microsoft Entra, tar emot rapporter om incidenter som rör dynamiska medlemskapsgrupper och bearbetningstiden för deras medlemskapsregler. Informationen som rapporteras visas i den här artikeln. I den här artikeln beskrivs också de vanligaste metoderna som Microsoft hjälper kunder att förenkla sina regler för dynamiska medlemskapsgrupper. Enklare och effektivare regler resulterar i bättre dynamiska bearbetningstider för grupper.

När du skriver medlemskapsregler för dynamiska medlemskapsgrupper följer du stegen i den här artikeln för att se till att du skapar dessa regler så effektivt som möjligt.

Minimera användningen av MATCH

Minimera användningen av operatorn match i regler så mycket som möjligt. Utforska i stället om det är möjligt att använda operatorerna startswith eller -eq . Överväg att använda andra egenskaper som gör att du kan skriva regler för att välja de användare som du vill vara i gruppen utan att använda operatorn -match . Om du till exempel vill ha en regel för gruppen för alla användare vars stad är Lagos, så i stället för att använda regler som:

  • user.city -match "ago"
  • user.city -match ".*?ago.*"

Det är bättre att använda regler som:

  • user.city -startswith "Lag"

Eller bäst av allt:

  • user.city -eq "Lagos"

Minimera användningen av CONTAINS

Liknar användningen av MATCH. Minimera användningen av operatorn contains i regler så mycket som möjligt. Utforska i stället om det är möjligt att använda operatorerna startswith eller -eq . Användning av CONTAINS kan öka bearbetningstiderna, särskilt för klienter med många dynamiska medlemskapsgrupper.

Använda färre OR-operatorer

I regeln identifierar du när den använder olika värden för samma egenskap som är länkad tillsammans med -or operatorer. Använd i stället operatorn -in för att gruppera dem i ett enda kriterium för att göra regeln enklare att utvärdera. I stället för att till exempel ha en regel som den här:

(user.department -eq "Accounts" -and user.city -eq "Lagos") -or 
(user.department -eq "Accounts" -and user.city -eq "Ibadan") -or 
(user.department -eq "Accounts" -and user.city -eq "Kaduna") -or 
(user.department -eq "Accounts" -and user.city -eq "Abuja") -or 
(user.department -eq "Accounts" -and user.city -eq "Port Harcourt")

Det är bättre att ha en regel som den här:

  • user.department -eq "Accounts" -and user.city -in ["Lagos", "Ibadan", "Kaduna", "Abuja", "Port Harcourt"]

Identifiera däremot liknande undervillkor med samma egenskap som inte är lika med olika värden, som är länkade till -and operatorer. Använd sedan operatorn -notin för att gruppera dem i ett enda kriterium för att göra regeln enklare att förstå och utvärdera. I stället för att till exempel använda en regel som den här:

  • (user.city -ne "Lagos") -and (user.city -ne "Ibadan") -and (user.city -ne "Kaduna") -and (user.city -ne "Abuja") -and (user.city -ne "Port Harcourt")

Det är bättre att använda en regel som den här:

  • user.city -notin ["Lagos", "Ibadan", "Kaduna", "Abuja", "Port Harcourt"]

Undvik redundanta villkor

Se till att du inte använder redundanta villkor i regeln. I stället för att till exempel använda en regel som den här:

  • user.city -eq "Lagos" or user.city -startswith "Lag"

Det är bättre att använda en regel som den här:

  • user.city -startswith "Lag"

Nästa steg