Microsoft Entra プロビジョニング サービスでスコープ フィルターを使用して、属性ベースのルールを定義する方法について説明します。 ルールは、プロビジョニングされるユーザーまたはグループを決定するために使用されます。
スコープ フィルターの使用例
スコープ フィルターを使用して、自動ユーザー プロビジョニングをサポートするアプリケーション内のオブジェクトが、ビジネス要件を満たしていないのにプロビジョニングされてしまうことを防ぎます。 スコープ フィルターを使用すると、特定の値に一致する属性を持つユーザーを含めたり除外したりできます。 たとえば、営業チームが利用する SaaS アプリケーションに Microsoft Entra ID からユーザーをプロビジョニングするとき、"Sales" の "Department" 属性を持つユーザーのみがプロビジョニングの範囲に入るように指定できます。
スコープ フィルターは、プロビジョニング コネクタの種類によって異なる方法で使用できます。
Microsoft Entra ID から SaaS アプリケーションへの外部プロビジョニング。 Microsoft Entra ID がソース システムである場合、 ユーザーとグループの割り当ては 、プロビジョニングのスコープ内のユーザーを決定するための最も一般的な方法です。 ユーザーとグループの割り当てはシングル サインオンの有効化にも利用され、1 つの方法でアクセスとプロビジョニングを管理できます。 スコープ フィルターを割り当てに加えて (任意で)、あるいは割り当ての代わりに利用し、属性値に基づいてユーザーを絞り込むことができます。
ヒント
プロビジョニングのスコープ内のユーザーとグループが多いほど、同期プロセスにかかる時間が長くなります。 割り当てられたユーザーとグループを同期するスコープを設定し、アプリに割り当てられているグループの数を制限し、グループのサイズを制限すると、スコープ内のすべてのユーザーを同期するのにかかる時間が短縮されます。
HCM アプリケーションから Microsoft Entra ID と Active Directory への受信プロビジョニング。 Workday などの HCM アプリケーションがソース システムである場合、スコープ フィルターは、HCM アプリケーションから Active Directory または Microsoft Entra ID にプロビジョニングする必要があるユーザーを決定するための主要な方法です。
既定では、Microsoft Entra プロビジョニング コネクタには属性ベースのスコープ フィルターは構成されていません。
Microsoft Entra ID がソース システムである場合、 ユーザーとグループの割り当ては 、プロビジョニングのスコープ内のユーザーを決定するための最も一般的な方法です。 スコープ内のユーザー数を減らすとパフォーマンスが改善されます。また、すべてのユーザーとグループを同期するのではなく、割り当てられたユーザーとグループを同期することをお勧めします。
スコープ フィルターは、割り当てによるスコープに加えて、必要に応じて使用できます。 スコープ フィルターを利用すると、ユーザーに特定の値に一致する属性が与えられているとき、そのユーザーを Microsoft Entra プロビジョニング サービスに追加したり、除外したりできます。 たとえば、営業チームのユーザーをプロビジョニングする場合、"Sales" の "Department" 属性を持つユーザーのみをプロビジョニングのスコープに入れるように指定できます。
スコープ フィルターの構造
スコープ フィルターは、1 つ以上の句で構成 されます。 句は、各ユーザーの属性を評価することによって、スコープ フィルターを通過できるユーザーを決定します。 たとえば、ユーザーの "State" 属性が New York と等しいことを求める句が指定されていると、New York 在住のユーザーのみがアプリケーションにプロビジョニングされます。
1 つの句は、1 つの属性値の 1 つの条件を定義します。 1 つのスコープ フィルターに複数の句が作成されている場合、"AND" ロジックでまとめて評価されます。 つまり、"AND" ロジックでは、ユーザーをプロビジョニングするには、すべての句の評価結果が "true" になる必要があります。
最後に、複数のスコープ フィルターを 1 つのアプリケーションに対して作成できます。 複数のスコープ フィルターがある場合は、"OR" ロジックでまとめて評価されます。 つまり、"OR" ロジックでは、いずれかのスコープ フィルターのすべての句の評価結果が "true" であれば、そのユーザーがプロビジョニングされます。
Microsoft Entra プロビジョニング サービスによって処理される各ユーザーまたはグループは常に個別に各スコープ フィルターに対して評価されます。
例として、次のスコープ フィルターを検討します。
このスコープ フィルターに従うと、ユーザーをプロビジョニングするには、そのユーザーは次の条件を満たす必要があります。
- New York 在住である。
- エンジニアリング部門で働いている。
- 社員 ID の番号が 1,000,000 から 2,000,000 までに入る。
- 役職が null でも空でもない。
スコープ フィルターを作成する
スコープ フィルターは各 Microsoft Entra ユーザー プロビジョニング コネクタの属性マッピングで設定されます。 次の手順では、 サポートされているアプリケーションの 1 つに 対して自動プロビジョニングを既に設定しており、スコープ フィルターを追加していることを前提としています。
スコープ フィルターを作成する
- Microsoft Entra 管理センターに、少なくともアプリケーション管理者としてサインインします。
Entra ID>Enterprise アプリ>すべてのアプリケーションを参照します。
自動プロビジョニングを設定しているアプリケーションを選択します (例: "ServiceNow")。
Entra ID>エクスターナルアイデンティティ>クロステナント同期>設定 にアクセスします
構成を選択します。
- [プロビジョニング] タブ を 選択します。
- [ マッピング ] セクションで、スコープ フィルターを構成するマッピング ("Microsoft Entra ユーザーを ServiceNow に同期する" など) を選択します。
- [ マッピング ] セクションで、スコープ フィルターを構成するマッピング ("Microsoft Entra ユーザーのプロビジョニング" など) を選択します。
[ソース オブジェクト スコープ] メニューを選択します。
[ スコープ フィルターの追加] を選択します。
ソース 属性名、 演算子、および照合する 属性値 を選択して、句を定義します。 次の演算子がサポートされています。
ある。
& 評価された属性が入力文字列値に存在する場合、句は "true" を返します。b。 !>。 評価された属性が入力文字列値に存在しない場合、句は "true" を返します。
c. で終わる。 評価された属性が入力文字列値で終わる場合、句は "true" を返します。
d. EQUALS。 評価される属性が (大文字と小文字の区別を含めて) 入力文字列値と完全に一致する場合、句は "true" を返します。
え Greater_Than。 評価される属性が値よりも大きい場合、句は "true" を返します。 スコープ フィルターに指定する値は整数である必要があり、ユーザーの属性は整数 [0,1,2,...] である必要があります。
f. Greater_Than_OR_EQUALS。 評価された属性が値以上の場合、句は "true" を返します。 スコープ フィルターに指定する値は整数である必要があり、ユーザーの属性は整数 [0,1,2,...] である必要があります。
ジー Includes。 ここで説明するように、評価された属性に文字列値 (大文字と小文字が区別される) が含まれている場合、句は "true" を返します。
h. 偽である。 評価される属性にブール値 false が含まれる場合、句は "true" を返します。
一. NULL ではありません。 評価される属性が空でない場合、句は "true" を返します。
j. IS NULL。 評価される属性が空の場合、句は "true" を返します。
ケー は TRUE です。 評価される属性にブール値 true が含まれる場合、句は "true" を返します。
l. 等しくない。 評価される属性が (大文字と小文字の区別を含めて) 入力文字列値と一致しない場合、句は "true" を返します。
m. REGEX 一致しません。 評価される属性が正規表現パターンと一致しない場合、句は "true" を返します。 属性が null または空の場合、"false" が返されます。
n. REGEX MATCH。 評価される属性が正規表現パターンと一致する場合、句は "true" を返します。 例:
([1-9][0-9])
は、10 から 99 の任意の数値に一致します (大文字と小文字が区別されます)。
重要
- IsMemberOf フィルターは現在サポートされていません。
- 現在、グループの members 属性はサポートされていません。
- フィルター処理は複数値の属性ではサポートされていません。
- 値が null または空の場合、スコープ フィルターは "false" を返します。
必要に応じて、手順 7 ~ 8 を繰り返してスコープ句を追加します。
スコープ フィルターのタイトルで、スコープ フィルターの名前を追加します。
[ OK] を選択します。
[スコープ フィルター] 画面でもう一度 [OK] を選択します。 必要に応じて、手順 6 ~ 11 を繰り返して別のスコープ フィルターを追加します。
[属性マッピング] 画面で [保存] を選択します。
重要
新しいスコープ フィルターを保存すると、アプリケーションの完全同期が新たに開始されます。ソース システムのすべてのユーザーが新しいスコープ フィルターに対してもう一度評価されます。 アプリケーションのユーザーが以前はプロビジョニングの範囲に入っていたが、範囲から外れた場合、アプリケーションでそのアカウントが無効になるか、プロビジョニングが解除されます。 この既定の動作をオーバーライドするには、「 スコープ外のユーザー アカウントの削除をスキップする」を参照してください。
一般的なスコープ フィルター
ターゲット属性 | 演算子 | 値 | 説明 |
---|---|---|---|
ユーザープリンシパル名 | 正規表現マッチ | .*\@___domain.com |
ドメイン userPrincipal を持つ @___domain.com のすべてのユーザーがプロビジョニングの範囲内になります。 |
ユーザープリンシパル名 | 正規表現が一致しない | .*\@___domain.com |
ドメイン userPrincipal を持つ @___domain.com のすべてのユーザーがプロビジョニングの範囲外になります。 |
部門 | イコール | sales |
営業部門のすべてのユーザーは、プロビジョニングの範囲内です |
労働者ID | 正規表現マッチ | (1[0-9][0-9][0-9][0-9][0-9][0-9]) |
1000000 と 2000000 の間の workerID を持つすべての従業員は、プロビジョニング範囲内です。 |