Recopila registros de Workday HCM
Este analizador extrae datos de usuarios de Workday HCM de registros con formato JSON. Controla varias transformaciones de datos, como cambiar el nombre de los campos, combinar objetos anidados, analizar fechas y propagar campos de la UDM para los atributos del usuario, los detalles de empleo y la estructura organizativa. También incluye el manejo de errores para JSON con formato incorrecto y campos críticos faltantes.
Antes de comenzar
- Asegúrate de tener una instancia de Google SecOps.
- Asegúrate de tener acceso con privilegios a Workday.
Crea un usuario del sistema de integración (ISU) en Workday
- Accede a Workday con privilegios de administrador.
- Escribe Create Integration System User en la barra de búsqueda y selecciona la tarea de los resultados.
- Ingresa un Nombre de usuario.
- Establece una contraseña.
- Establece Session Timeout Minutes en
0
para evitar que se agote el tiempo de espera de la ISU. - Selecciona la casilla de verificación Do Not Allow UI Sessions para mejorar la seguridad mediante la restricción de los accesos a la IU.
- Ve a la tarea Mantener las reglas de contraseñas.
- Para eximir al usuario del sistema de integración del vencimiento de la contraseña, agrégalo al campo System Users exempt from password expiration.
Crea un grupo de seguridad de integración en Workday
- Escribe Crear grupo de seguridad en la barra de búsqueda y selecciona la tarea en los resultados.
- Busca el campo Type of Tenanted Security Group y selecciona Integration System Security Group (Unconstrained).
- Proporciona un nombre para el grupo de seguridad.
- Haz clic en Aceptar.
- Haz clic en Editar para el grupo de seguridad que acabas de crear.
- Asigna el usuario del sistema de integración del paso anterior al grupo de seguridad.
- Haz clic en Listo.
Otorga acceso al dominio al grupo de seguridad en Workday
- Escribe Mantener permisos para el grupo de seguridad en la barra de búsqueda y selecciona la tarea de los resultados.
- Elige el grupo de seguridad que creaste en la lista Grupo de seguridad de origen para modificar sus permisos.
- Haz clic en Aceptar.
- Ve a Mantener permisos para el grupo de seguridad > Permisos de la directiva de seguridad del dominio.
- Asigna los permisos necesarios para cada dominio, como las operaciones GET.
- Haz clic en Aceptar.
- Haz clic en Listo para guardar los cambios.
Activa los cambios en la política de seguridad en Workday
- Escribe Activate Pending Security Policy Changes en la barra de búsqueda y selecciona la tarea de los resultados.
- Para iniciar la tarea Activar cambios pendientes en la política de seguridad, ingresa un motivo para la auditoría en el campo de comentarios y, luego, haz clic en Aceptar.
- En la siguiente pantalla, selecciona la casilla de verificación Confirmar y, luego, haz clic en Aceptar para completar la tarea.
Configura un feed en Google SecOps para transferir registros de Workday
- Ve a Configuración de SIEM > Feeds.
- Haz clic en Agregar nueva.
- En el campo Nombre del feed, ingresa un nombre para el feed (por ejemplo, Registros de jornada laboral).
- Selecciona API de terceros como el Tipo de origen.
- Selecciona el tipo de registro Día laboral.
- Haz clic en Siguiente.
- Especifica valores para los siguientes parámetros de entrada:
- Nombre de host de la API: Es el FQDN de tu extremo de API de Workday REST.
- Tenant: Es el último elemento de ruta de acceso de tu extremo de la API de Workday que identifica tu instancia.
- Token de acceso: Es el token de acceso de OAuth.
- Espacio de nombres de recursos: Es el espacio de nombres de recursos.
- Etiquetas de transferencia: Es la etiqueta que se aplica a los eventos de este feed.
- Haz clic en Siguiente.
- Revisa la configuración del feed en la pantalla Finalizar y, luego, haz clic en Enviar.
Tabla de asignación de UDM
Campo de registro | Asignación de UDM | Lógica |
---|---|---|
@timestamp |
read_only_udm.metadata.event_timestamp.seconds |
El campo @timestamp del registro sin procesar se cambia a timestamp y se analiza como una marca de tiempo en segundos desde la época. |
businessTitle |
read_only_udm.entity.entity.user.title |
Se asignan directamente desde el campo businessTitle en el registro sin formato. |
descriptor |
read_only_udm.entity.entity.user.user_display_name |
Se asignan directamente desde el campo descriptor en el registro sin formato. |
Employee_ID |
read_only_udm.entity.entity.user.employee_id |
Se asignan directamente desde el campo Employee_ID en el registro sin formato. |
Employee_ID |
read_only_udm.entity.metadata.product_entity_id |
Se asigna directamente desde el campo Employee_ID en el registro sin procesar cuando no está presente id . |
gopher-supervisor.descriptor |
read_only_udm.entity.entity.user.managers.user_display_name |
Se asignan directamente desde el campo gopher-supervisor.descriptor en el registro sin procesar, se cambia el nombre a empmanager.user_display_name y, luego, se combinan en managers . |
gopher-supervisor.id |
read_only_udm.entity.entity.user.managers.product_object_id |
Se asignan directamente desde el campo gopher-supervisor.id en el registro sin procesar, se cambia el nombre a empmanager.product_object_id y, luego, se combinan en managers . |
gopher-supervisor.primaryWorkEmail |
read_only_udm.entity.entity.user.managers.email_addresses |
Se asignan directamente desde el campo gopher-supervisor.primaryWorkEmail en el registro sin procesar y, luego, se combinan en managers . |
gopher-time-off.date |
read_only_udm.entity.entity.user.time_off.interval.start_time |
Se analiza como una fecha del campo gopher-time-off.date dentro del array gopher-time-off en el registro sin procesar. |
gopher-time-off.descriptor |
read_only_udm.entity.entity.user.time_off.description |
Se asignan directamente desde el campo gopher-time-off.descriptor dentro del array gopher-time-off en el registro sin formato. |
Hire_Date |
read_only_udm.entity.entity.user.hire_date |
Se analiza como una fecha del campo Hire_Date en el registro sin procesar. |
id |
read_only_udm.entity.metadata.product_entity_id |
Se asigna directamente desde el campo id en el registro sin formato cuando está presente. |
Job_Profile |
read_only_udm.entity.entity.user.title |
Se asigna directamente desde el campo Job_Profile en el registro sin procesar cuando no está presente businessTitle . |
Legal_Name_First_Name |
read_only_udm.entity.entity.user.first_name |
Se asignan directamente desde el campo Legal_Name_First_Name en el registro sin formato. |
Legal_Name_Last_Name |
read_only_udm.entity.entity.user.last_name |
Se asignan directamente desde el campo Legal_Name_Last_Name en el registro sin formato. |
location.descriptor |
read_only_udm.entity.entity.location.city |
Se asignan directamente desde el campo location.descriptor en el registro sin formato y se cambia su nombre a _location.city y, luego, a entity.entity.location.city . |
primarySupervisoryOrganization.descriptor |
read_only_udm.entity.entity.user.department |
Se asignan directamente desde el campo primarySupervisoryOrganization.descriptor en el registro sin formato. |
primaryWorkEmail |
read_only_udm.entity.entity.user.email_addresses |
Se asignan directamente desde el campo primaryWorkEmail en el registro sin formato. |
primaryWorkPhone |
read_only_udm.entity.entity.user.phone_numbers |
Se asignan directamente desde el campo primaryWorkPhone en el registro sin formato. |
Termination_Date |
read_only_udm.entity.entity.user.termination_date |
Se analiza como una fecha del campo Termination_Date en el registro sin procesar. |
Work_Email |
read_only_udm.entity.entity.user.email_addresses |
Se asigna directamente desde el campo Work_Email en el registro sin procesar cuando no está presente primaryWorkEmail . |
collection_time |
read_only_udm.metadata.event_timestamp.collected_timestamp |
El collection_time del registro se asigna a collected_timestamp . |
Cambios
2022-09-15
- Se migró al analizador predeterminado.
2022-05-11
- Se migró al analizador predeterminado.