Microsoft Entra プロビジョニングと Workday を統合する方法

ユーザーの ID のライフ サイクルを管理するために、Microsoft Entra ユーザー プロビジョニング サービスWorkday HCM を統合します。 Microsoft Entra ID では、次の 3 つの統合があらかじめ構築されています。

この記事では、統合のしくみと、さまざまな HR シナリオでプロビジョニング動作をカスタマイズする方法について説明します。

接続の確立

Microsoft Entra エンドポイントへの Workday API アクセスを制限する

Microsoft Entra プロビジョニング サービスでは、基本認証を使用して Workday Web サービス API エンドポイントに接続します。

Microsoft Entra プロビジョニング サービスと Workday の間の接続をさらにセキュリティで保護するため、指定された統合システム ユーザーが許可された Microsoft Entra の IP 範囲からのみ Workday API にアクセスするように、アクセスを制限できます。 Workday 管理者と協力しながら、Workday テナントで次の構成を完了します。

  1. Azure パブリック クラウドの最新の IP 範囲をダウンロードします。

  2. ファイルを開き、Microsoft Entra ID タグを検索します

    Microsoft Entra IP range

  3. addressPrefixes 要素内に列記されているすべての IP アドレス範囲をコピーし、その範囲を使用して IP アドレス リストを作成します。

  4. Workday 管理ポータルにサインインします。

  5. [IP 範囲の管理] タスクにアクセスして、Azure データセンターの新しい IP 範囲を作成します。 IP 範囲 (CIDR 表記を使用) をコンマ区切りのリストとして指定します。

  6. [認証ポリシーの管理] タスクにアクセスして、新しい認証ポリシーを作成します。 認証ポリシーで、認証許可リストを使用して、Microsoft Entra の IP 範囲と、この IP 範囲からのアクセスを許可するセキュリティ グループを指定します。 変更を保存します。

  7. [保留中のすべての認証ポリシーの変更をアクティブ化] タスクにアクセスして、変更を確認します。

制約付きセキュリティ グループを使用して Workday のワーカー データへのアクセスを制限する

Workday 統合システムユーザーを構成する既定の手順では、Workday テナントのすべてのユーザーを取得するためのアクセス権が付与されます。 特定の統合シナリオでは、アクセスを制限することができます。 たとえば、Get_Workers API 呼び出しからは、特定の監督組織内のユーザーのみを返します。

Workday 管理者と協力して制約付きの統合システム セキュリティ グループを構成することで、アクセスを制限することができます。 Workday の詳細については、「Workday コミュニティ」を参照してください ("この記事では、Workday コミュニティへのアクセスが必要です")。

このように制約付きの ISSG (統合システム セキュリティ グループ) を使用してアクセスを制限する戦略は、次のシナリオで役立ちます。

  • フェーズ ロールアウトのシナリオ:大規模な Workday テナントがあり、Workday から Microsoft Entra ID への自動プロビジョニングを段階的にロールアウトする予定である。 このシナリオでは、Microsoft Entra ID スコープ フィルターを使用して現在のフェーズのスコープに含まれないユーザーを除外するのではなく、スコープ内のワーカーだけが Microsoft Entra ID に表示されるように制約付きの ISSG を構成することをお勧めします。
  • 複数のプロビジョニング ジョブのシナリオ:大規模な Workday テナントと、それぞれ異なる事業単位/部門/会社をサポートする複数の AD ドメインがある。 このトポロジをサポートするには、複数の Workday から Microsoft Entra へのプロビジョニング ジョブを実行し、各ジョブで特定のワーカー セットをプロビジョニングします。 このシナリオでは、Microsoft Entra ID スコープ フィルターを使用してワーカー データを除外するのではなく、関連するワーカー データだけが Microsoft Entra ID に表示されるように制約付き ISSG を構成することをお勧めします。

Workday テスト接続クエリ

Workday への接続をテストするため、次の Get_Workers Workday Web サービス要求が Microsoft Entra ID によって送信されます。

<!-- Test connection query tries to retrieve one record from the first page -->
<!-- Replace version with Workday Web Services version present in your connection URL -->
<!-- Replace timestamps with the UTC time corresponding to the test connection event -->
<Get_Workers_Request p1:version="v21.1" xmlns:p1="urn:com.workday/bsvc" xmlns="urn:com.workday/bsvc">
  <p1:Request_Criteria>
    <p1:Transaction_Log_Criteria_Data>
      <p1:Transaction_Date_Range_Data>
        <p1:Updated_From>2021-01-19T02:28:50.1491022Z</p1:Updated_From>
        <p1:Updated_Through>2021-01-19T02:28:50.1491022Z</p1:Updated_Through>
      </p1:Transaction_Date_Range_Data>
    </p1:Transaction_Log_Criteria_Data>
    <p1:Exclude_Employees>true</p1:Exclude_Employees>
    <p1:Exclude_Contingent_Workers>true</p1:Exclude_Contingent_Workers>
    <p1:Exclude_Inactive_Workers>true</p1:Exclude_Inactive_Workers>
  </p1:Request_Criteria>
  <p1:Response_Filter>
    <p1:As_Of_Effective_Date>2021-01-19T02:28:50.1491022Z</p1:As_Of_Effective_Date>
    <p1:As_Of_Entry_DateTime>2021-01-19T02:28:50.1491022Z</p1:As_Of_Entry_DateTime>
    <p1:Page>1</p1:Page>
    <p1:Count>1</p1:Count>
  </p1:Response_Filter>
  <p1:Response_Group>
    <p1:Include_Reference>1</p1:Include_Reference>
    <p1:Include_Personal_Information>1</p1:Include_Personal_Information>
  </p1:Response_Group>
</Get_Workers_Request>

完全同期のしくみ

Workday 主導のプロビジョニングのコンテキストにおける完全同期とは、Workday からすべての ID をフェッチし、各ワーカー オブジェクトに適用するプロビジョニング ルールを決定するプロセスを指します。 完全同期は、初めてプロビジョニングを有効にしたときと、Microsoft Entra 管理センターまたは Graph API を使用して "プロビジョニングを再開" したときに行われます。

ワーカー データを取得するために、次の Get_Workers Workday Web サービス要求が Microsoft Entra ID によって送信されます。 このクエリでは、Workday トランザクション ログから、完全同期の実行に対応する時点の有効日が指定されたすべてのワーカー エントリが検索されます。

<!-- Workday full sync query -->
<!-- Replace version with Workday Web Services version present in your connection URL -->
<!-- Replace timestamps with the UTC time corresponding to full sync run -->
<!-- Count specifies the number of records to return in each page -->
<!-- Response_Group flags derived from provisioning attribute mapping -->

<Get_Workers_Request p1:version="v21.1" xmlns:p1="urn:com.workday/bsvc" xmlns="urn:com.workday/bsvc">
  <p1:Request_Criteria>
    <p1:Transaction_Log_Criteria_Data>
      <p1:Transaction_Type_References>
        <p1:Transaction_Type_Reference>
          <p1:ID p1:type="Business_Process_Type">Hire Employee</p1:ID>
        </p1:Transaction_Type_Reference>
        <p1:Transaction_Type_Reference>
          <p1:ID p1:type="Business_Process_Type">Contract Contingent Worker</p1:ID>
        </p1:Transaction_Type_Reference>
      </p1:Transaction_Type_References>
    </p1:Transaction_Log_Criteria_Data>
  </p1:Request_Criteria>
  <p1:Response_Filter>
    <p1:As_Of_Effective_Date>2021-01-19T02:29:16.0094202Z</p1:As_Of_Effective_Date>
    <p1:As_Of_Entry_DateTime>2021-01-19T02:29:16.0094202Z</p1:As_Of_Entry_DateTime>
    <p1:Count>30</p1:Count>
  </p1:Response_Filter>
  <p1:Response_Group>
    <p1:Include_Reference>1</p1:Include_Reference>
    <p1:Include_Personal_Information>1</p1:Include_Personal_Information>
    <p1:Include_Employment_Information>1</p1:Include_Employment_Information>
    <p1:Include_Organizations>1</p1:Include_Organizations>
    <p1:Exclude_Organization_Support_Role_Data>1</p1:Exclude_Organization_Support_Role_Data>
    <p1:Exclude_Location_Hierarchies>1</p1:Exclude_Location_Hierarchies>
    <p1:Exclude_Cost_Center_Hierarchies>1</p1:Exclude_Cost_Center_Hierarchies>
    <p1:Exclude_Company_Hierarchies>1</p1:Exclude_Company_Hierarchies>
    <p1:Exclude_Matrix_Organizations>1</p1:Exclude_Matrix_Organizations>
    <p1:Exclude_Pay_Groups>1</p1:Exclude_Pay_Groups>
    <p1:Exclude_Regions>1</p1:Exclude_Regions>
    <p1:Exclude_Region_Hierarchies>1</p1:Exclude_Region_Hierarchies>
    <p1:Exclude_Funds>1</p1:Exclude_Funds>
    <p1:Exclude_Fund_Hierarchies>1</p1:Exclude_Fund_Hierarchies>
    <p1:Exclude_Grants>1</p1:Exclude_Grants>
    <p1:Exclude_Grant_Hierarchies>1</p1:Exclude_Grant_Hierarchies>
    <p1:Exclude_Business_Units>1</p1:Exclude_Business_Units>
    <p1:Exclude_Business_Unit_Hierarchies>1</p1:Exclude_Business_Unit_Hierarchies>
    <p1:Exclude_Programs>1</p1:Exclude_Programs>
    <p1:Exclude_Program_Hierarchies>1</p1:Exclude_Program_Hierarchies>
    <p1:Exclude_Gifts>1</p1:Exclude_Gifts>
    <p1:Exclude_Gift_Hierarchies>1</p1:Exclude_Gift_Hierarchies>
    <p1:Include_Management_Chain_Data>1</p1:Include_Management_Chain_Data>
    <p1:Include_Transaction_Log_Data>1</p1:Include_Transaction_Log_Data>
    <p1:Include_Additional_Jobs>1</p1:Include_Additional_Jobs>
  </p1:Response_Group>
</Get_Workers_Request>

Response_Group ノードは、Workday からフェッチするワーカー属性を指定するために使用されます。 Response_Group ノードの各フラグの説明については、Workday の Get_Workers API のドキュメントをご覧ください。

Response_Group ノードに指定されるいくつかのフラグ値は、Workday Microsoft Entra プロビジョニング アプリで構成された属性に基づいて計算されます。 フラグ値の設定に使用される条件については、"サポートされているエンティティ" に関するセクションを参照してください。

上記のクエリに対する Workday からの Get_Workers 応答には、ワーカー レコードの数とページ数が含まれています。

  <wd:Response_Results>
    <wd:Total_Results>509</wd:Total_Results>
    <wd:Total_Pages>17</wd:Total_Pages>
    <wd:Page_Results>30</wd:Page_Results>
    <wd:Page>1</wd:Page>
  </wd:Response_Results>

結果セットの次のページを取得するには、次の Get_Workers クエリで、Response_Filter のパラメーターとしてページ番号を指定します。

  <p1:Response_Filter>
    <p1:As_Of_Effective_Date>2021-01-19T02:29:16.0094202Z</p1:As_Of_Effective_Date>
    <p1:As_Of_Entry_DateTime>2021-01-19T02:29:16.0094202Z</p1:As_Of_Entry_DateTime>
    <p1:Page>2</p1:Page>
    <p1:Count>30</p1:Count>
  </p1:Response_Filter>

完全同期中に、Microsoft Entra プロビジョニング サービスによって各ページが処理され、すべての有効なワーカーが反復処理されます。Workday からインポートされたワーカー エントリごとに、次のことが行われます。

  • Workday から属性値を取得するために XPATH 式が適用されます。
  • 属性マッピングと照合ルールが適用されます。
  • サービスによって、ターゲット (Microsoft Entra ID/Active Directory) で実行する操作が決まります。

処理が完了すると、完全同期の開始に関連付けられているタイムスタンプがウォーターマークとして保存されます。 このウォーターマークは、増分同期サイクルの開始点として使用されます。

増分同期のしくみ

完全同期の後、Microsoft Entra プロビジョニング サービスによって LastExecutionTimestamp が保持され、それを使用して増分変更を取得するためのデルタ クエリが作成されます。 増分同期中は、次の種類のクエリが Microsoft Entra ID から Workday に送信されます。

手動更新に対するクエリ

次の Get_Workers 要求によって、前回の実行と今回の実行時間の間に発生した手動更新が照会されます。

<!-- Workday incremental sync query for manual updates -->
<!-- Replace version with Workday Web Services version present in your connection URL -->
<!-- Replace timestamps with the UTC time corresponding to last execution and current execution time -->
<!-- Count specifies the number of records to return in each page -->
<!-- Response_Group flags derived from provisioning attribute mapping -->

<Get_Workers_Request p1:version="v21.1" xmlns:p1="urn:com.workday/bsvc" xmlns="urn:com.workday/bsvc">
  <p1:Request_Criteria>
    <p1:Transaction_Log_Criteria_Data>
      <p1:Transaction_Date_Range_Data>
        <p1:Updated_From>2021-01-19T02:29:16.0094202Z</p1:Updated_From>
        <p1:Updated_Through>2021-01-19T02:49:06.290136Z</p1:Updated_Through>
      </p1:Transaction_Date_Range_Data>
    </p1:Transaction_Log_Criteria_Data>
  </p1:Request_Criteria>
  <p1:Response_Filter>
    <p1:As_Of_Effective_Date>2021-01-19T02:49:06.290136Z</p1:As_Of_Effective_Date>
    <p1:As_Of_Entry_DateTime>2021-01-19T02:49:06.290136Z</p1:As_Of_Entry_DateTime>
    <p1:Count>30</p1:Count>
  </p1:Response_Filter>
  <p1:Response_Group>
    <p1:Include_Reference>1</p1:Include_Reference>
    <p1:Include_Personal_Information>1</p1:Include_Personal_Information>
    <p1:Include_Employment_Information>1</p1:Include_Employment_Information>
    <p1:Include_Organizations>1</p1:Include_Organizations>
    <p1:Exclude_Organization_Support_Role_Data>1</p1:Exclude_Organization_Support_Role_Data>
    <p1:Exclude_Location_Hierarchies>1</p1:Exclude_Location_Hierarchies>
    <p1:Exclude_Cost_Center_Hierarchies>1</p1:Exclude_Cost_Center_Hierarchies>
    <p1:Exclude_Company_Hierarchies>1</p1:Exclude_Company_Hierarchies>
    <p1:Exclude_Matrix_Organizations>1</p1:Exclude_Matrix_Organizations>
    <p1:Exclude_Pay_Groups>1</p1:Exclude_Pay_Groups>
    <p1:Exclude_Regions>1</p1:Exclude_Regions>
    <p1:Exclude_Region_Hierarchies>1</p1:Exclude_Region_Hierarchies>
    <p1:Exclude_Funds>1</p1:Exclude_Funds>
    <p1:Exclude_Fund_Hierarchies>1</p1:Exclude_Fund_Hierarchies>
    <p1:Exclude_Grants>1</p1:Exclude_Grants>
    <p1:Exclude_Grant_Hierarchies>1</p1:Exclude_Grant_Hierarchies>
    <p1:Exclude_Business_Units>1</p1:Exclude_Business_Units>
    <p1:Exclude_Business_Unit_Hierarchies>1</p1:Exclude_Business_Unit_Hierarchies>
    <p1:Exclude_Programs>1</p1:Exclude_Programs>
    <p1:Exclude_Program_Hierarchies>1</p1:Exclude_Program_Hierarchies>
    <p1:Exclude_Gifts>1</p1:Exclude_Gifts>
    <p1:Exclude_Gift_Hierarchies>1</p1:Exclude_Gift_Hierarchies>
    <p1:Include_Management_Chain_Data>1</p1:Include_Management_Chain_Data>
    <p1:Include_Additional_Jobs>1</p1:Include_Additional_Jobs>
  </p1:Response_Group>
</Get_Workers_Request>

有効日が指定された更新と終了に対するクエリ

次の Get_Workers 要求によって、前回の実行と今回の実行時間の間に発生した、有効日が指定された更新が照会されます。

<!-- Workday incremental sync query for effective-dated updates -->
<!-- Replace version with Workday Web Services version present in your connection URL -->
<!-- Replace timestamps with the UTC time corresponding to last execution and current execution time -->
<!-- Count specifies the number of records to return in each page -->
<!-- Response_Group flags derived from provisioning attribute mapping -->

<Get_Workers_Request p1:version="v21.1" xmlns:p1="urn:com.workday/bsvc" xmlns="urn:com.workday/bsvc">
  <p1:Request_Criteria>
    <p1:Transaction_Log_Criteria_Data>
      <p1:Transaction_Date_Range_Data>
        <p1:Effective_From>2021-01-19T02:29:16.0094202Z</p1:Effective_From>
        <p1:Effective_Through>2021-01-19T02:49:06.290136Z</p1:Effective_Through>
      </p1:Transaction_Date_Range_Data>
    </p1:Transaction_Log_Criteria_Data>
  </p1:Request_Criteria>
  <p1:Response_Filter>
    <p1:As_Of_Effective_Date>2021-01-19T02:49:06.290136Z</p1:As_Of_Effective_Date>
    <p1:As_Of_Entry_DateTime>2021-01-19T02:49:06.290136Z</p1:As_Of_Entry_DateTime>
    <p1:Page>1</p1:Page>
    <p1:Count>30</p1:Count>
  </p1:Response_Filter>
  <p1:Response_Group>
    <p1:Include_Reference>1</p1:Include_Reference>
    <p1:Include_Personal_Information>1</p1:Include_Personal_Information>
    <p1:Include_Employment_Information>1</p1:Include_Employment_Information>
    <p1:Include_Organizations>1</p1:Include_Organizations>
    <p1:Exclude_Organization_Support_Role_Data>1</p1:Exclude_Organization_Support_Role_Data>
    <p1:Exclude_Location_Hierarchies>1</p1:Exclude_Location_Hierarchies>
    <p1:Exclude_Cost_Center_Hierarchies>1</p1:Exclude_Cost_Center_Hierarchies>
    <p1:Exclude_Company_Hierarchies>1</p1:Exclude_Company_Hierarchies>
    <p1:Exclude_Matrix_Organizations>1</p1:Exclude_Matrix_Organizations>
    <p1:Exclude_Pay_Groups>1</p1:Exclude_Pay_Groups>
    <p1:Exclude_Regions>1</p1:Exclude_Regions>
    <p1:Exclude_Region_Hierarchies>1</p1:Exclude_Region_Hierarchies>
    <p1:Exclude_Funds>1</p1:Exclude_Funds>
    <p1:Exclude_Fund_Hierarchies>1</p1:Exclude_Fund_Hierarchies>
    <p1:Exclude_Grants>1</p1:Exclude_Grants>
    <p1:Exclude_Grant_Hierarchies>1</p1:Exclude_Grant_Hierarchies>
    <p1:Exclude_Business_Units>1</p1:Exclude_Business_Units>
    <p1:Exclude_Business_Unit_Hierarchies>1</p1:Exclude_Business_Unit_Hierarchies>
    <p1:Exclude_Programs>1</p1:Exclude_Programs>
    <p1:Exclude_Program_Hierarchies>1</p1:Exclude_Program_Hierarchies>
    <p1:Exclude_Gifts>1</p1:Exclude_Gifts>
    <p1:Exclude_Gift_Hierarchies>1</p1:Exclude_Gift_Hierarchies>
    <p1:Include_Management_Chain_Data>1</p1:Include_Management_Chain_Data>
    <p1:Include_Additional_Jobs>1</p1:Include_Additional_Jobs>
  </p1:Response_Group>
</Get_Workers_Request>

将来の日付の雇用に対するクエリ

上記のクエリのいずれかで将来の日付の雇用が返された場合は、次の Get_Workers 要求を使用して、新しい将来の日付の雇用に関する情報が取得されます。 新しい雇用の WID 属性を使用して参照が実行され、有効日が雇用の日時に設定されます。

注意

Workday での将来の日付の雇用は、[アクティブ] フィールドが "0" に設定され、採用日に "1" に変更されます。 コネクタは仕様上、採用日に有効な将来の雇用情報に対するクエリを実行します。そのため、[アクティブ] フィールドを "1" に設定した将来の雇用のワーカー プロファイルが常に取得されます。 これにより、すべての正しい情報が事前に指定された将来の雇用の Microsoft Entra プロファイルをあらかじめ設定することができます。 将来の雇用に対する Microsoft Entra アカウントの有効化を遅らせる場合は、変換関数 DateDiff を使用してください。

<!-- Workday incremental sync query to get new hire data effective as on hire date/first day of work -->
<!-- Replace version with Workday Web Services version present in your connection URL -->
<!-- Replace timestamps hire date/first day of work -->
<!-- Count specifies the number of records to return in each page -->
<!-- Response_Group flags derived from provisioning attribute mapping -->

<Get_Workers_Request p1:version="v21.1" xmlns:p1="urn:com.workday/bsvc" xmlns="urn:com.workday/bsvc">
  <p1:Request_References>
    <p1:Worker_Reference>
      <p1:ID p1:type="WID">7bf6322f1ea101fd0b4433077f09cb04</p1:ID>
    </p1:Worker_Reference>
  </p1:Request_References>
  <p1:Response_Filter>
    <p1:As_Of_Effective_Date>2021-02-01T08:00:00+00:00</p1:As_Of_Effective_Date>
    <p1:As_Of_Entry_DateTime>2021-02-01T08:00:00+00:00</p1:As_Of_Entry_DateTime>
    <p1:Count>30</p1:Count>
  </p1:Response_Filter>
  <p1:Response_Group>
    <p1:Include_Reference>1</p1:Include_Reference>
    <p1:Include_Personal_Information>1</p1:Include_Personal_Information>
    <p1:Include_Employment_Information>1</p1:Include_Employment_Information>
    <p1:Include_Organizations>1</p1:Include_Organizations>
    <p1:Exclude_Organization_Support_Role_Data>1</p1:Exclude_Organization_Support_Role_Data>
    <p1:Exclude_Location_Hierarchies>1</p1:Exclude_Location_Hierarchies>
    <p1:Exclude_Cost_Center_Hierarchies>1</p1:Exclude_Cost_Center_Hierarchies>
    <p1:Exclude_Company_Hierarchies>1</p1:Exclude_Company_Hierarchies>
    <p1:Exclude_Matrix_Organizations>1</p1:Exclude_Matrix_Organizations>
    <p1:Exclude_Pay_Groups>1</p1:Exclude_Pay_Groups>
    <p1:Exclude_Regions>1</p1:Exclude_Regions>
    <p1:Exclude_Region_Hierarchies>1</p1:Exclude_Region_Hierarchies>
    <p1:Exclude_Funds>1</p1:Exclude_Funds>
    <p1:Exclude_Fund_Hierarchies>1</p1:Exclude_Fund_Hierarchies>
    <p1:Exclude_Grants>1</p1:Exclude_Grants>
    <p1:Exclude_Grant_Hierarchies>1</p1:Exclude_Grant_Hierarchies>
    <p1:Exclude_Business_Units>1</p1:Exclude_Business_Units>
    <p1:Exclude_Business_Unit_Hierarchies>1</p1:Exclude_Business_Unit_Hierarchies>
    <p1:Exclude_Programs>1</p1:Exclude_Programs>
    <p1:Exclude_Program_Hierarchies>1</p1:Exclude_Program_Hierarchies>
    <p1:Exclude_Gifts>1</p1:Exclude_Gifts>
    <p1:Exclude_Gift_Hierarchies>1</p1:Exclude_Gift_Hierarchies>
    <p1:Include_Management_Chain_Data>1</p1:Include_Management_Chain_Data>
    <p1:Include_Additional_Jobs>1</p1:Include_Additional_Jobs>
  </p1:Response_Group>
</Get_Workers_Request>

ワーカー データ属性の取得

Get_Workers API では、ワーカーに関連付けられたさまざまなデータ セットが返されます。 Workday から取得されるデータ セットは、プロビジョニング スキーマで構成された XPATH API 式に応じて、Microsoft Entra プロビジョニング サービスによって決定されます。 それに応じて、Get_Workers 要求の Response_Group のフラグが設定されます。

表に、特定のデータ セットを取得するために使用するマッピング構成に関するガイダンスを示します。

# Workday エンティティ 既定で含まれる 既定以外のエンティティをフェッチするためにマッピングで指定する XPATH パターン
1 Personal Data はい wd:Worker_Data/wd:Personal_Data
2 Employment Data はい wd:Worker_Data/wd:Employment_Data
3 Additional Job Data はい wd:Worker_Data/wd:Employment_Data/wd:Worker_Job_Data[@wd:Primary_Job=0]
4 Organization Data はい wd:Worker_Data/wd:Organization_Data
5 Management Chain Data はい wd:Worker_Data/wd:Management_Chain_Data
6 Supervisory Organization はい SUPERVISORY
7 Company はい COMPANY
8 Business Unit いいえ BUSINESS_UNIT
9 Business Unit Hierarchy いいえ BUSINESS_UNIT_HIERARCHY
10 Company Hierarchy いいえ COMPANY_HIERARCHY
11 Cost Center いいえ COST_CENTER
12 Cost Center Hierarchy いいえ COST_CENTER_HIERARCHY
13 Fund いいえ FUND
14 Fund Hierarchy いいえ FUND_HIERARCHY
15 Gift いいえ GIFT
16 Gift Hierarchy いいえ GIFT_HIERARCHY
17 Grant いいえ GRANT
18 Grant Hierarchy いいえ GRANT_HIERARCHY
19 Business Site Hierarchy いいえ BUSINESS_SITE_HIERARCHY
20 Matrix Organization いいえ MATRIX
21 Pay Group いいえ PAY_GROUP
22 Programs いいえ PROGRAMS
23 Program Hierarchy いいえ PROGRAM_HIERARCHY
24 Region いいえ REGION_HIERARCHY
25 Location Hierarchy いいえ LOCATION_HIERARCHY
26 Account Provisioning Data いいえ wd:Worker_Data/wd:Account_Provisioning_Data
27 Background Check Data いいえ wd:Worker_Data/wd:Background_Check_Data
28 Benefit Eligibility Data いいえ wd:Worker_Data/wd:Benefit_Eligibility_Data
29 Benefit Enrollment Data いいえ wd:Worker_Data/wd:Benefit_Enrollment_Data
30 Career Data いいえ wd:Worker_Data/wd:Career_Data
31 Compensation Data いいえ wd:Worker_Data/wd:Compensation_Data
32 Contingent Worker Tax Authority Data いいえ wd:Worker_Data/wd:Contingent_Worker_Tax_Authority_Form_Type_Data
33 Development Item Data いいえ wd:Worker_Data/wd:Development_Item_Data
34 Employee Contracts Data いいえ wd:Worker_Data/wd:Employee_Contracts_Data
35 Employee Review Data いいえ wd:Worker_Data/wd:Employee_Review_Data
36 Feedback Received Data いいえ wd:Worker_Data/wd:Feedback_Received_Data
37 Worker Goal Data いいえ wd:Worker_Data/wd:Worker_Goal_Data
38 Photo Data いいえ wd:Worker_Data/wd:Photo_Data
39 Qualification Data いいえ wd:Worker_Data/wd:Qualification_Data
40 Related Persons Data いいえ wd:Worker_Data/wd:Related_Persons_Data
41 Role Data いいえ wd:Worker_Data/wd:Role_Data
42 Skill Data いいえ wd:Worker_Data/wd:Skill_Data
43 Succession Profile Data いいえ wd:Worker_Data/wd:Succession_Profile_Data
44 Talent Assessment Data いいえ wd:Worker_Data/wd:Talent_Assessment_Data
45 User Account Data いいえ wd:Worker_Data/wd:User_Account_Data
46 Worker Document Data いいえ wd:Worker_Data/wd:Worker_Document_Data

注意

表に示されている各 Workday エンティティは、Workday の "ドメイン セキュリティ ポリシー" によって保護されています。 適切な XPATH を設定した後にエンティティに関連付けられている属性を取得できない場合は、Workday 管理者に問い合わせて、プロビジョニング アプリに関連付けられている統合システム ユーザーに適切なドメイン セキュリティ ポリシーが構成されていることを確認してください。 たとえば、スキル データを取得するには、Get アクセスが Workday ドメイン Worker Data: Skills and Experience で必要です。

次に、Workday 統合を拡張して特定の要件を満たす方法の例をいくつか示します。

例 1: コストセンターと支払いグループの情報を取得する

Workday から次のデータ セットを取得し、それらをプロビジョニング ルールで使用するとします。

  • コスト センター
  • コスト センターの階層
  • 支払いグループ

上記のデータ セットは、既定では含まれていません。 これらのデータ セットを取得するには、次の手順に従います。

  1. 少なくとも アプリケーション管理者 の権限で Microsoft Entra 管理センター にサインインします。

  2. ID>アプリケーション>エンタープライズ アプリケーション を参照します。

  3. Workday から Active Directory/Microsoft Entra ユーザー プロビジョニング アプリケーションを選びます。

  4. [プロビジョニング] を選択します。

  5. マッピングを編集し、[詳細設定] セクションで Workday 属性の一覧を開きます。

  6. 次の属性定義を追加し、それらを "必須" としてマークします。 これらの属性は、Active Directory または Microsoft Entra ID のどの属性にもマップされません。 これらは、コスト センター、コスト センターの階層、支払いグループの各情報を取得するようにコネクタに指示するシグナルとして機能します。

    属性名 XPATH API 式
    CostCenterHierarchyFlag wd:Worker/wd:Worker_Data/wd:Organization_Data/wd:Worker_Organization_Data[wd:Organization_Data/wd:Organization_Type_Reference/wd:ID[@wd:type='Organization_Type_ID']='COST_CENTER_HIERARCHY']/wd:Organization_Reference/@wd:Descriptor
    CostCenterFlag wd:Worker/wd:Worker_Data/wd:Organization_Data/wd:Worker_Organization_Data[wd:Organization_Data/wd:Organization_Type_Reference/wd:ID[@wd:type='Organization_Type_ID']='COST_CENTER']/wd:Organization_Data/wd:Organization_Code/text()
    PayGroupFlag wd:Worker/wd:Worker_Data/wd:Organization_Data/wd:Worker_Organization_Data[wd:Organization_Data/wd:Organization_Type_Reference/wd:ID[@wd:type='Organization_Type_ID']='PAY_GROUP']/wd:Organization_Data/wd:Organization_Reference_ID/text()
  7. Get_Workers 応答でコスト センターと支払いグループのデータ セットを入手できるようになったら、XPATH 値を使用して、コスト センター名、コスト センター コード、支払いグループを取得できます。

    属性名 XPATH API 式
    CostCenterName wd:Worker/wd:Worker_Data/wd:Organization_Data/wd:Worker_Organization_Data/wd:Organization_Data[wd:Organization_Type_Reference/@wd:Descriptor='Cost Center']/wd:Organization_Name/text()
    CostCenterCode wd:Worker/wd:Worker_Data/wd:Organization_Data/wd:Worker_Organization_Data/wd:Organization_Data[wd:Organization_Type_Reference/@wd:Descriptor='Cost Center']/wd:Organization_Code/text()
    PayGroup wd:Worker/wd:Worker_Data/wd:Organization_Data/wd:Worker_Organization_Data/wd:Organization_Data[wd:Organization_Type_Reference/@wd:Descriptor='Pay Group']/wd:Organization_Name/text()

例 2: 資格データとスキル データを取得する

あるユーザーに関連付けられている認定資格を取得するとします。 この情報は、資格データ セットの一部として入手できます。 このデータ セットを Get_Workers 応答の一部として取得するには、次の XPATH を使用します。

wd:Worker/wd:Worker_Data/wd:Qualification_Data/wd:Certification/wd:Certification_Data/wd:Issuer/text()

例 3: プロビジョニング グループの割り当てを取得する

あるワーカーに割り当てられているプロビジョニング グループを取得するとします。 この情報は、アカウント プロビジョニング データ セットの一部として入手できます。 このデータを Get_Workers 応答の一部として取得するには、次の XPATH を使用します。

wd:Worker/wd:Worker_Data/wd:Account_Provisioning_Data/wd:Provisioning_Group_Assignment_Data[wd:Status='Assigned']/wd:Provisioning_Group/text()

さまざまな HR シナリオの処理

このセクションでは、次の HR シナリオ用にプロビジョニング アプリをカスタマイズする方法について説明します。

ワーカーの転換のサポート

このセクションでは、ワーカーが常勤従業員 (FTE) から臨時職員 (CW) に、またはその逆に転換するシナリオに対する Microsoft Entra プロビジョニング サービスのサポートについて説明します。 Workday でのワーカー転換の処理方法によっては、考慮すべき実装の側面が異なる場合があります。

シナリオ 1: FTE から CW への過去の日付の転換、またはその逆

人事チームは、有効なビジネス上の理由から、Workday でワーカー転換トランザクションの日付をさかのぼることができます。 たとえば、給与処理、予算コンプライアンス、法的要件、福利厚生管理などがあります。 このシナリオでのプロビジョニングの処理方法を示す例を次に示します。

  • 2023 年 1 月 15 日、Jane Doe は臨時職員として雇用されています。 人事部は Jane にフルタイムのポジションを提案します。
  • Jane の契約条件を変更するには、現在の月の開始に合わせてトランザクションの日付をさかのぼる必要があります。 人事部は、2023 年 1 月 15 日に、過去の日付のワーカー転換トランザクション Workday を開始します。有効日は 2023 年 1 月 1 日です。 現在、Workday では、Jane に対して 2 つのワーカー プロファイルがあります。 CW プロファイルは非アクティブですが、FTE プロファイルはアクティブです。
  • Microsoft Entra プロビジョニング サービスでは、2023 年 1 月 15 日に Workday トランザクション ログでこの変更を検出します。 サービスでは、次の同期サイクルで新しい FTE プロファイルの属性を自動的にプロビジョニングします。
  • このシナリオを処理するために、プロビジョニング アプリの構成に変更は必要ありません。

シナリオ 2: 現在 CW/FTE として採用されているワーカーを今日 FTE/CW に変更する

このシナリオは上記のシナリオに似ていますが、トランザクションの日付をさかのぼる代わりに、人事部は直ちに有効なワーカー転換を実行します。 Microsoft Entra プロビジョニング サービスでは、Workday トランザクション ログでこの変更を検出します。 次の同期サイクルでは、アクティブな FTE プロファイルに関連付けられている属性がサービスによって自動的にプロビジョニングされます。 このシナリオを処理するために、プロビジョニング アプリの構成に変更は必要ありません。

シナリオ 3: CW/FTE として採用されていたワーカーが解雇され、大幅なギャップの後に FTE/CW として再び入社する

労働者が会社で臨時職員として働き始め、退職してから、数か月後に常勤従業員として再び入社することは一般的です。 このシナリオでのプロビジョニングの処理方法を示す例を次に示します。

  • 2023 年 1 月 1 日、John Smith は臨時職員として働き始めます。 John の WorkerID (一致する属性) に関連付けられている AD アカウントが存在しない場合、プロビジョニング サービスにより新しい AD アカウントが作成され、John の臨時職員 WID (WorkdayID) を John の AD アカウントにリンクします。
  • John の契約は、2023 年 1 月 31 日に終了します。 1 月 31 日の終了後に実行されるプロビジョニング サイクルでは、John の AD アカウントが無効になります。
  • John は別の役職に応募し、2023 年 5 月 1 日に常勤従業員として再入社することに決定しました。 人事部は、2023 年 4 月 15 日に事前採用従業員として John の情報を入力します。 現在、Workday では、John に対して 2 つのワーカー プロファイルがあります。 CW プロファイルは非アクティブですが、FTE プロファイルはアクティブです。 2 つのレコードの WorkerID は同じですが、WID は異なります。
  • 4 月 15 日、増分サイクル中に、Microsoft Entra プロビジョニング サービスによって、AD アカウントの所有権がアクティブなワーカー プロファイルに自動的に転送されます。 この場合、AD アカウントから臨時職員プロファイルのリンクが解除され、John のアクティブな正社員ワーカー プロファイルと John の AD アカウントの間に新しいリンクが確立されます。
  • このシナリオを処理するために、プロビジョニング アプリの構成に変更は必要ありません。

シナリオ 4: ワーカーがアクティブな CW/FTE である場合の将来の日付の転換

場合によっては、人事部が将来の日付のワーカー転換トランザクションを開始するときに、ワーカーがアクティブな臨時職員である場合があります。 このシナリオでプロビジョニングを処理する方法と、このシナリオをサポートするために必要な構成の変更を示す例を次に示します。

  • 2023 年 1 月 1 日、John Smith は臨時職員として働き始めます。 John の WorkerID (一致する属性) に関連付けられている AD アカウントが存在しない場合、プロビジョニング サービスにより新しい AD アカウントが作成され、John の臨時職員 WID (WorkdayID) を John の AD アカウントにリンクします。

  • 1 月 15 日、人事部は、2023 年 2 月 1 日に John を臨時職員から常勤従業員に転換するトランザクションを開始します。

  • Microsoft Entra プロビジョニング サービスでは、将来の日付の雇用を自動的に処理するため、1 月 15 日に John の新しい常勤従業員のワーカー プロファイルを処理し、AD の John のプロファイルを、まだ臨時職員であるにもかかわらず、常勤従業員の詳細で更新します。

  • この動作を回避し、John の FTE の詳細が 2023 年 2 月 1 日にプロビジョニングされるようにするには、次の構成変更を実行します。

    構成の変更

    1. Workday 管理者と協力しながら、"Future-dated conversions" という名前のプロビジョニング グループを作成します。
    2. Workday にロジックを実装して、将来の日付の転換を含む従業員/臨時職員レコードをこのプロビジョニング グループに追加します。
    3. Microsoft Entra プロビジョニング アプリを更新して、このプロビジョニング グループを読み取ります。 プロビジョニング グループを取得する方法については、こちらの手順を参照してください
    4. Microsoft Entra ID でスコープ フィルターを作成して、このプロビジョニング グループの一部であるワーカー プロファイルを除外します。
    5. Workday で、転換日が有効になったときに Workday のプロビジョニング グループから関連する従業員/臨時職員レコードを削除するようにロジックを実装します。
    6. この構成では、既存の従業員/臨時職員レコードは引き続き有効になり、プロビジョニングの変更は転換日にのみ行われます。

注意

最初の完全同期中に、以前の非アクティブなワーカー プロファイルに関連付けられている属性値が、転換があったワーカーの AD アカウントにフローする動作が発生することがあります。 これは一時的なもので、完全同期が進行すると、最終的にはアクティブなワーカー プロファイルの属性値によって上書きされます。 完全同期が完了し、プロビジョニング ジョブが安定した状態になると、増分同期中にアクティブなワーカー プロファイルが常に選択されます。

国際的なジョブの割り当てとセカンダリ ジョブの詳細の取得

既定で Workday コネクタによって取得されるのは、worker のプライマリ ジョブに関連付けられた属性です。 また、このコネクタでは、国際的なジョブの割り当てまたはセカンダリ ジョブに関連付けられた "Additional Job Data" を取得することもサポートされています。

国際的なジョブの割り当てに関連付けられた属性を取得するには、次の手順に従ってください。

  1. Workday Web サービス API バージョン 30.0 以降を使用する Workday 接続 URL を設定します。 それに応じて、Workday プロビジョニング アプリで適切な XPATH 値を設定します。
  2. Worker_Job_Data ノードのセレクター @wd:Primary_Job=0 を使用して、適切な属性を取得します。
    • 例 1:SecondaryBusinessTitle を取得するには、XPATH wd:Worker/wd:Worker_Data/wd:Employment_Data/wd:Worker_Job_Data[@wd:Primary_Job=0]/wd:Position_Data/wd:Business_Title/text() を使用します
    • 例 2:SecondaryBusinessLocation を取得するには、XPATH wd:Worker/wd:Worker_Data/wd:Employment_Data/wd:Worker_Job_Data[@wd:Primary_Job=0]/wd:Position_Data/wd:Business_Site_Summary_Data/wd:Location_Reference/@wd:Descriptor を使用します

次の手順