OneTrust
Visualize OneTrust users, groups, risk, and vendors, and monitor changes through queries and alerts.
- Installation
- Authorization
- Data Model
- Types
Installation
Requirements
- An active OneTrust account with API access.
- A OneTrust user who can create OAuth 2.0 client credentials in Global Settings.
- Permission in JupiterOne to install new integrations.
Client credentials are assigned to the organization in which they are created, and calls made with those credentials only return objects accessible to that organizational group. Create the credentials in the organization whose data you want to ingest (typically the root or Global organization).
Configuration in OneTrust
Generate OAuth 2.0 Client Credentials and collect Host URL
- Log in to your OneTrust account.
- Click the gear icon in the upper-right corner to access Global Settings.
- Open the Client credentials screen, then click Add.
- Enter a Name for the client credential. The name cannot be changed later.
- (Optional) Enter a Description.
- Set the Access token lifetime. Any option works because the integration refreshes the token automatically;
1 Houris a safe default. - (Optional) Enable Restrict IP addresses to limit incoming communication to specific IP addresses. If enabled, enter the allowed addresses.
- Click Next. The Scope section appears.
- Select the scopes the integration requires:
- SCIM — fetches user and group data.
- RISK_READ — fetches risk data.
- INVENTORY_READ — fetches vendor data.
- Click Create. The Client ID and Client Secret section appears.
- Click Download to save the
.txtfile containing your Client ID and Client Secret to a secure location, then click Close. - Note your OneTrust Host URL from the browser address bar, for example
https://customer.my.onetrust.com.
Configuration in JupiterOne
- From the top navigation of the J1 Search homepage, select Integrations.
- Search for OneTrust and select it.
- Click on the Add Instance button and configure the following settings:
- Enter the OneTrust Host — the host URL of your OneTrust portal, for example
https://customer.my.onetrust.com. - Enter the Client ID generated in the OneTrust portal.
- Enter the Client Secret generated in the OneTrust portal. This value is stored securely.
- Enter the Account Name by which you'd like to identify this OneTrust instance in JupiterOne. Ingested entities will have this value stored in
tag.AccountNamewhen Tag with Account Name is checked. - Enter a Description to help your team identify the integration instance.
- Select a Polling Interval that fits your monitoring needs. You may leave this as
DISABLEDand manually execute the integration.
- Click Create Instance once all values are provided.
Next steps
Now that your integration instance has been configured, it will begin running on the polling interval you provided, populating data within JupiterOne. Continue on to our Instance management guide to learn more about working with and editing integration instances.
OAuth Scopes
OAuth scopes that must be granted to the application or service principal.
Show OAuth Scopes (3)
INVENTORY_READRISK_READSCIM
Endpoints
API endpoints that the integration makes requests to.
Show Endpoints (4)
GET /api/inventory/v2/inventories/vendorsGET /api/scim/v3/GroupsGET /api/scim/v3/UsersPOST /api/risk/v2/risks/pages
Documentation Links
Links to provider documentation relevant to setup and configuration.
Show Documentation Links (5)
- https://developer.onetrust.com/onetrust/reference/getgroups
- https://developer.onetrust.com/onetrust/reference/getlistofinventoriesusingget
- https://developer.onetrust.com/onetrust/reference/getriskpageviewusingpost
- https://developer.onetrust.com/onetrust/reference/getusers
- https://developer.onetrust.com/onetrust/reference/oauth-20-scopes
Per-Step Breakdown
Detailed authorization requirements for each ingestion step.
Show all steps (1)
| Step | OAuth Scopes | Endpoints |
|---|---|---|
| Fetch Users | SCIM | GET /api/scim/v3/Users |
Entities
The following entities are created:
| Resources | Entity _type | Entity _class |
|---|---|---|
| Account | onetrust_account | Account |
| Risk | onetrust_risk | Risk |
| User | onetrust_user | User |
| User Group | onetrust_user_group | Group |
| Vendor | onetrust_vendor | Vendor |
Relationships
The following relationships are created:
Source Entity _type | Relationship _class | Target Entity _type |
|---|---|---|
onetrust_account | HAS | onetrust_user_group |
onetrust_account | HAS | onetrust_vendor |
onetrust_account | HAS | onetrust_risk |
onetrust_user_group | HAS | onetrust_user |
Onetrust Account
onetrust_account inherits from Account
Onetrust Risk
onetrust_risk inherits from Risk
| Property | Type | Description | Specifications |
|---|---|---|---|
actionId | number | ||
closedAt | number | ||
controlsIdentifier * | array of strings | ||
deadline | number | ||
id * | string | ||
impactLevel | string | ||
impactLevelId | number | ||
inherentImpact * | number | ||
inherentImpactLevel | string | ||
inherentProbability * | number | ||
inherentProbabilityLevel | string | ||
inherentRiskScore | number | ||
justification | string | ||
level | string | ||
levelId | number | ||
mitigatedOn | number | ||
orgGroupId | string | ||
orgGroupName | string | ||
previousState | string | ||
probabilityLevel | string | ||
probabilityLevelId | number | ||
recommendation | string | ||
references | string | ||
remediationProposal | string | ||
result | string | ||
riskNumber * | number | ||
riskOwnersId * | array of strings | ||
riskType | string | ||
sourceId | string | ||
sourceName | string | ||
targetImpact * | number | ||
targetImpactLevel | string | ||
targetLevel | string | ||
targetProbability * | number | ||
targetProbabilityLevel | string | ||
targetRiskScore | number | ||
threatName | string | ||
treatment | string | ||
treatmentStatus | string | ||
updatedBy | string | ||
updatedByName | string | ||
vulnerabilityNames | string | ||
workflowId | string | ||
workflowName | string |
Onetrust User
onetrust_user inherits from User
| Property | Type | Description | Specifications |
|---|---|---|---|
title | string |
Onetrust User Group
onetrust_user_group inherits from Group
| Property | Type | Description | Specifications |
|---|---|---|---|
externalId | string |
Onetrust Vendor
onetrust_vendor inherits from Vendor
| Property | Type | Description | Specifications |
|---|---|---|---|
canViewDetails | boolean | ||
isDeletable | boolean | ||
isEditable | boolean | ||
isParent | boolean | ||
organizationId | string | ||
organizationName | string | ||
typeId | string | ||
typeValue | string | ||
vendorNumber | number | A number value assign to each vendor by OneTrust | |
workflowId | string | ||
workflowStage | string | ||
workflowValue | string |