Udostępnij za pośrednictwem


Tworzenie prostszych, bardziej wydajnych reguł dla dynamicznych grup członkostwa w usłudze Microsoft Entra ID

W tym artykule omówiono najbardziej typowe metody, których można użyć do uproszczenia reguł dla dynamicznych grup członkostwa. Reguły, które są prostsze i wydajniejsze powodują lepsze czasy przetwarzania dla grup dynamicznych.

Podczas pisania reguł członkostwa dla dynamicznych grup członkostwa postępuj zgodnie z poradami w tym artykule, aby upewnić się, że te reguły są tak wydajne, jak to możliwe.

Zminimalizowanie użycia operatora -match

Zminimalizuj użycie operatora -match w regułach, jak to tylko możliwe. Zamiast tego zastanów się, czy można użyć operatora -startswith lub -eq. Rozważ użycie innych właściwości, które umożliwiają pisanie reguł w celu wybrania użytkowników dla grupy bez użycia -match operatora.

Jeśli na przykład chcesz utworzyć regułę dla grupy zawierającej wszystkich użytkowników, których miasto to Lagos, nie używaj reguły podobnej do następującej:

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

Lepiej użyć reguły podobnej do tego przykładu:

  • user.city -startswith "Lag"

Lub, najlepiej ze wszystkich:

  • user.city -eq "Lagos"

Zminimalizowanie użycia operatora -contains

Podobnie jak w przypadku -match, zminimalizuj użycie operatora -contains w regułach tak, jak najmniej. Zamiast tego zastanów się, czy można użyć operatora -startswith lub -eq. Użycie -contains może zwiększyć czas przetwarzania, szczególnie w przypadku najemców, którzy mają wiele dynamicznych grup członkostwa.

Używanie mniejszej liczby operatorów -or

Zidentyfikuj, kiedy reguła używa różnych wartości dla tej samej właściwości połączonej z operatorami -or . Zamiast tego użyj -in operatora , aby pogrupować je w jedno kryterium. Pojedyncze kryterium ułatwia ocenę reguły.

Na przykład nie używaj reguły podobnej do następującej:

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

Lepiej użyć reguły podobnej do tego przykładu:

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

Z drugiej strony zidentyfikuj podobne podkryteria z taką samą właściwością, które nie są równe różnym wartościom, połączonym z operatorami -and. Następnie użyj -notin operatora , aby pogrupować je w jedno kryterium, aby ułatwić zrozumienie i ocenę reguły.

Na przykład nie używaj reguły podobnej do następującej:

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

Lepiej użyć reguły podobnej do tego przykładu:

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

Unikaj nadmiarowych kryteriów

Upewnij się, że nie używasz kryteriów nadmiarowych w regule. Na przykład nie używaj reguły podobnej do następującej:

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

Lepiej użyć reguły podobnej do tego przykładu:

  • user.city -startswith "Lag"