Workday HCM 로그 수집
다음에서 지원:
Google SecOps
SIEM
이 파서는 JSON 형식 로그에서 Workday HCM 사용자 데이터를 추출합니다. 필드 이름 변경, 중첩된 객체 병합, 날짜 파싱, 사용자 속성, 고용 세부정보, 조직 구조의 UDM 필드 채우기 등 다양한 데이터 변환을 처리합니다. 잘못된 형식의 JSON 및 누락된 중요한 필드에 대한 오류 처리도 포함됩니다.
시작하기 전에
- Google SecOps 인스턴스가 있는지 확인합니다.
- Workday에 대한 권한이 있는지 확인합니다.
Workday에서 통합 시스템 사용자 (ISU) 만들기
- 관리자 권한으로 Workday에 로그인합니다.
- 검색창에 Create Integration System User(통합 시스템 사용자 만들기)를 입력하고 검색 결과에서 작업을 선택합니다.
- Username(사용자 이름)을 입력합니다.
- 비밀번호를 설정합니다.
- ISU가 시간 초과되지 않도록 세션 제한 시간(분)을
0
로 설정합니다. - UI 세션 허용 안 함 체크박스를 선택하여 UI 로그인을 제한하여 보안을 강화합니다.
- 비밀번호 규칙 유지 작업으로 이동합니다.
- 통합 시스템 사용자를 비밀번호 만료가 적용되지 않는 시스템 사용자 필드에 추가하여 비밀번호 만료에서 제외합니다.
Workday에서 통합 보안 그룹 만들기
- 검색창에 보안 그룹 만들기를 입력하고 검색 결과에서 작업을 선택합니다.
- 테넌트 보안 그룹 유형 필드를 찾아 통합 시스템 보안 그룹 (제약 없음)을 선택합니다.
- 보안 그룹의 이름을 입력합니다.
- 확인을 클릭합니다.
- 새로 만든 보안 그룹에서 수정을 클릭합니다.
- 이전 단계의 통합 시스템 사용자를 보안 그룹에 할당합니다.
- 완료를 클릭합니다.
Workday의 보안 그룹에 도메인 액세스 권한 부여
- 검색창에 보안 그룹 권한 유지를 입력하고 검색 결과에서 작업을 선택합니다.
- 소스 보안 그룹 목록에서 만든 보안 그룹을 선택하여 사용 권한을 수정합니다.
- 확인을 클릭합니다.
- 보안 그룹 권한 유지 > 도메인 보안 정책 권한으로 이동합니다.
- GET 작업과 같이 각 도메인에 필요한 권한을 할당합니다.
- 확인을 클릭합니다.
- 완료를 클릭하여 변경사항을 저장합니다.
Workday에서 보안 정책 변경사항 활성화
- 검색창에 대기 중인 보안 정책 변경사항 활성화를 입력하고 결과에서 작업을 선택합니다.
- 감사 사유를 주석 입력란에 입력하여 대기 중인 보안 정책 변경사항 활성화 태스크를 시작한 다음 확인을 클릭합니다.
- 다음 화면에서 확인 체크박스를 선택하여 작업을 완료한 다음 OK를 클릭합니다.
Workday 로그를 수집하도록 Google SecOps에서 피드 구성
- SIEM 설정 > 피드로 이동합니다.
- 새로 추가를 클릭합니다.
- 피드 이름 필드에 피드 이름을 입력합니다 (예: Workday Logs).
- 소스 유형으로 서드 파티 API를 선택합니다.
- Workday 로그 유형을 선택합니다.
- 다음을 클릭합니다.
- 다음 입력 매개변수의 값을 지정합니다.
- API 호스트 이름: Workday REST API 엔드포인트의 FQDN입니다.
- 테넌트: 인스턴스를 식별하는 Workday API 엔드포인트의 마지막 경로 요소입니다.
- 액세스 토큰: OAuth 액세스 토큰입니다.
- 애셋 네임스페이스: 애셋 네임스페이스입니다.
- 수집 라벨: 이 피드의 이벤트에 적용된 라벨입니다.
- 다음을 클릭합니다.
- 확정 화면에서 피드 구성을 검토한 다음 제출을 클릭합니다.
UDM 매핑 표
로그 필드 | UDM 매핑 | 논리 |
---|---|---|
@timestamp |
read_only_udm.metadata.event_timestamp.seconds |
원시 로그의 @timestamp 필드 이름이 timestamp 로 변경되고 에포크 이후 초 단위의 타임스탬프로 파싱됩니다. |
businessTitle |
read_only_udm.entity.entity.user.title |
원시 로그의 businessTitle 필드에서 직접 매핑됩니다. |
descriptor |
read_only_udm.entity.entity.user.user_display_name |
원시 로그의 descriptor 필드에서 직접 매핑됩니다. |
Employee_ID |
read_only_udm.entity.entity.user.employee_id |
원시 로그의 Employee_ID 필드에서 직접 매핑됩니다. |
Employee_ID |
read_only_udm.entity.metadata.product_entity_id |
id 가 없는 경우 원시 로그의 Employee_ID 필드에서 직접 매핑됩니다. |
gopher-supervisor.descriptor |
read_only_udm.entity.entity.user.managers.user_display_name |
원시 로그의 gopher-supervisor.descriptor 필드에서 직접 매핑되고 empmanager.user_display_name 로 이름이 변경된 후 managers 에 병합되었습니다. |
gopher-supervisor.id |
read_only_udm.entity.entity.user.managers.product_object_id |
원시 로그의 gopher-supervisor.id 필드에서 직접 매핑되고 empmanager.product_object_id 로 이름이 변경된 후 managers 에 병합되었습니다. |
gopher-supervisor.primaryWorkEmail |
read_only_udm.entity.entity.user.managers.email_addresses |
원시 로그의 gopher-supervisor.primaryWorkEmail 필드에서 직접 매핑된 후 managers 에 병합됩니다. |
gopher-time-off.date |
read_only_udm.entity.entity.user.time_off.interval.start_time |
원시 로그의 gopher-time-off 배열 내 gopher-time-off.date 필드에서 날짜로 파싱됩니다. |
gopher-time-off.descriptor |
read_only_udm.entity.entity.user.time_off.description |
원시 로그의 gopher-time-off 배열 내 gopher-time-off.descriptor 필드에서 직접 매핑됩니다. |
Hire_Date |
read_only_udm.entity.entity.user.hire_date |
원시 로그의 Hire_Date 필드에서 날짜로 파싱됩니다. |
id |
read_only_udm.entity.metadata.product_entity_id |
원시 로그에 있는 경우 id 필드에서 직접 매핑됩니다. |
Job_Profile |
read_only_udm.entity.entity.user.title |
businessTitle 가 없으면 원시 로그의 Job_Profile 필드에서 직접 매핑됩니다. |
Legal_Name_First_Name |
read_only_udm.entity.entity.user.first_name |
원시 로그의 Legal_Name_First_Name 필드에서 직접 매핑됩니다. |
Legal_Name_Last_Name |
read_only_udm.entity.entity.user.last_name |
원시 로그의 Legal_Name_Last_Name 필드에서 직접 매핑됩니다. |
location.descriptor |
read_only_udm.entity.entity.location.city |
원시 로그의 location.descriptor 필드에서 직접 매핑되었으며, 이름이 _location.city 로 변경된 후 entity.entity.location.city 로 변경되었습니다. |
primarySupervisoryOrganization.descriptor |
read_only_udm.entity.entity.user.department |
원시 로그의 primarySupervisoryOrganization.descriptor 필드에서 직접 매핑됩니다. |
primaryWorkEmail |
read_only_udm.entity.entity.user.email_addresses |
원시 로그의 primaryWorkEmail 필드에서 직접 매핑됩니다. |
primaryWorkPhone |
read_only_udm.entity.entity.user.phone_numbers |
원시 로그의 primaryWorkPhone 필드에서 직접 매핑됩니다. |
Termination_Date |
read_only_udm.entity.entity.user.termination_date |
원시 로그의 Termination_Date 필드에서 날짜로 파싱됩니다. |
Work_Email |
read_only_udm.entity.entity.user.email_addresses |
primaryWorkEmail 가 없으면 원시 로그의 Work_Email 필드에서 직접 매핑됩니다. |
collection_time |
read_only_udm.metadata.event_timestamp.collected_timestamp |
로그의 collection_time 은 collected_timestamp 에 매핑됩니다. |
변경사항
2022-09-15
- 기본 파서로 이전했습니다.
2022-05-11
- 기본 파서로 이전했습니다.