Skip to main content

Zscaler

Visualize Zscaler Internet Access (ZIA) resources including accounts, users, roles, sites, applications, policies, and destinations. Monitor security policy configurations, track user access roles, and understand your Zscaler deployment through queries and alerts.

Installation​

The Zscaler integration supports both Zscaler Internet Access (ZIA) and Zscaler Private Access (ZPA) data. You can authenticate against a ZIA tenant (optionally adding ZPA as an add-on), or against a standalone ZPA tenant. For each path, ZIdentity + OneAPI (OAuth2) is the recommended modern approach, while legacy credentials remain available for backward compatibility.

Configuring the Integration in JupiterOne​

To install the Zscaler integration in JupiterOne, navigate to the Integrations tab and select Zscaler. Click New Instance to begin configuring your integration.

Creating an instance requires the following:

  • The Account Name used to identify the Zscaler account in JupiterOne. Ingested entities will have this value stored in tag.AccountName when the AccountName toggle is enabled.

  • Description to assist in identifying the integration instance, if desired.

  • Polling Interval that you feel is sufficient for your monitoring needs. You may leave this as DISABLED and manually execute the integration.

  • An authentication method (see below).

Click Create once all values are provided to finalize the integration.

Authentication Methods​

Select the authentication method that matches your tenant:

  • ZIdentity + OneAPI (OAuth2) — Recommended. ZIA tenant authenticated with an OAuth2 client, with optional ZPA add-on.
  • Legacy Authentication (API Key + Session) — ZIA tenant authenticated with an API key, username, and password, with optional ZPA add-on.
  • ZPA only - ZIdentity + OneAPI (OAuth2) — Standalone ZPA tenant authenticated with an OAuth2 client.
  • ZPA only - ZPA API Key — Standalone ZPA tenant authenticated with a ZPA API key.

This method uses OAuth2 Client Credentials via ZIdentity. It requires:

  • Client ID: The OAuth2 Client ID from your ZIdentity API client.
  • Client Secret: The OAuth2 Client Secret from your ZIdentity API client.
  • Vanity Domain: Your Zscaler tenant vanity domain (e.g., mycompany for mycompany.zslogin.net).
  • Zscaler Cloud (optional): The Zscaler cloud environment (e.g., zscaler, zscalerone, zscalertwo). Leave blank for the default cloud.

To create OAuth2 credentials:

  1. Log in to the ZIdentity Admin Portal.
  2. Create an API client with the Client Credentials grant type.
  3. Note the Client ID and Client Secret.
  4. Note your Vanity Domain — this is the subdomain portion of your zslogin.net URL.

To also ingest ZPA data with this method, add your ZPA Customer ID (optional). The same OAuth2 client above is reused for ZPA, so it must have ZPA API access.

note

The ZPA Policies and Profiles ingestion source is disabled by default. To ingest ZPA policy rules and profiles, enable it in the instance ingestion settings. Without it, setting the ZPA fields collects no ZPA entities.

Legacy Authentication (API Key + Session)​

This method uses an API key, username, and password to create a session-based connection to the Zscaler ZIA API. It requires:

  • API Key: The API key used to authenticate with Zscaler.
  • Username: The API user email address.
  • Password: The API user password.
  • Cloud Name: Your Zscaler cloud instance (e.g., zscaler, zscalerone, zscalertwo, zscalerthree, zscloud, zscalerbeta).

To create legacy API credentials:

  1. Log in to your Zscaler Admin Portal.
  2. Navigate to Administration > API Key Management.
  3. Generate or retrieve your API key.
  4. Note the cloud name from your Zscaler URL (the subdomain before .net).

To also ingest ZPA data with this method, provide the following add-on fields:

  • ZPA Customer ID (optional): The ZPA tenant customer ID. ZPA is ingested only when this is set.
  • ZPA API Client ID (optional): The ZPA API client ID, created in the ZPA Admin Portal under Public API > API Keys. Required when a ZPA Customer ID is set.
  • ZPA API Client Secret (optional): The ZPA API client secret paired with the client ID above.
  • ZPA Cloud (optional): The ZPA cloud environment (e.g., private.zscaler.com, zpatwo.net, zpabeta.net, zpagov.net, zpagov.us). Defaults to private.zscaler.com.
note

The ZPA Policies and Profiles ingestion source is disabled by default. To ingest ZPA policy rules and profiles, enable it in the instance ingestion settings. Without it, setting the ZPA add-on fields collects no ZPA entities.

info

See the Zscaler API documentation for more information on generating API keys.

ZPA only - ZIdentity + OneAPI (OAuth2)​

Use this method for a standalone ZPA tenant authenticated with an OAuth2 client. It requires:

  • ZPA Customer ID: The ZPA tenant customer ID.
  • Client ID: The OAuth2 Client ID. The client must have ZPA API access.
  • Client Secret: The OAuth2 Client Secret.
  • Vanity Domain: Your Zscaler tenant vanity domain (e.g., mycompany for mycompany.zslogin.net).
  • Zscaler Cloud (optional): The Zscaler cloud environment (e.g., zscaler, zscalerone, zscalertwo). Leave blank for the default cloud.
note

The ZPA Policies and Profiles ingestion source is disabled by default. To ingest ZPA policy rules and profiles, enable it in the instance ingestion settings. Without it, this ZPA-only instance collects no ZPA entities.

ZPA only - ZPA API Key​

Use this method for a standalone ZPA tenant authenticated with a ZPA API key. It requires:

  • ZPA Customer ID: The ZPA tenant customer ID, found in the ZPA Admin Portal under Public API > API Keys.
  • ZPA API Client ID: The ZPA API client ID.
  • ZPA API Client Secret: The ZPA API client secret.
  • ZPA Cloud (optional): The ZPA cloud environment (e.g., private.zscaler.com, zpatwo.net, zpabeta.net, zpagov.net, zpagov.us). Defaults to private.zscaler.com.
note

The ZPA Policies and Profiles ingestion source is disabled by default. To ingest ZPA policy rules and profiles, enable it in the instance ingestion settings. Without it, this ZPA-only instance collects no ZPA entities.

Advanced Configuration​

The following field is optional and applies to any authentication method that ingests ZPA data.

FieldDescriptionDefault
ZPA Microtenant IDScopes ZPA list endpoints to a specific microtenant. Leave blank to ingest from the default tenant only.Blank

AppTotal Configuration (Optional)​

To ingest third-party SaaS app inventory and SSPM posture findings from Zscaler AppTotal, provide the following additional credentials when creating your integration instance. These fields are optional — leaving them blank disables AppTotal data collection without affecting the core integration.

FieldDescription
AppTotal API KeyAPI key for the Zscaler AppTotal service. When provided, the integration ingests the SaaS app inventory and posture findings linked to the specified App View.
AppTotal App View IDUUID of the AppTotal App View whose apps should be ingested. Required when an AppTotal API Key is provided.
note

The AppTotal Apps and AppTotal Posture Findings ingestion sources are disabled by default. To ingest AppTotal data, enable them in the instance ingestion settings. Without them, providing the AppTotal fields collects no AppTotal entities.

To obtain these credentials:

  1. Log in to the AppTotal portal.
  2. Navigate to Settings to generate or copy your API key.
  3. Go to App Views, select the view you want to ingest, and copy its UUID.

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.