Erstellen einfacherer, effizienterer Regeln für dynamische Gruppen in Azure Active Directory

Das Team für Azure Active Directory (Azure AD), was zu Microsoft Entra gehört, erhält Berichte über Vorfälle im Zusammenhang mit dynamischen Gruppen und der Verarbeitungszeit für deren Mitgliedschaftsregeln. In diesem Artikel stellen wir Ihnen anhand dieser Informationen die gängigsten Methoden vor, mit denen unser Entwicklungsteam Kunden bei der Vereinfachung ihrer Mitgliedschaftsregeln hilft. Einfachere und effizientere Regeln führen zu besseren Verarbeitungszeiten bei dynamischen Gruppen. Wenn Sie Mitgliedschaftsregeln für dynamische Gruppen schreiben, können Sie mit den folgenden Schritten sicherstellen, dass die Regeln so effizient wie möglich sind.

Minimieren der Verwendung von MATCH

Minimieren Sie die Verwendung des match Operators in Regeln so weit wie möglich. Prüfen Sie stattdessen, ob es möglich ist, die Operatoren contains, startswithoder -eq zu verwenden. Ziehen Sie die Verwendung anderer Eigenschaften in Erwägung, mit denen Sie Regeln zur Auswahl der Benutzer, die in der Gruppe sein sollen, schreiben können, ohne den Operator -match zu verwenden. Wenn Sie z. B. eine Regel für die Gruppe für alle Benutzer möchten, deren Stadt Lagos ist, verwenden Sie keine Regeln wie:

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

Verwenden Sie besser Regeln wie:

  • user.city -contains "ago"
  • user.city -startswith "Lag"

Oder am besten:

  • user.city -eq "Lagos"

Verwenden weniger OR-Operatoren

Identifizieren Sie in Ihrer Regel, wann sie verschiedene Werte für dieselbe Eigenschaft verwendet, die mit -or-Operatoren verknüpft sind. Verwenden Sie stattdessen den -in-Operator, um sie in einem einzelnen Kriterium zu gruppieren, damit die Regel einfacher auszuwerten ist. Die Regel sollte z. B. nicht wie folgt lauten:

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

Die Regel sollte besser wie folgt lauten:

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

Identifizieren Sie im umgekehrten Fall ähnliche Unterkriterien mit derselben Eigenschaft, die nicht mit verschiedenen Werten übereinstimmt, die mit -and-Operatoren verknüpft sind. Verwenden Sie dann den -notin-Operator, um sie in einem einzelnen Kriterium zu gruppieren, damit die Regel einfacher zu verstehen und auszuwerten ist. Verwenden Sie z. B. keine Regel wie:

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

Verwenden Sie besser eine Regel wie:

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

Vermeiden von redundanten Kriterien

Stellen Sie sicher, dass Sie keine redundanten Kriterien in Ihrer Regel verwenden. Verwenden Sie z. B. keine Regel wie:

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

Verwenden Sie besser eine Regel wie:

  • user.city -startswith "Lag"

Nächste Schritte