Поделиться через


Создание более простых, более эффективных правил для динамических групп членства в идентификаторе Microsoft Entra

Группа инженеров Microsoft Entra ID, часть Microsoft Entra, получает отчеты об инцидентах, связанных с динамическими группами членства и временем обработки правил членства. Сообщаемые сведения представлены в этой статье. В этой статье также рассматриваются наиболее распространенные методы, с помощью которых Корпорация Майкрософт помогает клиентам упростить свои правила для динамических групп членства. Более простые и эффективные правила приводят к сокращению времени обработки динамических групп.

При написании правил членства для динамических групп членства выполните действия, описанные в этой статье, чтобы обеспечить максимально эффективное создание этих правил.

Постарайтесь поменьше использовать оператор MATCH

Старайтесь как можно реже использовать оператор match в правилах. Вместо этого изучите, можно ли использовать startswith операторы или -eq операторы. Рекомендуется использовать другие свойства, позволяющие создавать правила для выбора пользователей, которые должны находиться в группе, без использования оператора -match. Например, если требуется правило для группы для всех пользователей, находящихся в городе Lagos, вместо использования таких правил:

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

Лучше использовать такие правила:

  • user.city -startswith "Lag"

Или лучше всего:

  • user.city -eq "Lagos"

Минимизация использования CONTAINS

Аналогично использованию MATCH. Старайтесь как можно реже использовать оператор contains в правилах. Вместо этого изучите, можно ли использовать startswith операторы или -eq операторы. Использование CONTAINS может увеличить время обработки, особенно для клиентов с множеством динамических групп членства.

Используйте меньше операторов OR

В правиле определите, когда оно использует различные значения для одного свойства, связанные с помощью операторов -or. Вместо этого объедините их в один критерий с помощью оператора -in, чтобы упростить оценку правила. Например, вместо такого правила:

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

Лучше использовать такое правило:

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

И наоборот, определите схожие дополнительные вложенные критерии с одинаковым свойством, не равным различным значениям, связанным с помощью операторов -and. Затем объедините их в один критерий с помощью оператора -notin, чтобы сделать правило более понятным и упростить его оценку. Например, вместо такого правила:

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

Лучше использовать следующее правило:

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

Избегайте избыточных критериев

Убедитесь, что в правиле не используются избыточные критерии. Например, вместо такого правила:

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

Лучше использовать следующее правило:

  • user.city -startswith "Lag"

Следующие шаги