Wiz
Lakewatch is in Private Preview. To request access, reach out to your Databricks account team.
Lakewatch provides an API connector to ingest audit log entries, issues, and vulnerability findings from Wiz. This article covers prerequisites, configuration instructions, connector schemas, and Lakewatch parser observables.
Prerequisites
The connector requires:
- Serverless Lakeflow Spark Declarative Pipelines turned on in your workspace.
- Unity Catalog, with privileges to create or use a Unity Catalog connection. See Connection permissions.
- A Wiz tenant with administrator access to create a service account.
- Permission to grant the service account read access to the audit logs, issues, and vulnerability findings you want to ingest.
Known limitations
- SCD type 2 is not supported because Wiz security data is ingested as an append-only feed.
- The connector supports OAuth machine-to-machine (M2M) authentication with a Wiz service account. API token and basic authentication aren't supported.
- Automated schema evolution supports new and deleted columns, but not data type changes or column renames.
- Historical lookback can't exceed 180 days. See Choose how far back to ingest.
Configure Wiz for ingestion
In this step, you create a service account in Wiz and note the credentials that you use to create a connection in Databricks.
- Sign in to your Wiz tenant as an administrator.
- Create a service account for the connector:
- In the Wiz portal, go to Settings > Access Management > Service Accounts, then click Add Service Account.
- Enter a descriptive Name for the service account.
- For Type, select Custom Integration (GraphQL API).
- Grant the service account the API scopes for the data you want to ingest:
read:resources(required for all ingestion)admin:auditto ingest audit log entriesread:issuesto ingest issuesread:vulnerabilitiesto ingest vulnerability findings
- Leave Projects blank. Selecting one or more projects prevents the service account from querying audit logs, because the
admin:auditscope is available only when no project is selected. - Create the service account.
- Note the service account's Client ID and Client Secret. Copy the client secret immediately, because Wiz does not display it again after you close the dialog. You enter these values when you create a connection in Databricks.
- Get your tenant details. Click your profile icon in the top right of the Wiz portal, then click Tenant Info. Note the following values, which you enter when you create a connection in Databricks:
- On the General tab, the Authentication URL. This is the token endpoint that the connector uses to exchange the client credentials for an access token. For example,
https://auth.app.wiz.io/oauth/token. - On the Data Center and Regions tab, your data center. This is your Tenant Data Center.
- On the General tab, the Authentication URL. This is the token endpoint that the connector uses to exchange the client credentials for an access token. For example,
When you create a connection through the Lakewatch UI, enter the Tenant Data Center, Client ID, Client Secret, and Authentication URL gathered above.
For more information, see Configure authentication to Wiz.
Next steps
After completing the configuration above, create a datasource with the Wiz connector in the Lakewatch UI. See API connectors for instructions.
Connector and Lakewatch schemas
The connector ingests the following source tables from the default source schema:
Source table | Wiz data | Built-in Lakewatch parser |
|---|---|---|
| User actions, service account activity, and configuration changes |
|
| Risks detected in the cloud environment, including status and severity |
|
| Vulnerabilities, affected assets, severity, and remediation guidance |
|
The connector writes each source table to the datasource's raw destination. Each built-in parser writes a separate parsed table named after the parser, unless you set a parsed destination when you configure the datasource.
Lakewatch-managed columns
The connector adds the following columns to each raw source row:
lw_id: A non-null string that Lakewatch uses as the primary key. The connector derives a stable, time-sortable ID fromtimeand the Wizidfield.time: A timestamp used for incremental ingestion. Foraudit_log_entries, the connector derivestimefromtimestamp. Forissues, it derivestimefromcreatedAt. Forvulnerability_findings, it derivestimefromupdatedAt.
The wiz_issues parser sets the parsed time field from updatedAt, so the parsed table reflects the most recent issue update time.
Each parsed table carries lw_id forward and adds:
lw_meta: Standard Lakewatch processing metadata.lw_observables: Values extracted from fields marked as security observables in the parser.
For more information, see Parser reference.
Raw connector table schemas
The following schemas include the Wiz fields and the Lakewatch-managed lw_id and time columns. For field definitions, see the Wiz connector reference.
audit_log_entries
Schema
Column | Data type |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
issues
Schema
Column | Data type |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
vulnerability_findings
Schema
Column | Data type |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parser observables
The built-in parsers write nested objects as VARIANT and extract the following fields into lw_observables.
wiz_audit
Observables
Field | Observable |
|---|---|
|
|
|
|
|
|
|
|
The wiz_issues parser doesn't define any observable fields.
wiz_vulnerability_finding
Observables
Field | Observable |
|---|---|
|
|
|
|