Microsoft Entra ID で動的メンバーシップ グループのよりシンプルで効率的な規則を作成する
Microsoft Entra の一部である Microsoft Entra ID のエンジニアリング チームは、動的メンバーシップ グループに関連するインシデントのレポートと、そのメンバーシップ規則の処理時間を受信します。 報告される情報については、この記事で説明します。 この記事では、Microsoft が動的メンバーシップ グループの規則を簡素化するのに役立つ最も一般的な方法についても説明します。 よりシンプルで効率的なルールを使用すると、動的グループの処理時間が短縮されます。
動的メンバーシップ グループのメンバーシップ規則を記述する場合は、この記事の次の手順を実行して、可能な限り効率的な規則を確実に作成するようにします。
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
演算子を使用して 1 つの条件にグループ化し、ルールの評価を簡単にします。 例えば、次のようなルールを使用する代わりに:
(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
演算子を使用して 1 つの条件にグループ化し、ルールの理解と評価を簡単にします。 例えば、次のようなルールを使用する代わりに:
(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"