Varonis Data Security Platform
Pulls global-access exposure, ransomware blast radius, UBA-flagged access anomalies, external-share events, dormant-account permissions, and data-threat alert posture from Varonis's Data Security Platform, driving ten DSPM KRIs across unstructured and SaaS data estates.
At a glance
| Vendor | Varonis, Data Security Platform (SaaS) and on-prem DSP (formerly DatAdvantage + DatAlert + DataPrivilege). |
|---|---|
| Source type | dspm |
| Vendor ID (slug) | varonis-dsp |
| Base URL | Per-tenant. SaaS: https://<your-tenant>.varonis.io. On-prem: your DSP Management Server hostname. |
| Auth method | api-key, Varonis API token via Authorization: Bearer <token>. Dispatcher's default for api-key auth does this; no override needed. |
| Schedule default | daily, Varonis's data-classification and permissions analysis update overnight; hourly adds cost without new signal. |
| Reachability | SaaS (*.varonis.io): works out of the box. On-prem DSP on RFC1918 / private IPs: blocked by Draxis's SSRF guard, front with a public-TLS reverse proxy, or switch to SaaS. |
| Licensing | Core KRIs (exposure, blast radius, permissions, alerts) need the base DSP license. The SaaS external-shared KRI specifically requires the Varonis SaaS connector deployed on M365 / Google Workspace. UBA anomalies need the DatAlert module. Tenants without those modules get 0 + warn log. |
| Availability | New in 2026.04. |
Required scopes & roles
Varonis API tokens are scoped by the Varonis admin role assigned to the token. Create a dedicated service role with read-only access to:
- Alerts, Read-only (data-threat alerts KRI).
- Data Classification, Read-only (exposure, stale-data, regulated-shares KRIs).
- Permissions, Read-only (blast radius, privileged-excessive, dormant-accounts KRIs).
- Events, Read-only (UBA anomalies, external-events KRIs).
- Users, Read-only (privileged analysis, dormant accounts).
- Shares / SaaS Sharing, Read-only (regulated-shares and SaaS-external-shared KRIs).
Do not grant any write / modify / classify-as / respond-to permissions. The connector never mutates Varonis state.
Setup steps
- Identify your Varonis deployment. SaaS customers log into
https://<tenant>.varonis.io; on-prem customers have a DSP Management Server hostname. The API is served from the same host under/api/v1/. - Create a service-account user in the Varonis admin console (Management → Users → Add). Name:
draxis-connector. Role: the read-only service role you created with the scopes above (or use the built-in "Auditor" role if it matches). - Generate an API token as that service account. Admin Console → API → Create Token. Varonis shows the token once at creation, copy into your password manager.
- (On-prem only) Verify public-TLS reachability. Draxis runs from public egress IPs; an on-prem DSP on a private IP is blocked by the SSRF guard. Front with a reverse proxy that terminates public TLS and allowlists Draxis's egress range.
- Verify connectivity before wiring Draxis:
Should print your DSP version and deployment descriptor. 401 = wrong token; 404 = wrong base URL (path differs on some older on-prem DSP versions, check your Varonis Public API Guide).curl -sk -H 'Authorization: Bearer <token>' \ 'https://<your-tenant>.varonis.io/api/v1/system/info' \ | jq '.version, .deployment'
Wire it into Draxis
- Open Settings → Integrations in your tenant.
- Click Add integration and pick Data Security Posture (DSPM) as the source type.
- Pick Varonis Data Security Platform from the vendor dropdown. Draxis pre-fills the auth method and daily schedule.
- In API Base URL, paste your Varonis tenant URL (SaaS) or on-prem Management Server URL. No trailing slash or path.
- In API Key / Token, paste the Varonis API token from step 3. Draxis encrypts it server-side with
encryption.keybefore storage. - Click Test. Green means Draxis called
/api/v1/system/infosuccessfully, the message includes your DSP version. - Under KRIs to import, tick the KRIs you want Draxis to manage. All ten
varonis_*KRIs are checked by default; uncheck the SaaS-external-shared KRI if you don't have Varonis SaaS connectors on M365 / Google Workspace, and uncheck the UBA KRI if you don't license DatAlert. Selected rows are created on save. - Save. The connector runs
dailyby default.
KRIs produced
| Slug | Meaning | Derivation |
|---|---|---|
varonis_global_access_exposure |
Sensitive files / folders accessible to "Everyone" / "All Employees" / "Domain Users" | GET /api/v1/exposure/global-access?sensitive=true, read count from the envelope. |
varonis_blast_radius_max |
Largest per-user blast radius, files that user could encrypt if compromised | GET /api/v1/blast-radius/top-users?limit=1&sort=blast_radius:desc → take the top row's blast_radius (or files_at_risk depending on DSP version). |
varonis_stale_sensitive_data_90d |
Sensitive files with no access activity in 90+ days | GET /api/v1/files/count?sensitive=true&last_accessed_before=<now-90d> |
varonis_open_shares_regulated |
Permissive shares containing PII / PHI / PCI data | GET /api/v1/shares/count?permissive=true&classifications=PII,PHI,PCI |
varonis_uba_anomalies_24h |
UBA-flagged abnormal data access events in 24h (requires DatAlert) | GET /api/v1/events/anomalies/count?since=<now-24h> |
varonis_privileged_excessive_access |
Privileged accounts with out-of-role data access | GET /api/v1/users/count?privileged=true&access_anomaly=true |
varonis_external_guest_events_7d |
External / guest user data access events (7d) | GET /api/v1/events/count?user_type=external&since=<now-7d> |
varonis_dormant_accounts_with_perms |
Dormant accounts retaining active data permissions | GET /api/v1/users/count?dormant=true&has_active_perms=true |
varonis_unresolved_alerts_4h_plus |
Data-threat alerts unresolved > 4h | GET /api/v1/alerts/count?status=open&created_before=<now-4h> |
varonis_saas_external_shared_sensitive |
M365 / Google Workspace sensitive files shared externally | GET /api/v1/saas/shares/count?external=true&sensitive=true. Requires Varonis SaaS connector on those platforms. |
Each row is a slug the connector writes to. Draxis creates the matching kri rows automatically when you check them in the KRIs to import section of the integration form, no manual API call or seed script needed. Thresholds shown in the table are the seeded defaults; you can edit them freely in the KRIs tab afterwards.
Vendor quirks
- Endpoint paths vary across DSP versions. The connector uses the conventional paths from Varonis's Public API Guide, but SaaS DSP, on-prem DSP, and older DatAdvantage deployments have slight variations. The connector tolerates 404 per-KRI with warn logs so a path mismatch on one endpoint doesn't abort the run, but you'll see zeros on the affected KRIs. If multiple KRIs return 0 with 404 warns, check your Varonis Public API Guide and adapt the paths in the connector (one-line edits).
- On-prem DSP on a private IP is blocked. Same story as Splunk, Palo Alto on-prem, and GHES: Draxis's SSRF guard rejects RFC1918 addresses. Front with a public-TLS reverse proxy, or switch to SaaS DSP where the hostname is public.
- Module gating. UBA / DatAlert module is required for the anomalies KRI; Varonis SaaS connectors on M365 + Google Workspace are required for the SaaS-external-shared KRI. Unlicensed modules return 403/404, recorded as 0 + warn.
- "Sensitive" means Varonis-classified. The exposure and stale-data KRIs filter on Varonis's own classification tags (PII / PHI / PCI / etc.). Data that isn't classified, either because classification hasn't run yet, or because your org uses custom classification labels, won't count. Review your Classification Policies before interpreting these KRIs.
- Blast radius varies by Varonis version. Newer DSP returns blast radius directly; older DatAdvantage versions computed a similar metric under a different field name. If the KRI always reads 0, verify your DSP exposes the
/blast-radius/top-usersendpoint (or its equivalent). - Dormant threshold is Varonis-defined. The connector passes
dormant=trueto Varonis, which uses its own inactivity threshold (configurable in DatAdvantage policies, typically 30-90 days). Tune your Varonis policy if the threshold doesn't match your compliance requirement. - External-user classification depends on identity source. Varonis's
user_type=externalflag is accurate when the identity source (AD / Azure AD / Okta) distinguishes guests from members. Misconfigured tenants might show 0 or misclassify, verify in the Varonis console. - Privileged excess-access KRI can be noisy on first rollout. Varonis's role analysis needs baseline activity to establish "normal role behavior"; in the first 30 days, every privileged user might show as anomalous. Wait a month of data before thresholding aggressively.
- Alert-severity tier is not split in this KRI. The user spec asked for "unresolved data threat alerts > 4h (by severity tier)", KRIs are single numbers so we aggregate across severities. For per-severity breakdowns, use Varonis's own dashboards, or edit the connector to split into multiple KRIs (one per severity).
- Rate limits are lenient. Varonis DSP typically allows 100+ API calls per minute per token. The connector makes ~11 calls per run, well under the cap.
- Token rotation is manual. Varonis API tokens don't auto-expire unless configured; rotate on a cadence that matches your data-access security policy (typically 90-180 days).
Troubleshooting
- Test returns 401, token is wrong or the service account was disabled. Regenerate in the admin console.
- Test returns 404 on
/api/v1/system/info, your DSP version exposes system info under a different path. Check your Varonis Public API Guide for the canonical path; the other KRIs may also need path adjustments. - Save-time error "host resolves to a private address", on-prem DSP on a private IP. Front with a public-TLS reverse proxy.
- All KRIs return 0 with 404 warns, endpoint paths don't match your DSP version. The connector is built against SaaS DSP's current API surface; older on-prem deployments may need path customization.
varonis_saas_external_shared_sensitive= 0, you don't have the Varonis SaaS connector deployed on M365 / Google Workspace. Deploy those connectors in the Varonis admin console to populate.varonis_uba_anomalies_24h= 0 on a tenant with active UBA, either no anomalies fired in the last 24h (possible on a healthy org), or the DatAlert module isn't licensed for API access. Verify in the Varonis admin console that DatAlert events are queryable via API.varonis_blast_radius_maxis suspiciously high, likely a service account or shared administrative account with broad access. Investigate the top user in the Varonis blast-radius dashboard; the KRI surfaces what\'s already visible in Varonis's UI.rowsSkipped > 0androwsWritten = 0, your tenant hasn't imported any KRIs for this integration yet. Open the integration in Settings → Integrations, tick the KRIs under KRIs to import, and save.- Still stuck? Open a support ticket with the run ID (from Run history) and we'll dig in.