Vytvoření jednodušších a efektivnějších pravidel pro dynamické skupiny v Microsoft Entra ID

Tým pro Microsoft Entra ID, součást Microsoft Entra, přijímá zprávy o incidentech souvisejících s dynamickými skupinami a dobu zpracování pravidel členství. Tento článek používá tyto hlášené informace k prezentaci nejběžnějších metod, kterými náš technický tým pomáhá zákazníkům zjednodušit pravidla členství. Jednodušší a efektivnější pravidla vedou k lepší době zpracování dynamických skupin. Při psaní pravidel členství pro dynamické skupiny postupujte podle těchto kroků a ujistěte se, že jsou vaše pravidla co nejefektivnější.

Minimalizace použití funkce POZVYHLEDAT

Co nejvíce minimalizujte použití operátoru match v pravidlech. Místo toho prozkoumejte, jestli je možné použít operátory startswith nebo -eq operátory. Zvažte použití jiných vlastností, které umožňují psát pravidla pro výběr uživatelů, kteří mají být ve skupině bez použití operátoru -match . Pokud například chcete pravidlo pro skupinu pro všechny uživatele, jejichž město je Lagos, pak místo použití pravidel, jako jsou:

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

Lepší je použít pravidla, jako jsou:

  • user.city -startswith "Lag"

Nebo nejlepší ze všeho:

  • user.city -eq "Lagos"

Minimalizace použití funkce CONTAINS

Podobá se použití funkce POZVYHLEDAT. Co nejvíce minimalizujte použití operátoru contains v pravidlech. Místo toho prozkoumejte, jestli je možné použít operátory startswith nebo -eq operátory. Využití funkce CONTAINS může zvýšit dobu zpracování, zejména pro tenanty s mnoha dynamickými skupinami.

Použití menšího počtu operátorů OR

V pravidle určete, kdy používá různé hodnoty pro stejnou vlastnost propojenou spolu s operátory -or . Místo toho je pomocí operátoru -in seskupte do jednoho kritéria, abyste pravidlo usnadnili vyhodnocení. Například místo toho, aby pravidlo vypadalo takto:

(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")

Je lepší mít pravidlo podobné tomuto:

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

Naopak identifikujte podobná dílčí kritéria se stejnou vlastností, která se nerovnají různým hodnotám, které jsou propojeny s operátory -and . Potom je pomocí operátoru -notin seskupte do jednoho kritéria, abyste pravidlo lépe pochopili a vyhodnotili. Například místo použití pravidla podobného tomuto:

  • (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")

Je lepší použít pravidlo podobné tomuto:

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

Vyhněte se redundantním kritériím

Ujistěte se, že v pravidle nepoužíváte redundantní kritéria. Například místo použití pravidla podobného tomuto:

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

Je lepší použít pravidlo podobné tomuto:

  • user.city -startswith "Lag"

Další kroky