收集 Workday HCM 日志
支持的平台:
Google SecOps
SIEM
此解析器会从 JSON 格式的日志中提取 Workday HCM 用户数据。它可处理各种数据转换,包括重命名字段、合并嵌套对象、解析日期,以及为用户属性、雇佣详情和组织结构填充 UDM 字段。它还包括针对格式错误的 JSON 和缺少关键字段的错误处理。
准备工作
- 确保您拥有 Google SecOps 实例。
- 确保您拥有对 Workday 的特权访问权限。
在 Workday 中创建集成系统用户 (ISU)
- 使用管理员权限登录 Workday。
- 在搜索栏中输入创建集成系统用户,然后从结果中选择该任务。
- 输入用户名。
- 设置密码。
- 将会话超时分钟数设置为
0
,以防止 ISU 超时。 - 选中不允许界面会话复选框,以通过限制界面登录来增强安全性。
- 前往维护密码规则任务。
- 将集成系统用户添加到不受密码过期影响的系统用户字段,使其不受密码过期的影响。
在 Workday 中创建集成安全群组
- 在搜索栏中输入创建安全群组,然后从搜索结果中选择该任务。
- 找到租户安全群组的类型字段,然后选择集成系统安全群组(不受约束)。
- 为安全群组提供名称。
- 点击确定。
- 点击新创建的安全组对应的修改。
- 将上一步中的集成系统用户分配给安全群组。
- 点击完成。
向 Workday 中的安全群组授予网域访问权限
- 在搜索栏中输入维护安全群组的权限,然后从搜索结果中选择相应任务。
- 从来源安全群组列表中选择您创建的安全群组,以修改其权限。
- 点击确定。
- 依次前往维护安全群组的权限 > 网域安全策略权限。
- 为每个网域分配必要的权限,例如 GET 操作。
- 点击确定。
- 点击完成以保存更改。
在 Workday 中启用安全政策更改
- 在搜索栏中输入启用待处理的安全政策更改,然后从搜索结果中选择相应任务。
- 在“备注”字段中输入审核原因,然后点击确定,以启动启用待处理的安全政策更改任务。
- 在下一个屏幕上,选中确认复选框,完成任务,然后点击 OK。
在 Google SecOps 中配置 Feed 以提取 Workday 日志
- 依次前往 SIEM 设置 > Feed。
- 点击新增。
- 在 Feed 名称字段中,输入 Feed 的名称(例如 Workday 日志)。
- 选择第三方 API 作为来源类型。
- 选择 Workday 日志类型。
- 点击下一步。
- 为以下输入参数指定值:
- API 主机名:Workday REST API 端点的 FQDN。
- 租户:Workday API 端点的最后一个路径元素,用于标识您的实例。
- 访问令牌:OAuth 访问令牌。
- 资源命名空间:资源命名空间。
- 提取标签:应用于此 Feed 中的事件的标签。
- 点击下一步。
- 在最终确定界面中查看 Feed 配置,然后点击提交。
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
- 已迁移到默认解析器。