次の方法で共有


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 から Active Directory へのユーザー プロビジョニング アプリで広く使用されているため、次の手順には Workday アプリケーションのスクリーンショットが含まれています。 ただし、この構成は、ServiceNow、Salesforce、Dropbox などの 他のすべてのアプリでも使用できます。 この手順を正常に完了するには、まずアプリのアプリ プロビジョニングを設定する必要があります。 各アプリには独自の構成に関する記事があります。 たとえば、Workday アプリケーションを構成するには、「 チュートリアル: Workday から Microsoft Entra へのユーザー プロビジョニングを構成する」を参照してください。 SkipOutOfScopeDeletions は、テナント間同期では機能しません。

手順 1:プロビジョニング アプリのサービス プリンシパル ID (オブジェクト ID) を取得します

  1. Microsoft Entra 管理センターに、少なくともアプリケーション管理者としてサインインします。
  2. Entra ID>エンタープライズアプリにアクセスします。
  3. アプリケーションを選択し、プロビジョニング アプリの [プロパティ] セクションに移動します。 この例では、Workday を使用しています。
  4. [オブジェクト ID] フィールドの GUID 値をコピーします。 この値はアプリの ServicePrincipalId とも呼ばれ、Graph エクスプローラーの操作で使用されます。

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

  1. Microsoft Graph エクスプローラーを起動する

  2. [Microsoft でSign-In] ボタンを選択し、少なくとも アプリケーション管理者 ロールを持つユーザーとしてサインインします。

    Microsoft Graph Explorer サインインのスクリーンショット。

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

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

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

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

GET ジョブ クエリのスクリーンショット。

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

GET ジョブ応答のスクリーンショット。

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

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

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

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

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

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

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

PUT 要求のスクリーンショット。

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

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

PUT 応答のスクリーンショット。

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

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

[スコープ フィルターの追加] セクションを示すスクリーンショット。ユーザーの例が強調表示されています。

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