Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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"