Интеграция подготовки Microsoft Entra с Workday

Служба подготовки пользователей Microsoft Entra интегрируется с Workday HCM для управления жизненным циклом удостоверений пользователей. Идентификатор Microsoft Entra предлагает три предварительно созданных интеграции:

В этой статье описывается, как работает интеграция и как настраивается логика подготовки для различных сценариев работы с кадрами.

Установка подключения

Ограничение доступа API Workday к конечным точкам Microsoft Entra

Служба подготовки Microsoft Entra использует базовую проверку подлинности для подключения к конечным точкам API веб-служб Workday.

Чтобы защитить подключение между службой подготовки Microsoft Entra и Workday, вы можете ограничить доступ, чтобы назначенный пользователь системы интеграции только обращается к API Workday из разрешенных диапазонов IP-адресов Microsoft Entra. Обратитесь к администратору Workday, чтобы выполнить следующую настройку в арендаторе Workday.

  1. Скачайте файл с актуальными диапазонами IP-адресов общедоступного облака Azure.

  2. Откройте файл и выполните поиск тега Microsoft Entra ID

    Microsoft Entra IP range

  3. Скопируйте все диапазоны IP-адресов, перечисленные в элементе addressPrefixes, и на их основе создайте список IP-адресов.

  4. Войдите на портал администрирования Workday.

  5. Чтобы создать новый диапазон IP-адресов для центров обработки данных Azure, откройте задачу поддержки диапазонов IP-адресов. Укажите диапазоны IP-адресов (в нотации CIDR) в виде списка с разделителями-запятыми.

  6. Чтобы создать политику проверки подлинности, откройте задачу управления политиками проверки подлинности. В политике проверки подлинности используйте список разрешений проверки подлинности, чтобы указать диапазон IP-адресов Microsoft Entra и группу безопасности, доступ к которому разрешен из этого диапазона IP-адресов. Сохраните изменения.

  7. Чтобы подтвердить изменения, откройте задачу активации всех отложенных изменений политик проверки подлинности.

Ограничение доступа к данным работников в Workday с помощью ограниченных групп безопасности

Действия по умолчанию по настройке пользователя системы интеграции Workday обеспечивают доступ для получения всех пользователей в клиенте Workday. В некоторых сценариях интеграции может потребоваться ограничить доступ. Например, возвращаются только пользователи в определенных надзорных организациях из Get_Workers вызова API.

Вы можете ограничить доступ, работая с администратором Workday и настраивая ограниченные группы безопасности системы интеграции. Дополнительные сведения о Workday см. в разделе "Сообщество Workday" (доступ к сообществу Workday, необходимый для этой статьи).

Эта стратегия ограничения доступа с помощью ограниченных ISSG (групп безопасности системы интеграции) полезна в следующих сценариях:

  • Сценарий поэтапного развертывания: у вас есть большой клиент Workday и планируется выполнить поэтапное развертывание Workday в автоматической подготовке идентификатора Microsoft Entra ID. В этом сценарии вместо исключения пользователей, которые не находятся в область текущего этапа с фильтрами области определения идентификатора Microsoft Entra, рекомендуется настроить ограниченный ISSG, чтобы только область работники видны идентификатору Microsoft Entra ID.
  • Сценарий с несколькими заданиями подготовки. У вас есть большой клиент Workday и несколько доменов AD, каждый из которых поддерживает разные подразделения, отделы и компании. Для поддержки этой топологии вы хотите запустить несколько заданий подготовки Workday в Microsoft Entra с каждым заданием подготовки определенного набора рабочих ролей. В этом сценарии вместо использования фильтров области области идентификатора Microsoft Entra для исключения рабочих данных рекомендуется настроить ограниченное ISSG, чтобы только соответствующие рабочие данные видны идентификатору Microsoft Entra.

Запрос на тестирование подключения к Workday

Чтобы проверить подключение к Workday, идентификатор Microsoft Entra отправляет следующий Get_Workers запрос веб-служб Workday.

<!-- 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 и определение правил подготовки, применяемых к каждому объекту работника. Полная синхронизация происходит при первом включении подготовки, а также при перезапуске подготовки из Центра администрирования Microsoft Entra или с помощью API Graph.

Идентификатор Microsoft Entra отправляет следующий Get_Workers запрос веб-служб Workday для получения рабочих данных. Запрос ищет журнал транзакций 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 см. в документации по API Get_Workers Workday.

Определенные значения флагов, указанные в узле Response_Group , вычисляются на основе атрибутов, настроенных в приложении подготовки Microsoft Entra Workday. Дополнительные сведения о критериях, используемых для задания значений флагов, см. в разделе, посвященном поддерживаемым сущностям.

Ответ Get_Workers из Workday для указанного выше запроса содержит число записей работников и число страниц.

  <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:

  • применяется выражение XPath для получения значений атрибутов из Workday;
  • применяются сопоставление атрибутов и правила сопоставления,
  • Служба определяет, какая операция выполняется в целевом объекте (идентификатор Microsoft Entra или Active Directory).

После завершения обработки она сохраняет метку времени, связанную с началом полной синхронизации, в качестве предела. Этот предел выступает в качестве отправной точки для цикла добавочной синхронизации.

Как работает добавочная синхронизация

После полной синхронизации служба подготовки Microsoft Entra поддерживает LastExecutionTimestamp и использует ее для создания разностных запросов для получения добавочных изменений. Во время добавочной синхронизации идентификатор Microsoft Entra отправляет следующие типы запросов в 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 для сотрудников, дата принятия на работу которых еще не наступила, в поле "Active" установлено значение "0", которое изменяется на "1" в день найма. Соединитель по умолчанию запрашивает сведения о таких сотрудниках в день найма, поэтому в рабочем профиле полю "Active" всегда задано значение "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>

Получение атрибутов данных работников

API Get_Workers может возвращать различные наборы данных, связанные с работниками. В зависимости от выражений API XPATH, настроенных в схеме подготовки, служба подготовки Microsoft Entra определяет наборы данных для извлечения из Workday. Флаги Response_Group задаются в запросе Get_Workers соответственно.

В таблице приведены рекомендации по настройке сопоставления, используемой для получения определенного набора данных.

# Сущность 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 No BUSINESS_UNIT
9 Business Unit Hierarchy No BUSINESS_UNIT_HIERARCHY
10 Company Hierarchy No COMPANY_HIERARCHY
11 Cost Center No COST_CENTER
12 Cost Center Hierarchy No COST_CENTER_HIERARCHY
13 Fund No FUND
14 Fund Hierarchy No FUND_HIERARCHY
15 Gift No GIFT
16 Gift Hierarchy No GIFT_HIERARCHY
17 Grant No GRANT
18 Grant Hierarchy No GRANT_HIERARCHY
19 Business Site Hierarchy No BUSINESS_SITE_HIERARCHY
20 Matrix Organization No MATRIX
21 Pay Group No PAY_GROUP
22 Programs No PROGRAMS
23 Program Hierarchy No PROGRAM_HIERARCHY
24 Region No REGION_HIERARCHY
25 Location Hierarchy No LOCATION_HIERARCHY
26 Account Provisioning Data No wd:Worker_Data/wd:Account_Provisioning_Data
27 Background Check Data No wd:Worker_Data/wd:Background_Check_Data
28 Benefit Eligibility Data No wd:Worker_Data/wd:Benefit_Eligibility_Data
29 Benefit Enrollment Data No wd:Worker_Data/wd:Benefit_Enrollment_Data
30 Career Data No wd:Worker_Data/wd:Career_Data
31 Compensation Data No wd:Worker_Data/wd:Compensation_Data
32 Contingent Worker Tax Authority Data No wd:Worker_Data/wd:Contingent_Worker_Tax_Authority_Form_Type_Data
33 Development Item Data No wd:Worker_Data/wd:Development_Item_Data
34 Employee Contracts Data No wd:Worker_Data/wd:Employee_Contracts_Data
35 Employee Review Data No wd:Worker_Data/wd:Employee_Review_Data
36 Feedback Received Data No wd:Worker_Data/wd:Feedback_Received_Data
37 Worker Goal Data No wd:Worker_Data/wd:Worker_Goal_Data
38 Photo Data No wd:Worker_Data/wd:Photo_Data
39 Qualification Data No wd:Worker_Data/wd:Qualification_Data
40 Related Persons Data No wd:Worker_Data/wd:Related_Persons_Data
41 Role Data No wd:Worker_Data/wd:Role_Data
42 Skill Data No wd:Worker_Data/wd:Skill_Data
43 Succession Profile Data No wd:Worker_Data/wd:Succession_Profile_Data
44 Talent Assessment Data No wd:Worker_Data/wd:Talent_Assessment_Data
45 User Account Data No wd:Worker_Data/wd:User_Account_Data
46 Worker Document Data No wd:Worker_Data/wd:Worker_Document_Data

Примечание.

Каждая сущность Workday, указанная в таблице, защищена с помощью политики безопасности домена в Workday. Если вы не можете получить атрибут, связанный с сущностью, после установки правильного выражения XPath, обратитесь к администратору Workday, чтобы убедиться, что для пользователя системы интеграции, связанного с приложением подготовки, настроена соответствующая политика безопасности домена. Например, чтобы получить данные о навыках, необходимо получить доступ к домену Workday Worker Data: Skills and Experience (Данные о сотрудниках: навыки и опыт).

Ниже приведены некоторые примеры того, как можно расширить интеграцию с Workday для удовлетворения конкретных требований.

Пример 1. Получение сведений о месте возникновения затрат и группе оплаты

Предположим, вы хотите получить из Workday следующие наборы данных и использовать их в правилах подготовки:

  • Центр затрат.
  • иерархия места возникновения затрат;
  • группа оплаты.

Указанные выше наборы данных не включены по умолчанию. Для получения этих наборов данных сделайте следующее:

  1. Войдите в Центр администрирования Microsoft Entra как минимум приложение Администратор istrator.

  2. Перейдите к приложениям Identity>Applications>Enterprise.

  3. Выберите приложение подготовки пользователей Workday в Active Directory или Microsoft Entra.

  4. Выберите Подготовка.

  5. Измените сопоставления и откройте список атрибутов Workday из расширенного раздела.

  6. Добавьте следующие определения атрибутов и пометьте их как обязательные. Эти атрибуты не сопоставляются с любым атрибутом в Active Directory или идентификаторе Microsoft Entra. Они служат сигналами соединителю для получения сведений о центре затрат, иерархии центра затрат и сведений о группе оплаты.

    Имя атрибута Выражение 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()

Сценарии работы с кадрами

В этом разделе описывается, как настроить приложение для подготовки в расчете на следующие сценарии работы с кадрами:

Поддержка преобразования работников

В этом разделе описывается поддержка службы подготовки Microsoft Entra для сценариев, когда работник преобразуется из сотрудника полного времени (FTE) в рабочая роль (CW) или наоборот. В зависимости от того, как преобразования работников обрабатываются в Workday, может потребоваться учитывать разные аспекты реализации.

Сценарий 1. Переход из роли FTE в роль CW и наоборот задним числом

Ваша команда отдела кадров может поддержать транзакцию преобразования рабочей роли в Workday по допустимым бизнес-причинам. Примерами являются обработка заработной платы, соответствие бюджета, юридические требования и управление преимуществами. Ниже приведен пример для иллюстрации обработки подготовки для сценария.

  • Это 15 января 2023 года, и Джейн Доу работает в качестве контингента работника. Отдел кадров предлагает Екатерине работу на полную ставку.
  • Условия изменения контракта Екатерины требуют датировать транзакцию задним числом (началом текущего месяца). Hr инициирует резервную транзакцию преобразования рабочей роли Workday 15 января 2023 г. с датой действия с 1 января 2023 г. Теперь в Workday для Екатерины есть два профиля работника. Профиль CW неактивный, а профиль FTE — активный.
  • Служба подготовки Microsoft Entra обнаруживает это изменение в журнале транзакций Workday 15 января 2023 г. Служба автоматически подготавливает атрибуты нового профиля FTE в следующем цикле синхронизации.
  • Никаких изменений в конфигурации приложения подготовки для реализации этого сценария не требуется.

Сценарий 2. Рабочая роль, занятая в качестве CW/FTE сегодня, изменения в FTE/CW сегодня

Этот сценарий аналогичен описанному выше, за исключением того, что вместо датирования транзакции задним числом отдел кадров выполняет преобразование работника, которое вступает в силу немедленно. Служба подготовки Microsoft Entra обнаруживает это изменение в журнале транзакций Workday. В следующем цикле синхронизации служба автоматически подготавливает все связанные атрибуты с активным профилем FTE. Никаких изменений в конфигурации приложения подготовки для реализации этого сценария не требуется.

Сценарий 3. Работник, нанятый в статусе CW/FTE, увольняется и возвращается в статусе FTE/CW после значительного перерыва

Сотрудники нередко начинают работать в компании с неполной занятостью, а затем покидают компанию и возвращаются через несколько месяцев в качестве сотрудника с полной занятостью. Ниже приведен пример, демонстрирующий подготовку для этого сценария.

  • Это 1 января 2023 года, и Джон Смит начинает работать в качестве контингента работника. Так как учетная запись AD, связанная с WorkerID (соответствующий атрибут) Ивана отсутствует, служба подготовки создает новую учетную запись AD и связывает WID (WorkdayID) сотрудника с неполной занятостью с пользовательской учетной записью AD Ивана.
  • Контракт Джона заканчивается 31 января 2023 года. В цикле подготовки, который выполняется после окончания дня 31 января, учетная запись AD Ивана будет отключена.
  • Джон применяется к другой должности и решает вновь присоединиться к компании в качестве сотрудника полного времени, действующего 1 мая 2023 года. Hr вводит информацию Джона в качестве предварительного сотрудника 15 апреля 2023 года. Теперь в Workday для Ивана есть два профиля работника. Профиль CW неактивный, а профиль FTE — активный. У двух записей одинаковый WorkerID, но разные WID.
  • 15 апреля во время добавочного цикла служба подготовки Microsoft Entra автоматически передает владение учетной записью AD в активный рабочий профиль. В этом случае он отменяет связь профиля рабочей роли контингента с учетной записи AD и устанавливает новую связь между активным рабочим профилем джона и учетной записью Джона AD.
  • Никаких изменений в конфигурации приложения подготовки для реализации этого сценария не требуется.

Сценарий 4. Датируемое будущим числом преобразование, когда работник находится в активном статусе CW/FTE

Иногда работник может уже быть активным сотрудником с неполной занятостью, когда отдел кадров инициирует транзакцию его преобразования, датируемую будущим числом. Вот пример, иллюстрирующий, как выполняется подготовка для этого сценария и какие изменения конфигурации требуются для реализации этого сценария.

  • Это 1 января 2023 года, и Джон Смит начинает работать в качестве контингента работника. Так как учетная запись AD, связанная с WorkerID (соответствующий атрибут) Ивана отсутствует, служба подготовки создает новую учетную запись AD и связывает WID (WorkdayID) сотрудника с неполной занятостью с пользовательской учетной записью AD Ивана.

  • 15 января hr инициирует транзакцию для преобразования Джона из контингента работника в полный рабочий день с 1 февраля 2023 года.

  • Так как служба подготовки Microsoft Entra автоматически обрабатывает будущие нанимаемые сотрудники, она обрабатывает новый рабочий профиль сотрудника Джона полного времени 15 января и обновляет профиль Джона в AD с подробными сведениями о занятости, несмотря на то, что он по-прежнему является контингентным работником.

  • Чтобы избежать этого поведения и убедиться, что сведения о FTE Джона подготовлены 1 февраля 2023 года, выполните следующие изменения конфигурации.

    Изменения конфигурации

    1. Попросите администратора Workday создать группу подготовки под названием "Датируемый будущим числом преобразования".
    2. Реализуйте логику в Workday, чтобы добавить записи о сотрудниках и сотрудниках с неполной занятостью с датируемыми будущим числом преобразованиями в эту группу подготовки.
    3. Обновите приложение подготовки Microsoft Entra, чтобы прочитать эту группу подготовки. См. инструкции по получению группы подготовки.
    4. Создайте фильтр области в идентификаторе Microsoft Entra, чтобы исключить профили рабочих ролей, которые являются частью этой группы подготовки.
    5. В Workday реализуйте логику, чтобы в дату вступления преобразования в силу в Workday соответствующая запись сотрудника и сотрудника с неполной занятостью удалялась из группы подготовки в Workday.
    6. С этой конфигурацией существующий рабочий рекорд сотрудника или контингента продолжает действовать, и изменения подготовки происходят только в день преобразования.

Примечание.

Во время начальной полной синхронизации можно заметить поведение, при котором значения атрибутов, связанные с предыдущим неактивным потоком рабочего профиля, передаются в учетную запись AD преобразованных сотрудников. Это временная синхронизация, и по мере выполнения полной синхронизации она в конечном итоге будет перезаписана значениями атрибутов из активного рабочего профиля. После завершения полной синхронизации задание подготовки достигает стабильного состояния, он всегда выбирает активный рабочий профиль во время добавочной синхронизации.

Получение международных назначений на работу и сведений о дополнительной работе

По умолчанию соединитель Workday извлекает атрибуты, связанные с основной вакансией работника. Соединитель также поддерживает получение Additional Job Data связанных с международными заданиями заданий или дополнительными заданиями.

Чтобы получить атрибуты, связанные с международными заданиями заданий, выполните следующие действия.

  1. Задайте для URL-адреса подключения Workday использование API веб-службы Workday версии 30.0 или более поздней версии. Соответствующим образом задайте правильные значения XPath в приложении подготовки Workday.
  2. Используйте селектор @wd:Primary_Job=0 в узле Worker_Job_Data, чтобы получить правильный атрибут.
    • Пример 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

Следующие шаги