다음을 통해 공유


Microsoft Entra 프로비전이 Workday와 통합되는 방식

Microsoft Entra 사용자 프로비전 서비스Workday HCM과 통합되어 사용자의 ID 수명 주기를 관리합니다. Microsoft Entra ID는 세 가지 미리 빌드된 통합을 제공합니다.

이 문서에서는 통합이 작동하는 방식과 여러 HR 시나리오에 대한 프로비저닝 동작을 사용자 지정하는 방법을 설명합니다.

연결 설정

Microsoft Entra 엔드포인트에 대한 Workday API 액세스 제한

Microsoft Entra 프로비전 서비스는 기본 인증을 사용하여 Workday 웹 서비스 API 엔드포인트에 연결합니다.

Microsoft Entra 프로비전 서비스와 Workday 간의 연결을 더욱 안전하게 보호하기 위해 지정된 통합 시스템 사용자가 허용된 Microsoft Entra IP 범위에서만 Workday API에 액세스하도록 액세스를 제한할 수 있습니다. Workday 관리자와 협력하여 Workday 테넌트에서 다음 구성을 완료합니다.

  1. Azure 퍼블릭 클라우드의 최신 IP 범위 다운로드
  2. 파일을 열고 Microsoft Entra ID 태그를 검색합니다.
  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에 대한 연결을 테스트하기 위해 Microsoft Entra ID는 다음 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에서 모든 ID를 가져오고 각 작업자 개체에 적용할 프로비저닝 규칙을 결정하는 프로세스를 말합니다. 전체 동기화는 처음으로 프로비전을 켤 때와 Microsoft Entra 관리 센터에서 또는 Graph API를 사용하여 프로비전을 다시 시작할 때 발생합니다.

Microsoft Entra ID는 작업자 데이터를 검색하기 위해 다음 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 노드의 각 플래그에 대한 설명은 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에서 가져온 각 작업자 항목에 대해 다음을 수행합니다.

  • XPATH 식은 Workday에서 특성 값을 검색하는 데 적용됩니다.
  • 특성 매핑 및 일치 규칙이 적용됩니다.
  • 서비스는 대상(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는 작업자와 연결된 다른 데이터 세트를 반환할 수 있습니다. 프로비전 스키마에 구성된 XPATH API 식에 따라 Microsoft Entra 프로비전 서비스는 Workday에서 검색할 데이터 세트를 결정합니다. 따라서 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 관리자에게 문의하여, 프로비저닝 앱과 연결된 통합 시스템 사용자에 대해 적절한 도메인 보안 정책이 구성되어 있는지 확인합니다. 예를 들어 기술 데이터를 검색하려면 Workday 도메인 작업자 데이터: 기술 및 경험에 대한 액세스 권한 받기가 필요합니다.

특정 요구 사항을 충족하기 위해 Workday 통합을 확장할 수 있는 몇 가지 방법은 다음과 같습니다.

예제 1: 비용 센터 검색 및 그룹 정보 지불

Workday에서 다음 데이터 세트를 검색하고 프로비저닝 규칙에서 사용하려는 경우를 가정합니다.

  • 비용 센터
  • 비용 센터 계층 구조
  • 지불 그룹

위의 데이터 세트는 기본적으로 포함되어 있지 않습니다. 해당 데이터 세트를 검색하려면 다음과 같이 합니다.

  1. 최소한 응용 프로그램 관리자Microsoft Entra 관리 센터에 로그인합니다.

  2. ID>애플리케이션>엔터프라이즈 애플리케이션으로 이동합니다.

  3. Workday에서 Active Directory/Microsoft Entra 사용자 프로비저닝 애플리케이션을 선택합니다.

  4. 프로비저닝을 선택합니다.

  5. 매핑을 편집하고 고급 섹션에서 Workday 특성 목록을 엽니다.

  6. 다음 특성 정의를 추가하고 “필요”로 표시합니다. 이러한 특성은 Active Directory 또는 Microsoft Entra ID의 어떤 특성에도 매핑되지 않습니다. 해당 특성은 비용 센터, 비용 센터 계층 구조, 지불 그룹 정보를 검색하는 커넥터에 대한 신호로 사용됩니다.

    특성 이름 Workday 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 값을 사용하여 비용 센터 이름, 비용 센터 코드, 지불 그룹을 검색할 수 있습니다.

    특성 이름 Workday 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로 또는 그 반대로의 소급 변환

HR 팀은 타당한 비즈니스 이유로 Workday의 작업자 전환 트랜잭션을 소급 적용할 수 있습니다. 예를 들어, 급여 처리, 예산 준수, 법적 요구 사항 및 복리후생 관리 등이 있습니다. 이 시나리오에서 프로비전이 처리되는 방식을 보여 주는 예는 다음과 같습니다.

  • 2023년 1월 15일에 Jane Doe라는 사람이 임시직 작업자로 고용됩니다. 인사팀은 Jane에게 정규직 자리를 제안합니다.
  • Jane의 계약 변경 조건에 따라 이번 달 초에 맞춰 트랜잭션을 소급 적용해야 합니다. Workday 인사팀은 2023년 1월 1일을 발효일로 사용해서 2023년 1월 15일에 Workday에서 소급 적용된 작업자 변환 트랜잭션을 시작합니다. 이제 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일부터 정규직 직원으로 회사에 복귀하기로 결정합니다. HR은 2023년 4월 15일에 채용 전 직원으로 John의 정보를 입력합니다. 이제 Workday에서 John에게는 2개의 작업자 프로필이 있습니다. CW 프로필은 비활성 상태이고 FTE 프로필은 활성 상태입니다. 두 레코드는 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의 새로운 정규직 직원 작업자 프로필을 처리하고 John이 아직 임시직 작업자이더라도 AD에서 John의 프로필을 정규직 고용 세부 정보로 업데이트합니다.

  • 이 동작을 방지하고 John의 FTE 세부 정보가 2023년 2월 1일에 프로비전되도록 하려면 다음과 같이 구성을 변경합니다.

    구성 변경 내용

    1. Workday 관리자와 협력하여 "미래 날짜로 지정된 변환"이라는 프로비저닝 그룹을 만듭니다.
    2. Workday에서 미래 날짜로 지정된 변환이 있는 직원/임시직 작업자 레코드를 이 프로비저닝 그룹에 추가하는 논리를 구현합니다.
    3. 이 프로비전 그룹을 읽도록 Microsoft Entra 프로비전 앱을 업데이트합니다. 프로비저닝 그룹 검색 방법은 이 문서의 안내를 참조하세요.
    4. 이 프로비전 그룹에 속한 작업자 프로필을 제외하도록 Microsoft Entra ID에 범위 지정 필터를 만듭니다.
    5. Workday에서 변환 날짜가 발효되었을 때 Workday가 Workday의 프로비저닝 그룹에서 관련된 직원/임시직 작업자 레코드를 제거하도록 논리를 구현합니다.
    6. 이 구성을 사용하면 기존 직원/비정규직 작업자 기록이 계속 유효하며 프로비전 변경은 변환 당일에만 발생합니다.

참고 항목

초기 전체 동기화 중에 이전 비활성 작업자 프로필과 연결된 특성 값이 변환된 작업자의 AD 계정으로 흐르는 동작을 확인할 수 있습니다. 이는 일시적이며 전체 동기화가 진행됨에 따라 활성 작업자 프로필의 특성 값으로 덮어쓰게 됩니다. 전체 동기화가 완료되고 프로비전 작업이 안정적인 상태에 도달하면 증분 동기화 중에 항상 활성 작업자 프로필을 선택합니다.

국제 작업 할당 및 보조 작업 세부 정보 검색

기본적으로 Workday 커넥터는 작업자의 주 작업에 연결된 특성을 검색합니다. 커넥터는 국가별 직무 할당 또는 보조 직무와 관련된 Additional Job Data 검색도 지원합니다.

국가별 직무 배정과 관련된 특성을 검색하려면 다음 단계를 따릅니다.

  1. Workday 연결 URL이 Workday 웹 서비스 API 30.0 이상 버전을 사용하도록 설정합니다. 이에 따라 Workday 프로비저닝 앱에서 올바른 XPATH 값을 설정합니다.
  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를 사용합니다.

다음 단계