[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["很难理解","hardToUnderstand","thumb-down"],["信息或示例代码不正确","incorrectInformationOrSampleCode","thumb-down"],["没有我需要的信息/示例","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-09-04。"],[[["\u003cp\u003eThis parser ingests Workday HCM logs into Google SecOps, extracting user data from JSON logs.\u003c/p\u003e\n"],["\u003cp\u003eThe parser transforms data, handling field renaming, merging nested objects, and date parsing to populate UDM fields like user attributes, employment details, and organizational structure.\u003c/p\u003e\n"],["\u003cp\u003eBefore ingestion, it is necessary to create an Integration System User (ISU) and an integration security group within Workday, assigning them proper permissions.\u003c/p\u003e\n"],["\u003cp\u003eIn Google SecOps, you must configure a feed to ingest the Workday logs, specifying parameters like API Hostname, Tenant, and Access Token.\u003c/p\u003e\n"],["\u003cp\u003eThe parser maps various Workday fields to UDM fields, such as mapping 'Employee_ID' to \u003ccode\u003eread_only_udm.entity.entity.user.employee_id\u003c/code\u003e or mapping 'Hire_Date' to \u003ccode\u003eread_only_udm.entity.entity.user.hire_date\u003c/code\u003e, and it has handling for missing or malformed JSON data.\u003c/p\u003e\n"]]],[],null,["# Collect Workday HCM logs\n========================\n\nSupported in: \nGoogle secops [SIEM](/chronicle/docs/secops/google-secops-siem-toc)\n| **Note:** This feature is covered by [Pre-GA Offerings Terms](https://chronicle.security/legal/service-terms/) of the Google Security Operations Service Specific Terms. Pre-GA features might have limited support, and changes to pre-GA features might not be compatible with other pre-GA versions. For more information, see the [Google SecOps Technical Support Service guidelines](https://chronicle.security/legal/technical-support-services-guidelines/) and the [Google SecOps Service Specific Terms](https://chronicle.security/legal/service-terms/).\n\nThis document explains how to ingest Workday logs to Google Security Operations using the API. The parser extracts Workday HCM user data from JSON-formatted logs. It handles various data transformations, including renaming fields, merging nested objects, parsing dates, and populating UDM fields for user attributes, employment details, and organizational structure. Additionally, it includes error handling for malformed JSON and missing critical fields.\n\nBefore you begin\n----------------\n\nEnsure that you have the following prerequisites:\n\n- Google SecOps instance.\n- Privileged access to Workday.\n\nConfigure Workday API Authentication\n------------------------------------\n\n### Create an Integration System User (ISU) in Workday\n\n1. Sign in to Workday with administrative privileges.\n2. Type `Create Integration System User` in the search bar and select the task from the results.\n3. Enter a **Username**.\n4. Set a **Password**.\n5. Set **Session Timeout Minutes** to `0` to prevent the ISU from timing out.\n6. Enable **Do Not Allow UI Sessions** to enhance security by restricting UI logins.\n7. Go to the **Maintain Password Rules** task.\n8. Add the integration system user to the **System Users exempt from password expiration** field.\n\n### Create an integration security group in Workday\n\n1. Type `Create Security Group` in the search bar and select the task from the results.\n2. Locate the **Type of Tenanted Security Group** field, and select **Integration System Security Group (Unconstrained)**.\n3. Provide a **Name** for the security group.\n4. Click **OK**.\n5. Click **Edit** for the newly created security group.\n6. **Assign** the **Integration System User** from the previous step to the security group.\n7. Click **Done**.\n\n### Grant domain access to security group in Workday\n\n1. Type **Maintain Permissions for Security Group** in the search bar and select the task from the results.\n2. Choose the security group you created from the **Source Security Group** list to modify its permissions.\n3. Click **OK**.\n4. Go to **Maintain Permissions for Security Group** \\\u003e **Domain Security Policy Permissions**.\n5. Assign the necessary permissions for each domain, such as GET operations.\n6. Click **OK**.\n7. Click **Done** to save changes.\n\n### Activate security policy changes in Workday\n\n1. Type `Activate Pending Security Policy Changes` in the search bar and select the task from the results.\n2. Start the **Activate Pending Security Policy Changes** task by entering a reason for your audit in the comment field, then click **OK**.\n3. Complete the task on the next screen by selecting **Confirm** , then click **OK**.\n\n### Configure API Client for Integrations\n\n1. In the search bar, type `Register API Client for Integrations` and select it.\n2. Click **Create**.\n3. Provide the following configurations details:\n - **Client Name** : Enter a name for the API client (for example, `Google SecOps Client`).\n - **System User** : Select the **Integration System User** you created in the previous step.\n - **Scope**: Select HCM API or the relevant scope that includes the worker data and other areas you're accessing.\n4. Select **Save**.\n5. Click **OK** to create the API client.\n6. After creating the API client, **Save** the **Client Secret**. It will not be displayed again after you exit the page.\n\n### Generate OAuth 2.0 Refresh Token\n\n1. In the Workday search bar, type `Manage Refresh Tokens for Integrations` and select it.\n2. Click **Generate New Refresh Token**.\n3. In the **Workday Account** field, search for and select the **Integration System User** you created.\n4. Select the user and click **OK**.\n5. Copy and save the refresh token displayed.\n\n### Get API Endpoint URLs\n\n1. In the Workday search bar, type `View API Clients` and select it.\n2. Under **API Clients for Integrations** , locate the `Google SecOps Client` you created.\n3. Copy and save the following details:\n - **Token Endpoint** : The **URL** you will send a request to obtain an access token.\n - **Workday REST API Endpoint** : The **URL** you'll use to configure the integration with Google SecOps.\n\n### Generate OAuth Access Token\n\n1. Use curl or a similar HTTP client to send a POST request to the Token Endpoint:\n\n curl -X POST \"https://{hostname}/ccx/oauth2/token\" \\\n -d \"grant_type=refresh_token\" \\\n -d \"client_id={your_client_id}\" \\\n -d \"client_secret={your_client_secret}\" \\\n -d \"refresh_token={your_refresh_token}\"\n\n2. This will return an **access token** (for example, `\"access_token\": \"abcd1234\"`)\n\n3. Copy and save the access token.\n\nSet up feeds\n------------\n\nTo configure a feed, follow these steps:\n\n1. Go to **SIEM Settings** \\\u003e **Feeds**.\n2. Click **Add New Feed**.\n3. On the next page, click **Configure a single feed**.\n4. In the **Feed name** field, enter a name for the feed (for example, `Workday Logs`).\n5. Select **Third Party API** as the **Source type**.\n6. Select the **Workday** log type.\n7. Click **Next**.\n8. Specify values for the following input parameters:\n - **API Hostname**: the URL of your Workday REST API Endpoint.\n - **Tenant**: the last path element of your Workday API endpoint that identifies your instance.\n - **Access Token**: OAuth access token.\n9. Click **Next**.\n10. Review the feed configuration in the **Finalize** screen, and then click **Submit**.\n\nUDM Mapping Table\n-----------------\n\n**Need more help?** [Get answers from Community members and Google SecOps professionals.](https://security.googlecloudcommunity.com/google-security-operations-2)"]]