Membuat aturan yang lebih sederhana dan lebih efisien untuk grup dinamis di Azure Active Directory

Tim untuk Azure Active Directory (Azure AD), bagian dari Microsoft Entra, menerima laporan insiden yang terkait dengan grup dinamis dan waktu pemrosesan untuk aturan keanggotaan mereka. Artikel ini menggunakan informasi yang dilaporkan untuk menyajikan metode yang paling umum di mana tim teknik kami membantu pelanggan menyederhanakan aturan keanggotaan mereka. Aturan yang lebih sederhana dan lebih efisien menghasilkan waktu pemrosesan grup yang lebih dinamis. Saat menulis aturan keanggotaan untuk grup dinamis, ikuti langkah-langkah ini untuk memastikan bahwa aturan diatur seefisien mungkin.

Meminimalkan penggunaan MATCH

Minimalkan penggunaan operator match dalam aturan sebanyak mungkin. Sebagai gantinya, telusuri apakah memungkinkan untuk menggunakan operator contains, startswith, atau -eq. Mempertimbangkan untuk menggunakan properti lainnya yang memungkinkan Anda menulis aturan untuk memilih pengguna yang ingin Anda masukkan ke dalam grup tanpa menggunakan operator -match. Misalnya, jika Anda menginginkan aturan untuk grup untuk semua pengguna berada di kota Lagos, maka alih-alih menggunakan aturan seperti:

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

Sebaiknya gunakan aturan seperti:

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

Atau, yang terbaik dari semuanya:

  • user.city -eq "Lagos"

Gunakan lebih sedikit operator OR

Dalam aturan Anda, identifikasi kapan menggunakan berbagai nilai untuk properti yang sama yang ditautkan bersama dengan operator -or. Sebagai gantinya, gunakan operator -in untuk mengelompokkannya ke dalam satu kriteria untuk membuat aturan lebih mudah dievaluasi. Misalnya, alih-alih memiliki aturan seperti ini:

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

Lebih baik memiliki aturan seperti ini:

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

Sebaliknya, identifikasi sub kriteria serupa dengan properti yang sama yang tidak setara dengan berbagai nilai, yang ditautkan dengan operator -and. Kemudian gunakan operator -notin untuk mengelompokkan mereka ke dalam satu kriteria untuk membuat aturan lebih mudah dipahami dan dievaluasi. Misalnya, alih-alih menggunakan aturan seperti ini:

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

Sebaiknya gunakan aturan seperti ini:

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

Menghindari kriteria redundan

Pastikan Anda tidak menggunakan kriteria redundan dalam aturan Anda. Misalnya, alih-alih menggunakan aturan seperti ini:

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

Sebaiknya gunakan aturan seperti ini:

  • user.city -startswith "Lag"

Langkah berikutnya