HR ユーザーの更新に関する問題のトラブルシューティング

Null 値と空の値が予期したとおりに処理されませんでした

適用対象:

  • Workday からオンプレミスの Active Directory へのユーザー プロビジョニング
  • Workday からの Microsoft Entra へのユーザー プロビジョニング
  • SAP SuccessFactors からオンプレミスの Active Directory へのユーザー プロビジョニング
  • SAP SuccessFactors からの Microsoft Entra へのユーザー プロビジョニング
トラブルシューティング 詳細
問題点 受信プロビジョニング アプリの構成は正しく行いました。 HR アプリから受け取っている値が null または空です。 プロビジョニング サービスによって、オンプレミスの Active Directory または Microsoft Entra ID の対応するターゲット属性値がクリアされると想定しています。 しかし、InvalidAttributeSyntax-LdapErr: The syntax is invalid. The parameter is incorrect. Error in attribute conversion operation, data 0, v3839 というエラー メッセージが表示され、この操作が失敗します。
原因 プロビジョニング サービスには、null 値を処理するための既定のロジックはありません。 プロビジョニング サービスは、ソース アプリから空の文字列を取得すると、その値を対象アプリに "その他" としてフローしようとします。 この場合、コネクタをプロビジョニングするオンプレミスの Active Directory では現在、空の文字列値の設定がサポートされないため、前述のエラーが表示されます。
解像度 プロビジョニングのログを確認します。 null 値または空の文字列値を受け取る、ターゲット Active Directory の属性を特定します。 該当する属性の属性マッピングを更新して、式マッピングを使用します。 推奨される解決方法をご覧ください。

推奨される解決方法

AD 属性 jobTitle にマッピングされている属性 BusinessTitle は、Workday では null または空である可能性があるとします。

  • オプション 1: 関数 Switch を使用して空の値または null 値かどうかを調べ、空白以外のリテラル値を渡します。

Switch([BusinessTitle],[BusinessTitle],"","N/A")

  • 方法 2: IgnoreFlowIfNullOrEmpty 関数を使用して、オンプレミスの Active Directory または Microsoft Entra ID に送信されるペイロード内の空の属性または null 属性を削除します。

    IgnoreFlowIfNullOrEmpty([BusinessTitle])

一部の Workday 属性の更新が見つからない

適用対象:

  • Workday からオンプレミスの Active Directory へのユーザー プロビジョニング
  • Workday からの Microsoft Entra へのユーザー プロビジョニング
トラブルシューティング 詳細
問題点 Workday 受信プロビジョニング アプリは正常に構成され、Workday テナント URL に正常に接続されています。 Workday からの特定の属性更新のフローに遅延が発生していること、または増分同期中に Workday からの属性変更が予想どおりに反映されない場合があることを確認しました。
原因 増分同期中、プロビジョニング アプリは Workday のトランザクション ログに対してプライマリ Worker エンティティの変更のクエリを実行し、Workday のトランザクション ログで追跡されている変更だけが処理されます。
設定の Workday 属性の変更が Workday のトランザクション ログで追跡されていない場合、Microsoft Entra ID はその変更を取得しません。 たとえば、LocalReference Workday 属性は既定の属性マッピングの一部であり、XPATH wd:Worker/wd:Worker_Data/wd:Employment_Data/wd:Position_Data/wd:Business_Site_Summary_Data/wd:Local_Reference/wd:ID[@wd:type='Locale_ID']/text() が含まれています。 この属性は、Business_Site_Summary_Data エンティティの一部です。 Workday のこの属性の値が変更されても、Workday のトランザクション ログには表示されません。 そのため、増分同期中にこの属性の新しい値が表示されるのは、同期間隔中にプライマリ Worker エンティティに関連付けられている属性も変更された場合に限られます。
解像度 特定の Workday 属性の変更が反映されないというこの動作が頻繁に発生する場合は、週 1 回または月 1 回の完全同期を定期的に実行することをお勧めします。

属性が見つからない

適用対象:

  • Workday からオンプレミスの Active Directory へのユーザー プロビジョニング
  • Workday からの Microsoft Entra へのユーザー プロビジョニング
  • Workday からオンプレミスの Active Directory へのユーザー プロビジョニング
  • SAP SuccessFactors からオンプレミスの Active Directory へのユーザー プロビジョニング
  • オンプレミスの Active Directory への API 駆動型プロビジョニング
トラブルシューティング 詳細
問題点 次のエラー コードが返されます: HybridSynchronizationActiveDirectoryCannotFindAttribute
原因 Active Directory スキーマの属性で属性名が見つかりませんでした。
解像度 プロビジョニング エージェントは、起動時にスキーマをキャッチするため、最近この属性を Active Directory に追加した場合は、プロビジョニング エージェントを再起動します。

extensionAttribute を使用したユーザー照合が機能しない

適用対象:

  • Workday からの Microsoft Entra へのユーザー プロビジョニング
  • SAP SuccessFactors からの Microsoft Entra へのユーザー プロビジョニング
トラブルシューティング 詳細
問題点 たとえば、Microsoft Entra ID の extensionAttribute3 を使用して従業員 ID を保存し、それを Workday の WorkerID または SuccessFactors の personIdExternal 属性にマップしてユーザーの照合を行うとします。 この構成では、プロビジョニング プロセスの照合手順が失敗します。 この問題は、ユーザーの作成と更新の両方に影響します。
原因 Azure AD Graph API$filter パラメーターでは、extensionAttributes によるフィルター処理はサポートされていないため、Microsoft Entra ID の OnPremisesExtensionAttributes (extensionAttributes1-15) を照合属性として使用することはできません。
解像度 照合属性のペアに Microsoft Entra ID の OnPremisesExtensionAttributes (extensionAttributes1-15) を使用しないでください。 employeeID を使用します。

Microsoft Entra ID メール属性の更新はサポートされていません

適用対象:

  • Workday からの Microsoft Entra へのユーザー プロビジョニング
  • SAP SuccessFactors からの Microsoft Entra へのユーザー プロビジョニング
  • Microsoft Entra ID への API 駆動型プロビジョニング
トラブルシューティング 詳細
問題点 人事システムから Microsoft Entra ID へのメール属性プロビジョニングを構成しました。 プロビジョニング ログにはメール属性のレコードが表示されているにもかかわらず、メール属性の更新は機能していません。
原因 Microsoft Entra へのプロビジョニング コネクタは、ユーザーの作成時にのみメール属性の設定をサポートしています。 ユーザーが作成されると、コネクタはメール アドレスの更新をサポートしません。
解像度 既存のユーザーのメール属性を更新するには、Exchange Online ポータルまたは PowerShell の使用を検討してください。

Workday からの Last Day of Work フィールドのプロビジョニング

適用対象:

  • Workday からオンプレミスの Active Directory へのユーザー プロビジョニング
  • Workday からの Microsoft Entra へのユーザー プロビジョニング
トラブルシューティング 詳細
問題点 プロビジョニング アプリで Workday の 'Last Day of Work' (StatusTerminationLastDayOfWork) 属性の属性マッピングを構成しました。 ただし、'Last Day of Work' の更新は退職日が有効になった後でのみ行われますが、この 'Last Day of Work' を退職日より前にフェッチしたいと考えています。
原因 Workday では、退職日が有効になった後でのみ、ワーカー プロファイルに 'Last Day of Work' フィールドが設定されます。 そのため、Workday プロビジョニング コネクタは、退職日より前に、この日付を事前に取得することができません。
解像度 Workday で、'Workers past Last Day of Work' という名前のプロビジョニング グループを作成します。 Workday に自動化を追加して、ワーカーの最終在籍日に達したときに、ユーザーがこのグループに割り当てられるようにします。 Microsoft Entra プロビジョニング ジョブで、Workday XPATH 属性を追加して、このグループ割り当てをフェッチします。
  • 例:
    `LastDayOfWorkWorkers = wd:Worker/wd:Worker_Data/wd:Account_Provisioning_Data/wd:Provisioning_Group_Assignment_Data[wd:Status='Assigned' and wd:Provisioning_Group=" Workers past Last Day of Work"]/wd:Provisioning_Group/text()`

属性マッピング ロジックで accountDisabled フラグに対してこのフィールドを使用します。

  • 例:
    `Switch([LastDayOfWorkWorkers], Switch([Active], , "1", "False", "0", "True"), 'Workers past Last Day of Work', "True")`

Workday の退職処理の遅延

適用対象:

  • Workday からオンプレミスの Active Directory へのユーザー プロビジョニング
  • Workday からの Microsoft Entra へのユーザー プロビジョニング
トラブルシューティング 詳細
問題点 増分同期中、アジア太平洋およびオーストラリア/ニュージーランド地域のワーカーの退職イベントの処理に 12 時間から 18 時間の遅延が発生する場合があります。 
原因 Workday Integration System User (ISU) アカウントは、常に太平洋タイム ゾーンに基づいてデータを取得します。 コネクタには現在、タイム ゾーンに固有の退職レコードを処理するための特別なクエリが実装されていません。
解像度 次の 2 つの回避策を使用できます。
  1. プロビジョニングをオンデマンドで使用して、特定のユーザーの退職イベントを処理します。

  2. Workday で、Terminated Workers という名前のプロビジョニング グループを作成します。 Workday で退職ビジネス プロセスを更新して、退職が発生したときにユーザーをこのグループに割り当てます。 Microsoft Entra プロビジョニング ジョブで、Workday XPATH 属性を追加して、このグループ割り当てをフェッチします。

  • 例:
    `TerminatedWorkers = wd:Worker/wd:Worker_Data/wd:Account_Provisioning_Data/wd:Provisioning_Group_Assignment_Data[wd:Status='Assigned' and wd:Provisioning_Group="Terminated Workers"]/wd:Provisioning_Group/text()`

属性マッピング ロジックで accountDisabled フラグに対してこのフィールドを使用します。

  • 例:
    `Switch([TerminatedWorkers], Switch([Active], , "1", "False", "0", "True"), "Terminated Workers", "True")`

次のステップ