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

Översikt

I den här artikeln beskrivs de vanligaste metoderna som du kan använda för att förenkla reglerna för dynamiska medlemskapsgrupper. Regler som är enklare och effektivare resulterar i bättre bearbetningstider för dynamiska grupper.

När du skriver medlemskapsregler för dynamiska medlemskapsgrupper följer du tipsen 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-operatorn

Minimera din användning av operatorn -match i regler så mycket som möjligt. Utforska i stället om det är möjligt att använda operatorn -startsWith, -endsWith eller -eq . -eq är att föredra när det fullständiga attributvärdet är känt. -startsWith och -endsWith är näst mest effektiva när endast ett prefix eller suffix är känt. Överväg att använda andra egenskaper som gör att du kan skriva regler för att välja användare för en grupp utan att använda operatorn -match .

Om du till exempel vill ha en regel för gruppen som innehåller alla användare vars stad är Lagos ska du inte använda en regel som dessa:

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

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

  • user.city -startsWith "Lag"

Eller bäst av allt:

  • user.city -eq "Lagos"

På samma sätt ska du inte använda följande för e-postdomänregler:

  • user.mail -match ".*@Contoso.com$"
  • user.mail -notMatch ".*@Contoso.com$"

Det är bättre att använda:

  • user.userPrincipalName -endsWith "@Contoso.com"
  • user.mail -notEndsWith "@Contoso.com"

Minimera användningen av -contains-operatorn

Precis som med -matchminimerar du användningen av operatorn -contains i regler så mycket som möjligt. Utforska i stället om det är möjligt att använda operatorn -startsWith, -endsWith eller -eq . Användning -contains kan öka bearbetningstiderna, särskilt för klienter som har många dynamiska medlemskapsgrupper.

Använd färre -or operatorer

Identifiera när regeln använder olika värden för samma egenskap, länkade tillsammans med -or operatorer. Använd i stället operatorn -in för att gruppera dem i ett enda kriterium. Ett enda kriterium gör regeln enklare att utvärdera.

Använd till exempel inte 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 använda en regel som det här exemplet:

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

Identifiera däremot liknande subcriteria 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.

Använd till exempel inte 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 det här exemplet:

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

Undvik redundanta villkor

Se till att du inte använder redundanta villkor i regeln. Använd till exempel inte 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 det här exemplet:

  • user.city -startswith "Lag"