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 値をチェックし、空白以外のリテラル値を渡します。
スイッチ([ビジネスタイトル],[ビジネスタイトル],"","該当なし")
オプション 2: 関数 IgnoreFlowIfNullOrEmpty を使用して、オンプレミスの Active Directory/Microsoft Entra ID に送信されたペイロード内の空または null 属性を削除します。
IgnoreFlowIfNullOrEmpty([BusinessTitle])
一部の Workday 属性の更新が見つからない
適用対象:
- オンプレミスのActive DirectoryへのユーザープロビジョニングをWorkdayから行う
- 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) は一致する属性として使用できません。これは、Azure AD Graph API の $filter パラメーターが extensionAttributes によるフィルター処理をサポートしていない ためです。 |
| 解決 | 一致する属性ペアで Microsoft Entra ID OnPremisesExtensionAttributes (extensionAttributes1-15) を使用しないでください。 employeeID を使用します。 |
Microsoft Entra ID mail 属性の更新はサポートされていません
適用対象:
- Workday から Microsoft Entra へのユーザープロビジョニング
- SAP SuccessFactorsからMicrosoft Entraへのユーザー プロビジョニング
- Microsoft Entra ID における API 主導のプロビジョニング
| トラブルシューティング | 詳細 |
|---|---|
| 問題 | HR システムから mail 属性を Microsoft Entra ID にプロビジョニングするように構成しました。 プロビジョニング ログにはメール属性のレコードが表示されているにもかかわらず、メール属性の更新は機能していません。 |
| 原因 | Microsoft Entraへのプロビジョニング コネクタでは、ユーザー プロビジョニング中に mail 属性を設定することはサポートされていません。これは、この属性がオンラインMicrosoft Exchangeによって管理されるためです。 |
| 解決 | ユーザーを作成した後、Exchange Online ライセンスをユーザーに割り当てると、ユーザー プリンシパル名が電子メール アドレスとして自動的に設定されます。 メール属性を更新するには、Exchange Online ポータルまたは PowerShell を使用します。 |
Workday からの退職日フィールドの設定
適用対象:
- 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 で、「勤務最終日を過ぎた従業員」という名前のプロビジョニング グループを作成します。 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")`
SuccessFactors 終了処理の遅延
適用対象:
- オンプレミスのActive DirectoryへのSuccessFactorsのユーザープロビジョニング
- SuccessFactorsからMicrosoft Entra IDへのユーザー プロビジョニング
| トラブルシューティング | 詳細 |
|---|---|
| 問題 | 特定のシナリオでは、"アカウントの無効化" 操作として終了した雇用状態の伝達に遅延が発生する可能性があります。 これは、Microsoft Entraでのユーザー無効化機能がないためではなく、HR 主導のプロビジョニング中にリアルタイム ID ライフサイクルの変更がどのように検出されるかが原因です。 |
| 原因 | Microsoft Entraのプロビジョニング サービスは、ステートレス変更検出システムとして動作します。 変更を有効にする必要がある時点で、ソース システム (SAP SuccessFactors など) に依存して、終了が有効になるなどの時間ベースの変更イベントを生成します。 その後、プロビジョニング サイクルは、増分同期中にそれらのイベントを検出して処理します。 現在の日付の時点で終了が有効なシナリオでは、SuccessFactors は、ユーザーの雇用状態が変更された正確な時刻 (たとえば、営業日の終了時) に増分変更イベントを生成しない可能性があります。 その結果、Microsoft Entraプロビジョニングはポーリング サイクル中に検出可能な変更を受け取らないので、ソース システムで後続の更新が行われるまで "無効" アクションが遅延する可能性があります。 |
| 解決 | 決定論的でポリシーに基づいたオフボードをサポートするには、Microsoft Entra ID ガバナンスのライフサイクル ワークフローを使用します。 このモデルは、時間ベースのイベントではなく、状態に基づいています。
SuccessFactors の従業員の endDate を (たとえば、employeeLeaveDateTime 属性を使用して) Microsoft Entraに同期します。 その後、組織はディレクトリの状態から直接自動オフボード ワークフローをトリガーできます。人事システムでの増分変更検出とは無関係に、雇用終了日に達したときにアカウントを正確に無効にすることができます。 |
この方法では、次のことが可能になります。
- タイムリーで予測可能なユーザーのための退去手続き。
- 人事の意図に合わせたポリシー ベースの自動化。
- カスタム スクリプトまたは手動による介入への依存を減らしました。
- ハイブリッド ID とクラウド ID 全体の一元的なライフサイクル ガバナンス。
Lifecycle Workflows はMicrosoft Entra ID ガバナンスの一部であり、ディレクトリ内の権限のある ID 状態に基づいて joiner-mover-leaver ポリシーを適用するために特別に設計されています。