Leverage this integration to unify user identities and centralize user lifecycle management in JumpCloud. Import new users from Workday into JumpCloud to save time and avoid mistakes, as well as potential security risks, related to manually creating users. Use JumpCloud SAML Single Sign On (SSO) to give your users convenient but secure access to Workday with their one user identity.
Read this article to learn how to setup the Workday integration.
Prerequisites
- A JumpCloud administrator account
- JumpCloud SSO Package or higher or SSO à la carte option
- A Workday Organization Admin account
- Your Workday domain name
Considerations
- Enabling SAML will affect all users who use this application, which means that users will not be able to sign-in through their regular log-in page. If you enable SP-initiated SSO, users will only be able to access the app through JumpCloud.
- The Identity Management integration is for creating new users in JumpCloud from Workday only. The integration does not import updates to existing users.
- User import is one way, from Workday to JumpCloud, and unique users may only be imported once. Changes to users in JumpCloud will not be reflected back to Workday.
- The user import process is manual – there is no ongoing data synchronization after the import is complete.
- JumpCloud imports only JSON formatted data
Creating a new JumpCloud Application Integration
- Log in to the JumpCloud Admin Portal.
- Go to USER AUTHENTICATION > SSO Applications.
- Click + Add New Application.
- Type the name of the application in the Search field and select it.
- Click Next.
- In the Display Label, type your name for the application. Optionally, you can enter a Description, adjust the User Portal Image and choose to hide or Show in User Portal.
If this is a Bookmark Application, enter your sign-in URL in the Bookmark URL field.
- Optionally, expand Advanced Settings to specify a value for the SSO IdP URL. If no value is entered, it will default to https://sso.jumpcloud.com/saml2/<applicationname>.
The SSO IdP URL is not editable after the application is created. You will have to delete and recreate the connector if you need to edit this field at a later time.
- Click Save Application.
- If successful, click:
- Configure Application and go to the next section
- Close to configure your new application at a later time
Configuring the SSO Integration
JumpCloud sends a value, the NameID, in the SAML Assertion that Workday uses to identify which user is attempting SSO. This value must match a user's Workday username. If your users' Workday usernames already exist within JumpCloud (as their emails or JumpCloud usernames), you may choose which of these attributes to send as the NameID for each user. If your users' Workday usernames do not match any pre-existing attributes in JumpCloud, you will need to add a WorkdayID custom attribute for every user that will be using SSO to Workday. To do so, complete the following steps for every user:
- In the JumpCloud Admin Portal, navigate to USER MANAGEMENT > Users
- Select the user for whom you will add a custom attribute
- Select the Details tab and then scroll down to the Custom Attributes section
- Select add new custom attribute
- In the Attribute Name field, enter WorkdayID
- In the Attribute Value field, enter the user’s Workday username
- Select Save User
To configure JumpCloud
- Create a new application or select it from the Configured Applications list.
- Select the SSO tab.
- Add or change any attributes.
- Click save.
Download the certificate
- Find your application in the Configured Applications list and click anywhere in the row to reopen its configuration window.
- Select the SSO tab and click IDP Certificate Valid > Download certificate.
The certificate.pem will download to your local Downloads folder.
To configure Workday
- Log in to Workday as an administrator.
- Select on the user menu in the upper left corner (your Workday avatar).
- Select Workbench from the drop-down menu.
- Select Account Administration.
- Select Edit Tenant Setup – Security.
- In the Single Sign-on section under Redirection URLs, select the + icon.
- Under Redirect Type, select Single URL and enter the following information:
- Login Redirect URL – copy and paste the JumpCloud IDP URL
- Logout Redirect URL – enter https://console.jumpcloud.com/userconsole/
- Environment – click inside the field and select Implementation from the drop-down menu
- In the SAML Setup section, check the box next to Enable SAML Authentication and SAML Identity Providers and select the + icon. Enter the following information:
- Identity Provider Name – enter JumpCloud
- Issuer – enter https://YOURDOMAIN.com (replace YOURDOMAIN with your company’s unique domain)
- x509 Certificate – select inside the field and select Create x509 Public Key
- On the Create x509 Public Key page, enter a Name for your certificate
- Certificate – copy and paste the contents of the certificate downloaded in the previous section
- Select OK.
- Back on the Edit Tenant Setup – Security page, leave the Service Provider ID as the default value or, if it is blank, enter http://www.workday.com.
- Check the box next to Enable SP Initiated SAML Authentication.
- In the IdP SSO Service URL field, enter the same JumpCloud IDP URL.
- Select inside the Authentication Request Signature Method field and select SHA-256 from the drop-down menu.
- Ensure that all other values and checkboxes in both the Single Sign-on and SAML Setup sections of this page (that are not explicitly mentioned above) are blank and unchecked, respectively.
- Select OK and then Done.
Authorizing User SSO Access
Users are implicitly denied access to applications. After you connect an application to JumpCloud, you need to authorize user access to that application. You can authorize user access from the Application Configuration panel or from the Groups Configuration panel.
To authorize user access from the Application Configuration panel
- Log in to the JumpCloud Admin Portal.
- Go to USER AUTHENTICATION > SSO Applications, then select the application to which you want to authorize user access.
- Select the User Groups tab. If you need to create a new group of users, see Get Started: User Groups.
- Select the check box next to the group of users you want to give access.
- Click save.
To learn how to authorize user access from the Groups Configuration panel, see Authorize Users to an SSO Application.
Validating SSO user authentication workflow(s)
IdP-initiated user workflow
- Access the JumpCloud User Console
- Go to Applications and click an application tile to launch it
- JumpCloud asserts the user’s identity to the SP and is authenticated without the user having to log in to the application
SP-initiated user workflow
- Go to the SP application login – generally, there is either a special link or an adaptive username field that detects the user is authenticated through SSO
This varies by SP.
- Login redirects the user to JumpCloud where the user enters their JumpCloud credentials
- After the user is logged in successfully, they are redirected back to the SP and automatically logged in
Configuring the Identity Management Integration
To configure Workday
Creating a Workday Integration System User
Use good security practices for this user. It should only be used for the Workday <> JumpCloud integration and leverage a strong password.
- In Workday, search “create integration system user” and select the resulting task.
- Specify a User Name and a strong password.
- Set the session timeout to a value as low as possible.
- Select Do Not Allow UI Sessions.
- Select OK, then Done.
Creating a security group
- In Workday, search “create security group” and select the resulting task.
- For Type of Tenanted Security Group, select Integration System Security Group (Unconstrained).
- Specify a name for the group, select OK.
- For Integration System Users, add the user created in the prior step, select OK, then Done.
Assigning the group to domain Security Configuration
In Workday, perform steps 1-4 for each Domain/Permission pair in the table that follows:
Domain | Permission |
Workday Accounts | Get |
Worker Data Public Worker Reports | Get |
Person Data Work Contact Information | Get |
Worker Data Current Staffing Information | Get |
Worker Data All Positions | Get |
Worker Data Business Title on Worker Profile | Get |
- Search “domain security configuration” and select the result.
- In the Domain field, search the Domain from the table, select the result, select OK.
- Select the (…) next to the Domain name; under Actions, select Domain > Edit Security Policy Permissions.
- Under Integrated Permissions, add the Security Group created in the above steps and select the Permission.
- Select OK, then Done. If an alert to Activate Pending Security Policy Changes is displayed, do this after all domains have been updated for the security changes to take effect immediately.
To configure JumpCloud
Authorizing Workday
- In the JumpCloud Admin Portal, navigate to DIRECTORY INTEGRATIONS > HR Directories.
- Select the Workday tile and click Configure.
- Under Workday Authorization, click Authorize Workday. Provide JumpCloud with the credentials for the Integration System User created in the steps above.
- Click authorize.
Creating a Custom Report
Minimize risk by creating a report specifically for importing users to JumpCloud including only the attributes that can be utilized by JumpCloud.
- Search “create custom report” and select the result.
- Specify:
- Report Name
- For Report Type, choose Advanced.
- Data Source: This will depend on the manner Workday is organized. All Active Employees is used here, but your data source may vary.
- Check Enable As Web Service and select OK.
- Edit Custom Report : (* indicates data required for import) Attributes must be mapped in the Columns tab of the custom report, see also the example JSON data below. The Business Object ‘Worker’ is used for the following fields:
Field (Your field source may vary) | Column Heading Override XML Alias |
Workday ID* | id |
Employee ID | employee_id |
Email – Primary Work* | |
User Name* | username |
First Name | first_name |
Last Name | last_name |
Hire Date | hire_date |
User Name** | WorkdayID |
** (Optional, for use with Workday SAML) The Workday Value mapped to the JumpCloud key WorkdayID will be sent as the SAML Subject NameID in the SAML response.
- Share the report with the integration system user.
- Select the Share tab, then Share with all authorized groups and users.
- Select the Share tab, then Share with all authorized groups and users.
- Get the report URL after completing the new report by selecting the (…) next to the report name; under Actions, select Web Service > View URLs.
- Copy the provided JSON URL and paste into the JumpCloud Workday setting WORKDAY CUSTOM REPORT URL.
Importing Workday Users
Considerations
- Field validation for required data (asterisk indicates the input must be globally unique):
- username* – Usernames must only contain letters, numbers or _ and cannot start with a number
- email* – Must be a valid email address
- Importing large numbers of records may take several minutes to complete. Any import more than 500 records will not return results to the console. A workday import notification will be sent when complete and allow for CSV download of import results.
To import users
- Select Import Workday Users.
- The Workday Import Creation window will present, allowing the selection of users to import and modification to the name, email, and username attributes prior to import. Select the vertical ellipsis to expand and view additional Preview Attributes.
- Select Import when ready. Import results will be displayed on the subsequent screen.
- Users will be imported into an inactive state and can be found on the Imported Users tab. They can now be managed in the same manner as any other JumpCloud user.
- To notify the user of activation, either in the Imported Users tab or the Users Object, the users can be selected, then select the send/resend activation email button.
- Once the user is activated in JumpCloud, they will no longer display on the Imported Users tab.
The WorkdayID and employee_id (both optional) will be added as a Custom User Attribute to the JumpCloud user as "WorkdayID" and "EmployeeID" respectively, additional "Preview Attributes" listed here are not currently imported into JumpCloud.
Valid JSON example from the Workday custom report:
{
"Report_Entry": [{
"first_name": "Abby",
"last_name": "Brennan",
"location": "Chicago",
"Cost_Center_-_Organization_Top": "33100 Global Support - North America; US - Central; Global Modern Services, Inc. (USA); Other Services",
"username": "abrennan",
"hire_date": "2018-01-03T16:54:35Z",
"id": "6dcb8106e8b74b5aabb1fc3ab8ef2b92",
"email": "[email protected]"
},
{
"first_name": "Adam",
"last_name": "Carlton",
"location": "Boston",
"cost_center_-_organization_top": "41200 Payroll; US - Northeast; Global Modern Services, Inc. (USA)",
"username": "acarlton",
"id": "1da8b422311b4929bfa4520f7f0b4e83",
"email": "[email protected]"
}]
}
Removing the SSO Integration
These are steps for removing the integration in JumpCloud. Consult your SP's documentation for any additional steps needed to remove the integration in the SP. Failure to remove the integration successfully for both the SP and JumpCloud may result in users losing access to the application.
To deactivate the SSO Integration
- Log in to the JumpCloud Admin Portal.
- Go to USER AUTHENTICATION > SSO Applications.
- Search for the application that you’d like to deactivate and click to open its details panel.
- Select the SSO tab.
- Scroll to the bottom of the configuration.
- Click Deactivate SSO.
- Click save.
- If successful, you will receive a confirmation message.
To delete the application
- Log in to the JumpCloud Admin Portal.
- Go to USER AUTHENTICATION > SSO Applications.
- Search for the application that you’d like to delete.
- Check the box next to the application to select it.
- Click Delete.
- Enter the number of the applications you are deleting
- Click Delete Application.
- If successful, you will see an application deletion confirmation notification.
Deleting the Workday Identity Management Integration
The Workday integration can be deleted using the JumpCloud API. You will need the id of your Workday integration.
To get the Workday integration id
- Log in to the JumpCloud Admin Portal.
- Navigate to DIRECTORY INTEGRATIONS > HR Directories.
- Click on the Workday
- In the browser navigation bar, copy the id from the URL
- Example: https://console.jumpcloud.com/#/directories/hr-directories/workday/1a11ab111f111f1ea11af1/details
To delete the Workday integration
From Mac, run the following command from the terminal, replacing {id} with the id copied above:
curl --request DELETE \
--url https://console.jumpcloud.com/api/v2/workdays/{id} \
--header 'x-api-key: REPLACE_KEY_VALUE'
From Windows, run the following commands in PowerShell, replacing {id} with the id copied above:
$headers=@{}
$headers.Add("x-api-key", "REPLACE_KEY_VALUE")
$response = Invoke-RestMethod -Uri 'https://console.jumpcloud.com/api/v2/workdays/{id}' -Method DELETE -Headers $headers