Microsoft Entra ID でスコープから外れたユーザー アカウントの削除をスキップする
既定で Microsoft Entra のプロビジョニング エンジンは、スコープから外れたユーザーを論理的に削除するか無効化します。 ただし、Workday to AD User Inbound Provisioning などの特定のシナリオでは、この動作が予期されていない場合があり、この既定の動作をオーバーライドしたいことがあります。
この記事では、Microsoft Graph API と Microsoft Graph API エクスプローラーを使用して、スコープ外に出るアカウントの処理を制御するフラグ SkipOutOfScopeDeletions を設定する方法について説明します。
- SkipOutOfScopeDeletions が 0 (false) に設定されている場合、スコープ外に出たアカウントはターゲットで無効になります。
- SkipOutOfScopeDeletions が 1 (true) に設定されている場合、スコープ外に出たアカウントはターゲットで無効になりません。 このフラグは、プロビジョニング アプリのレベルで設定され、Graph API を使用して構成できます。
この構成は Workday to Active Directory User Provisioning アプリで広く使用されているため、次の手順には Workday アプリケーションのスクリーンショットが含まれています。 ただし、この構成は他のすべてのアプリ (ServiceNow、Salesforce、Dropbox など) でも使用できます。 この手順を正常に完了するには、まずアプリのアプリ プロビジョニングを設定する必要があります。 各アプリには独自の構成に関する記事があります。 たとえば、Workday アプリケーションを構成するには、チュートリアル: Workday から Microsoft Entra へのユーザー プロビジョニングの構成に関する説明を参照してください。 SkipOutOfScopeDeletions は、テナント間の同期では機能しません。
手順 1:プロビジョニング アプリのサービス プリンシパル ID (オブジェクト ID) を取得します
ヒント
この記事の手順は、開始するポータルによって若干異なる場合があります。
- アプリケーション管理者以上の権限で Microsoft Entra 管理センターにサインインします。
- [ID]>[アプリケーション]>[エンタープライズ アプリケーション] の順に移動します。
- アプリケーションを選択し、プロビジョニング アプリの [プロパティ] セクションに移動します。 この例では、Workday を使用しています。
- [オブジェクト ID] フィールドの GUID 値をコピーします。 この値はアプリの ServicePrincipalId とも呼ばれ、Graph Explorer の操作で使用されます。
手順 2:Microsoft Graph Explorer にサインインします
Microsoft Graph Explorer を起動します
[Microsoft アカウントでサインイン] ボタンを選択し、少なくともアプリケーション管理者ロールを持つユーザーとしてサインインします。
サインインに成功すると、左側のペインにユーザー アカウントの詳細が表示されます。
手順 3:既存のアプリの資格情報と接続の詳細を取得します
Microsoft Graph エクスプローラーで、[servicePrincipalId] を手順 1 から抽出した ServicePrincipalId に置き換え、次の GET クエリを実行します。
GET https://graph.microsoft.com/beta/servicePrincipals/[servicePrincipalId]/synchronization/secrets
応答をテキスト ファイルにコピーします。 それは、示されている JSON テキストのようになります。デプロイに固有の値が黄色で強調表示されています。 緑色で強調表示されている行を末尾に追加し、青色で強調表示されている Workday 接続パスワードを更新します。
マッピングに追加する JSON ブロックを次に示します。
{
"key": "SkipOutOfScopeDeletions",
"value": "True"
}
手順 4:SkipOutOfScopeDeletions フラグを使用して、シークレット エンドポイントを更新します
Graph エクスプローラーでコマンドを実行して、SkipOutOfScopeDeletions フラグを使用してシークレット エンドポイントを更新します。
URL で、[servicePrincipalId] を手順 1 で抽出した ServicePrincipalId に置き換えます。
PUT https://graph.microsoft.com/beta/servicePrincipals/[servicePrincipalId]/synchronization/secrets
手順 3. で更新したテキストを [要求本文] にコピーします。
[クエリの実行] をクリックします。
出力は "Success – Status Code 204 (成功 - 状態コード 204)" になるはずです。 エラーが発生した場合は、アカウントに ServicePrincipalEndpoint に対する読み取りまたは書き込みアクセス許可があることを確認する必要がある場合があります。 このアクセス許可を見つけるには、エクスプローラーで [アクセス許可の変更] Graphクリックします。
手順 5:スコープ外のユーザーが無効になっていないことを確認します
特定のユーザーをスキップするようにスコープ規則を更新することで、このフラグが予期される動作になることをテストできます。 この例では、新しいスコープ規則を追加することによって、ID 21173 の従業員 (以前はスコープ内) を除外しています。
次のプロビジョニング サイクルでは、Microsoft Entra のプロビジョニング サービスによって、ユーザー 21173 がスコープから外れたことが識別されました。 プロパティが SkipOutOfScopeDeletions
有効になっている場合、そのユーザーの同期規則にメッセージが表示されます。