Zentral
Visualize Zentral managed devices, users, device apps, profiles, and certificates, and monitor changes through queries and alerts.
- Installation
- Authorization
- Data Model
- Types
- Release Notes
Installation
JupiterOne requires a Zentral API token and the base URL of your Zentral instance. The service account that owns the token must be granted the Inventory::Action::"viewMachineSnapshot" PBAC action, which authorizes the full-inventory export used to collect all device, user, profile, certificate, and application data.
Configuration in Zentral
Create a role
- Log in to your Zentral console.
- Go to Platform settings > Roles.
- Click Add role, enter a name such as
JupiterOne Inventory Reader, and save. - Note the numeric ID displayed in the role list or URL — you will need it when writing the policy.
Create a Cedar policy
-
In Platform settings, go to Policies.
-
Click Add policy, give it a descriptive name, and enable the Active toggle.
-
Enter the following Cedar source, replacing
<role-pk>with the numeric ID from the previous step:permit (principal in Role::"<role-pk>",action in [Inventory::Action::"viewMachineSnapshot"],resource); -
Save the policy.
Create a service account and generate a token
- Go to Platform settings > Service accounts.
- Click Add service account, enter a name such as
jupiterone, and assign it the JupiterOne Inventory Reader role. - Save the service account, then open its detail page and click Add token.
- Copy the generated API token and store it securely — you will not be able to retrieve it again.
- Copy your Zentral base URL (the root URL of your instance, for example
https://example.zentral.com).
Configuration in JupiterOne
To install the Zentral integration in JupiterOne, navigate to the Integrations tab, select Zentral, and click New Instance.
Creating an instance requires the following:
-
Account Name — A label to identify this account in JupiterOne. Ingested entities store this value in
tag.AccountName. -
Description — Optional. Helps distinguish multiple integration instances.
-
Polling Interval — How often JupiterOne collects data from Zentral. Set to
DISABLEDto run manually. -
Base URL — The root URL of your Zentral instance, for example
https://example.zentral.com. -
API Token — The API token generated in the steps above.
Click Create to finalize the integration.
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.
Permissions
IAM permissions that must be granted to the integration principal for data ingestion.
Show Permissions (1)
Inventory::Action::"viewMachineSnapshot"
Endpoints
API endpoints that the integration makes requests to.
Show Endpoints (2)
GET {baseUrl}/api/task_result/{task_id}/POST {baseUrl}/api/inventory/full_export/
Documentation Links
Links to provider documentation relevant to setup and configuration.
Show Documentation Links (2)
Per-Step Breakdown
Detailed authorization requirements for each ingestion step.
Show all steps (1)
| Step | Permissions | Endpoints |
|---|---|---|
| Build machine installed MacOS app relationship | Inventory::Action::"viewMachineSnapshot" | POST {baseUrl}/api/inventory/full_export/ |
Entities
The following entities are created:
| Resources | Entity _type | Entity _class |
|---|---|---|
| Certificate | zentral_certificate | Certificate |
| Machine | zentral_machine | Device |
| MacOS App | zentral_macos_app | Application |
| Principal User | zentral_principal_user | User |
| Profile | zentral_profile | Configuration |
| Zentral Cloud Account | zentral_cloud_account | Account |
Relationships
The following relationships are created:
Source Entity _type | Relationship _class | Target Entity _type |
|---|---|---|
zentral_machine | INSTALLED | zentral_profile |
zentral_machine | USES | zentral_certificate |
zentral_machine | INSTALLED | zentral_macos_app |
zentral_principal_user | OWNS | zentral_machine |
Zentral Certificate
zentral_certificate inherits from Certificate
| Property | Type | Description | Specifications |
|---|---|---|---|
validOn | number |
Zentral Cloud Account
zentral_cloud_account inherits from Account
Zentral Machine
zentral_machine inherits from Device
| Property | Type | Description | Specifications |
|---|---|---|---|
cpuBrand | string | ||
cpuLogicalCores | number | ||
cpuPhysicalCores | number | ||
cpuSubtype | string | ||
cpuType | string | ||
physicalMemory | string | ||
physicalMemoryInBytes | number |
Zentral Macos App
zentral_macos_app inherits from Application
| Property | Type | Description | Specifications |
|---|---|---|---|
bundleDisplayName | string | ||
bundleId * | string | ||
bundleVersion * | string | ||
name * | string |
Zentral Principal User
zentral_principal_user inherits from User
Zentral Profile
zentral_profile inherits from Configuration
| Property | Type | Description | Specifications |
|---|---|---|---|
hasRemovalPasscode | boolean | ||
identifier * | string | ||
installedOn | number | ||
isEncrypted | boolean | ||
isVerified * | boolean | ||
removalDisallowed * | boolean | ||
uuid * | string |
Release Notes
- 2025-07-08 — Improved macOS application version accuracy in Zentral by using the full bundle version string when available.