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) を取得します

ヒント

この記事の手順は、開始するポータルによって若干異なる場合があります。

  1. 少なくとも アプリケーション管理者 の権限で Microsoft Entra 管理センター にサインインします。

  2. ID>アプリケーション>エンタープライズ アプリケーション を参照します。

  3. アプリケーションを選択し、プロビジョニング アプリの [プロパティ] セクションに移動します。 この例では、Workday を使用しています。

  4. [オブジェクト ID] フィールドの GUID 値をコピーします。 この値はアプリの ServicePrincipalId とも呼ばれ、Graph Explorer の操作で使用されます。

    Screenshot of Workday App Service Principal ID.

手順 2:Microsoft Graph Explorer にサインインします

  1. Microsoft Graph Explorer を起動します

  2. [Microsoft アカウントでサインイン] ボタンをクリックし、Microsoft Entra グローバル管理者またはアプリ管理者の資格情報を使用してサインインします。

    Screenshot of Microsoft Graph Explorer Sign-in.

  3. サインインに成功すると、左側のペインにユーザー アカウントの詳細が表示されます。

手順 3:既存のアプリの資格情報と接続の詳細を取得します

Microsoft Graph エクスプローラーで、[servicePrincipalId] を手順 1 から抽出した ServicePrincipalId に置き換え、次の GET クエリを実行します。

   GET https://graph.microsoft.com/beta/servicePrincipals/[servicePrincipalId]/synchronization/secrets

Screenshot of GET job query.

応答をテキスト ファイルにコピーします。 それは、示されている JSON テキストのようになります。デプロイに固有の値が黄色で強調表示されています。 緑色で強調表示されている行を末尾に追加し、青色で強調表示されている Workday 接続パスワードを更新します。

Screenshot of GET job response.

マッピングに追加する JSON ブロックを次に示します。

{
  "key": "SkipOutOfScopeDeletions",
  "value": "True"
}

手順 4:SkipOutOfScopeDeletions フラグを使用して、シークレット エンドポイントを更新します

Graph エクスプローラーでコマンドを実行して、SkipOutOfScopeDeletions フラグを使用してシークレット エンドポイントを更新します。

URL で、[servicePrincipalId] を手順 1 で抽出した ServicePrincipalId に置き換えます。

   PUT https://graph.microsoft.com/beta/servicePrincipals/[servicePrincipalId]/synchronization/secrets

手順 3. で更新したテキストを [要求本文] にコピーします。

Screenshot of PUT request.

[クエリの実行] をクリックします。

出力は "Success – Status Code 204 (成功 - 状態コード 204)" になるはずです。 エラーが発生した場合は、アカウントに ServicePrincipalEndpoint に対する読み取りまたは書き込みアクセス許可があることを確認する必要がある場合があります。 このアクセス許可を見つけるには、エクスプローラーで [アクセス許可の変更] Graphクリックします。

Screenshot of PUT response.

手順 5:スコープ外のユーザーが無効になっていないことを確認します

特定のユーザーをスキップするようにスコープ規則を更新することで、このフラグが予期される動作になることをテストできます。 この例では、新しいスコープ規則を追加することによって、ID 21173 の従業員 (以前はスコープ内) を除外しています。

Screenshot that shows the

次のプロビジョニング サイクルでは、Microsoft Entra のプロビジョニング サービスによって、ユーザー 21173 がスコープから外れたことが識別されました。 SkipOutOfScopeDeletions プロパティが有効になっている場合、そのユーザーの同期規則に次のようなメッセージが表示されます。

Screenshot of scoping example.