Criar regras mais simples e eficientes para grupos dinâmicos na ID do Microsoft Entra
A equipe da ID do Microsoft Entra, parte do Microsoft Entra, recebe relatórios de incidentes relacionados aos grupos dinâmicos e ao tempo de processamento das regras de associação deles. Este artigo usa as informações relatadas para apresentar os métodos mais comuns pelos quais nossa equipe de engenharia ajuda os clientes a simplificar suas regras de associação. Regras mais simples e eficientes resultam em melhores tempos de processamento de grupo dinâmico. Ao gravar regras de associação para grupos dinâmicos, siga estas etapas para garantir que as regras sejam o mais eficientes possível.
Minimizar o uso de MATCH
Minimize o máximo possível o uso do operador match
nas regras. Em vez disso, explore se é possível usar os operadores startswith
ou -eq
. Considerando o uso de outras propriedades que permitem que você grave regras para selecionar os usuários que deseja que estejam no grupo sem usar o operador -match
. Por exemplo, se você quiser uma regra para o grupo para todos os usuários cuja cidade é Lagos, em vez de usar regras como:
user.city -match "ago"
user.city -match ".*?ago.*"
É melhor usar regras como:
user.city -startswith "Lag"
Ou, o melhor de tudo:
user.city -eq "Lagos"
Minimize o uso de CONTAINS
Semelhante ao uso de MATCH. Minimize o máximo possível o uso do operador contains
nas regras. Em vez disso, explore se é possível usar os operadores startswith
ou -eq
. Usar CONTAINS pode aumentar os tempos de processamento, especialmente para locatários com muitos grupos dinâmicos.
Usar menos operadores OR
Na sua regra, identifique quando ela usa vários valores para a mesma propriedade vinculada com operadores -or
. Em vez disso, use o operador -in
para agrupá-los em um único critério a fim de facilitar a avaliação da regra. Por exemplo, em vez de ter uma regra como esta:
(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")
É melhor ter uma regra como esta:
user.department -eq "Accounts" -and user.city -in ["Lagos", "Ibadan", "Kaduna", "Abuja", "Port Harcourt"]
Por outro lado, identifique subcritérios semelhantes com a mesma propriedade não igual a vários valores, que estejam vinculados a operadores -and
. Em seguida, use o operador -notin
para agrupá-los em um único critério a fim de facilitar o entendimento e avaliação da regra. Por exemplo, em vez de usar uma regra como esta:
(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")
É melhor usar uma regra como esta:
user.city -notin ["Lagos", "Ibadan", "Kaduna", "Abuja", "Port Harcourt"]
Evitar critérios redundantes
Certifique-se de que não esteja usando critérios redundantes na sua regra. Por exemplo, em vez de usar uma regra como esta:
user.city -eq "Lagos" or user.city -startswith "Lag"
É melhor usar uma regra como esta:
user.city -startswith "Lag"