属性値のクリア (プレビュー)

Microsoft Entraプロビジョニングでは、対応するソース属性が null または空の場合に、既存のターゲット属性値をクリアできます。 "null 値のプロビジョニング" とも呼ばれるこの機能は、レコードのシステムから値が削除され、対応する値もターゲット システムから削除する必要がある場合に便利です。

Note

属性値のクリアは現在プレビュー段階です。 プレビューに適用される条件に基づき、お客様がプレビューを利用できるようにします。 これらの用語は、 オンライン サービスに関する Microsoft 製品の用語全体で概説されています。

属性値をクリアするための構成は、サポートされているプロビジョニング統合全体で一貫しています。 ただし、ソース スキーマ エディターとソース システムが null 値を表す方法は、統合によって異なる場合があります。

プレビューのスコープと制限事項

  • 属性値のクリアは、プレビューで次の目的で利用できます。
    • Microsoft Entra IDとオンプレミスの Active Directoryへの API 主導の受信プロビジョニング。
    • Workday から Microsoft Entra ID とオンプレミス Active Directory への受信型ユーザー プロビジョニング。
    • SAP SuccessFactors から Microsoft Entra ID とオンプレミスの Active Directory へのインバウンド ユーザー プロビジョニング
  • 属性値のクリアは、単一値属性でのみサポートされます。
  • この機能は、 カスタム セキュリティ属性のプロビジョニングに対して有効にすることができます。
  • 現在、Workday ライトバックや SAP SuccessFactors ライトバックなどの送信アプリケーション プロビジョニング シナリオでは、属性値のクリアはサポートされていません。
  • 複数値属性のクリアはサポートされていません。

属性値のクリア方法

属性値のクリアは既定で無効になっており、オプトイン機能です。 属性値をクリアするには、2 ゲートセーフガード メカニズムを使用して、偶発的なデータ損失を防ぎます。 ソース属性とそれに対応するターゲット マッピングの両方に対して、 オプション Flow null 値 を有効にする必要があります。

ソース値 クリアが有効な場合の結果
属性には空でない値があります。 プロビジョニング サービスは、構成された属性マッピングを使用して値を評価します。
属性に null または空の値があります。 更新中、プロビジョニング サービスは、マップされたターゲット属性から既存の値をクリアします。
API 駆動型のプロビジョニングでは、null フローが有効になっている属性を省略するとします。 更新中、プロビジョニング サービスは属性を空として扱い、マップされた既存のターゲット値をクリアします。

ユーザーの作成時に、null、空、または省略されたソース値は、 null の場合に既定値を構成しない限り、ターゲット属性を設定しません。 既定値は作成時にのみ適用されます。 更新中、プロビジョニング サービスは、作成時の既定値を適用するのではなく、ターゲット値をクリアします。

Note

空または null のソース値が既存のターゲット値を削除する必要がある属性に対してのみ、属性値のクリアを構成します。 ユーザーの照合または作成に必要な属性に対しては有効にしないでください。

前提条件

開始する前に次の点を確認します。

  • 少なくとも アプリケーション管理者 ロールがあります。
  • プロビジョニング アプリケーションとその属性マッピングを構成しました。
  • ソース属性はプロビジョニング アプリケーション スキーマに存在し、ターゲット属性マッピングがあります。 詳細については、「Microsoft Entra属性マッピングのカスタマイズ」を参照してください。

オンプレミスの Active Directory への API 駆動型インバウンド プロビジョニングでは、追加のロールとサーバーの前提条件を確認してから、プロビジョニング エージェントと Active Directory 接続を構成します。

HR ドリブン プロビジョニングの場合は、まず、サポートされている受信プロビジョニング アプリのいずれかを構成します。

ソース属性の null 値フローを有効にする

まず、null 値をフローするようにソース スキーマ属性を構成します。 ソース スキーマ エディターの名前は、プロビジョニング統合によって異なります。

  1. 少なくともアプリケーション管理者としてMicrosoft Entra 管理センターにサインインします。
  2. Entra ID>エンタープライズアプリケーションに移動します。
  3. プロビジョニング アプリケーションを検索して選択します。
  4. プロビジョニング>属性マッピング を選択します。
  5. 構成するオブジェクトの属性マッピングを開きます。
  6. [ 詳細オプション] を展開し、ソース属性リストを編集するオプションを選択します。 オプション名は、ソース システムまたはコネクタを識別します。
  7. [フローの null 値] 列で、マッピングされたターゲット属性をクリアできる各ソースの属性のチェック ボックスをオンにします。
  8. 保存を選びます。

ターゲット マッピングで null 値フローを有効にする

次に、対応する各ターゲット属性マッピングに対して null 値フローを有効にします。

  1. [属性マッピング] ページに戻ります。
  2. クリアするターゲット属性のマッピングを選択します。
  3. フローの null 値 を選択します。
  4. [ OK] を 選択してマッピング エディターを閉じます。
  5. [ 保存] を 選択して属性マッピングを保存します。
  6. null 値を受け入れる必要があるすべてのターゲット属性に対して、これらの手順を繰り返します。

両方の設定が必要です。 ソース スキーマ属性またはターゲット マッピングに対して Flow の null 値 が選択されていない場合、プロビジョニング サービスはターゲット属性をクリアするために null または空のソース値を使用しません。

API 駆動型のプロビジョニングの例

次の例では、API ドリブンの受信プロビジョニングを構成して属性値をクリアし、 /bulkUpload 要求で null または空の値を送信する方法を示します。

ソース スキーマで null 値フローを有効にする

API ドリブン プロビジョニングの場合は、[ 詳細オプション] を展開し、[ API ユーザー属性の編集] を選択します。 [フローの null 値] 列を見つけて、null または空の値を送信できるソース属性を選択します。 次の例では、SCIM 拡張属性のdivisionとdepartmentに対して Flow null 値が有効になっています。 この設定は、これらの属性の null 値または空の値を処理し、null フローのターゲット属性マッピングを評価するようにプロビジョニング サービスに指示します。

API ユーザー属性スキーマの [Flow null values] 列が強調表示されているスクリーンショット。

division 属性と department 属性で Flow の null 値が選択されている API ユーザー属性のスクリーンショット。

Note

ソース属性でのみオプションを有効にしても、ターゲット値はクリアされません。次のセクションで説明するように、ターゲット マッピングでは null 値フローも許可する必要があります。

ターゲット マッピングで null 値フローを有効にする

対応する各ターゲット属性マッピングを開き、[ フローの null 値] を選択します。 次の例では、ソース SCIM 拡張属性departmentをActive Directory属性departmentにマップし、フローの null 値を有効にして、ソース SCIM 属性が null または空の場合、department属性値がActive Directoryでクリアされるようにします。

Flow null 値が選択されている属性マッピングのスクリーンショット。

null または空の値を送信する

/bulkUpload要求に属性を含め、その値を JSON nullまたは空の文字列に設定します。

Important

API 駆動型プロビジョニングの場合、 Flow null 値 を有効にすると、部分ペイロードの処理方法が変わります。 たとえば、null フローが有効になっているソース属性を省略すると、プロビジョニング サービスはマップされたターゲット値をクリアします。 したがって、不完全または部分的なソース ペイロードは、既存の属性値を意図せずにクリアする可能性があります。 ベスト プラクティスとして、完全同期と差分同期の両方について、すべての一括要求に完全なソース ユーザー レコードを含め、明示的な JSON null または空の文字列を使用して確定的なクリアを要求します。

次の抜粋は、一致したユーザーの既存の department と division 値をクリアします。

{
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:BulkRequest"
  ],
  "Operations": [
    {
      "method": "POST",
      "bulkId": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee",
      "path": "/Users",
      "data": {
        "schemas": [
          "urn:ietf:params:scim:schemas:core:2.0:User",
          "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
        ],
        "externalId": "701984",
        "userName": "bjensen@example.com",
        "urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
          "department": null,
          "division": ""
        }
      }
    }
  ],
  "failOnErrors": null
}

プロビジョニング アプリ スキーマのソース属性名を使用します。 externalIdなど、構成に必要な一致する属性が要求に含まれていることを確認します。

要求を送信する手順については、「Graph Explorer を使用した API 主導の受信プロビジョニングのクイック スタート 」または cURL を使用した API 駆動型受信プロビジョニングのクイック スタートを参照してください。

Workday と SAP SuccessFactors のプロビジョニング

Workday と SAP SuccessFactors の受信プロビジョニングの場合、コネクタはプロビジョニング サイクル中に HR システムから属性値を直接取得します。 属性値をクリアする /bulkUpload 要求は送信しません。

  1. ソース属性の null 値フローを有効にするの手順に従います。
  2. [ 詳細オプション] で、[ Workday の属性リストの編集] または [SuccessFactors の属性リストの編集] を選択します。
  3. マップされたターゲット 値を 削除する必要がある null または空の値を持つソース属性ごとに、フローの null 値のみを選択します。
  4. 対応する各ターゲット属性の ターゲット マッピングで null 値フローを有効にする の手順に従います。
  5. Workday または SAP SuccessFactors の値をクリアします。
  6. 次のプロビジョニング サイクルでソースの変更を処理するか、 オンデマンドでプロビジョニング を使用して特定のユーザーをテストできるようにします。

Workday は XPath 式を使用し、SAP SuccessFactors は JSONPath 式を使用してソース属性を取得します。 プロビジョニング サービスが null または空の値を評価するには、この属性がプロビジョニング アプリ スキーマに存在し、コネクタによって取得される必要があります。

Note

増分同期中、Workday はトランザクション ログに記録された変更のみを返します。 ソース属性の変更が検出されない場合は、「 一部の Workday 属性の更新が見つからない」を参照してください。

null 値または空の値が、値をクリアする代わりにフォールバック値で補完されるか、既存のターゲット値を保持する必要がある場合は、「HR ユーザー更新の問題のトラブルシューティング」を参照してください。

属性がクリアされたことを確認する

プロビジョニング サービスがソースの更新を処理した後、プロビジョニング ログとターゲット ディレクトリの結果を確認します。

  1. プロビジョニング アプリで、[ プロビジョニング ログ] を選択します。

  2. ユーザーのプロビジョニング イベントを開きます。

  3. [ 変更されたプロパティ ] タブを選択します。

  4. ターゲット属性に空の新しい値が表示されていることを確認します。

    会社と部署の空の新しい値を示す変更されたプロパティのスクリーンショット。

  5. 属性がターゲット システムのオブジェクトに値を持たなくなったことを確認します。

このオンプレミスの Active Directory例では、API ソース属性divisionターゲット属性companyにマップされます。 オンプレミスの Active Directoryの場合、プロビジョニング サービスは空の文字列を書き込む代わりに属性値を削除します。

属性値のクリアに関するトラブルシューティング

ターゲット属性がクリアされない場合は、次のガイダンスを使用します。

Issue Resolution
null または空の値は無視されます。 ソース スキーマ属性とターゲット マッピングの両方に対して Flow の null 値 が選択されていることを確認します。
間違ったターゲット属性がクリアされます。 属性マッピングを確認し、ソース属性が予想されるターゲット属性にマップされていることを確認します。
ソースでは、null の代わりにプレースホルダー値が使用されます。 プレースホルダーではなく null または空の値を返すようにソース統合を構成するか、プロビジョニングする前にプレースホルダーを変換します。
API 駆動型のプロビジョニング要求では、属性はクリアされません。 明示的な JSON null または空の文字列値を使用します。 子属性の省略に依存する場合は、含まれている複雑なオブジェクトまたはコレクション要素がペイロードに残っていることを確認します。 また、ペイロード一致属性によって既存のターゲット ユーザーが識別されることを確認します。
API 駆動型のプロビジョニング要求によって、属性が予期せずクリアされます。 属性がペイロードから省略されていないことを確認します。 既存のターゲット値を保持したい場合は、その現在の空でない値を含めてください。
Workday または SAP SuccessFactors の変更では、属性はクリアされません。 HR コネクタがソースの変更を取得したことを確認します。 オンデマンドでプロビジョニングを使用してユーザーをテストし、コネクタから返されたソース値のプロビジョニング ログを確認します。

次のステップ