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 属性 BusinessTitle にマッピングされている属性 jobTitle は、Workday では null または空である可能性があるとします。
- オプション 1: 関数 Switch を使用して、空または null 値をチェックし、空白以外のリテラル値を渡します。
スイッチ([ビジネスタイトル],[ビジネスタイトル],"","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 属性にマップするとします。 この構成では、プロビジョニング プロセスの照合手順が失敗します。 この問題は、ユーザーの作成と更新の両方に影響します。 |
| 原因 | Microsoft Entra ID OnPremisesExtensionAttributes (extensionAttributes1-15) は、$filter の パラメーターが extensionAttributes によるフィルター処理をサポートしていないため、一致する属性として使用できません。 |
| 解決 | 一致する属性ペアで 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 へのプロビジョニング コネクタでは、この属性は Microsoft Exchange Online によって管理されるため、ユーザー プロビジョニング中の メール 属性の設定はサポートされていません。 |
| 解決 | ユーザーを作成した後、Exchange Online ライセンスをユーザーに割り当てると、ユーザー プリンシパル名が電子メール アドレスとして自動的に設定されます。 メール属性を更新するには、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 つの回避策を使用できます。 |
プロビジョニングをオンデマンドで使用して、特定のユーザーの退職イベントを処理します。
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")`