Set up a Wiz Query connector
Capabilities
Resource | Sync | Provision |
---|---|---|
Accounts | ✅ | |
Resource access | ✅ |
Available hosting methods
Choose the hosting method that best suits your needs:
Method | Availability | Notes |
---|---|---|
Cloud-hosted | ✅ | A built-in, no-code connector hosted by ConductorOne. |
Self-hosted | ✅ | The Wiz connector, hosted and run in your own environment. |
Gather Wiz credentials
Each setup method requires you to pass in credentials generated in Wiz. Gather these credentials before you move on.
A user with write permissions on service accounts in Wiz must perform this task.
Create a Wiz service account
In Wiz, click Settings > Access Management > Service Accounts.
Click Add Service Account.
Give the service account a name, such as “ConductorOne integration”.
Select the Custom Integration (GraphQL API) option.
Optional. If you want the access to be limited to certain projects, select them from the dropdown.
In the API Scopes area, select the read:all permission.
Click Add Service Account. The system displays the client ID and client secret.
Carefully copy and save the client ID and client secret.
Look up your Wiz API endpoint URL and authentication URL
In Wiz, click the user profile icon and choose Tenant Info.
Carefully copy and save the API endpoint URL and the authentication URL.
That’s it! Next, move on to the instructions for your chosen setup method.
Set up a Wiz cloud-hosted connector
To complete this task, you’ll need:
- The Connector Administrator or Super Administrator role in ConductorOne
- Access to the set of Wiz credentials generated by following the instructions above
In ConductorOne, click Connectors > Add connector.
Search for Wiz Query and click Add.
Don’t see the Wiz Query connector? Reach out to support@conductorone.com to add Wiz to your Connectors page.
Choose how to set up the new Wiz connector:
Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren’t yet managed with ConductorOne)
Add the connector to a managed app (select from the list of existing managed apps)
Create a new managed app
Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of ConductorOne users. Setting multiple owners is allowed.
If you choose someone else, ConductorOne will notify the new connector owner by email that their help is needed to complete the setup process.
Click Next.
Find the Settings area of the page and click Edit.
Paste your Wiz client ID and secret into the Wiz Client ID and Wiz Client Secret fields.
Paste your Wiz API endpoint URL into the Endpoint URL field.
Paste your Wiz authentication endpoint URL into the Auth URL field.
Specify the Wiz audience in the Audience field.
Optional. Paste the specific resource IDs you want to sync into the Resource IDs field. Use commas to separate the list of IDs.
Optional. Paste the specific resource tags you want to filter synced entitlements by into the Resource tags field. Format tags as a string containing tags in key-value pairs, using this format:
`[{“key”:“key1”,“val”:“val1”},{“key”:“key2”,“val”:“val2”}]
Optional. Paste the specific resource types you want to sync into the Resource types field. Use commas to separate the list of types.
Click the checkbox if you want to Sync Wiz identities.
Click Save.
The connector’s label changes to Syncing, followed by Connected. You can view the logs to ensure that information is syncing.
That’s it! Your Wiz connector is now pulling access data into ConductorOne.
Set up a Wiz self-hosted connector
To complete this task, you’ll need:
- The Connector Administrator or Super Administrator role in ConductorOne
- Access to the set of Wiz credentials generated by following the instructions above
When running in service mode on Kubernetes, a self-hosted connector maintains an ongoing connection with ConductorOne, automatically syncing and uploading data at regular intervals. This data is immediately available in the ConductorOne UI for access reviews and access requests.
Why use Kubernetes? Kubernetes provides automated deployment, scaling, and management of your connectors. It ensures high availability and reliable operation of your connector services.
Step 1: Configure the Wiz connector
In ConductorOne, navigate to Connectors > Add connector.
Search for Baton and click Add.
Choose how to set up the new Wiz connector:
Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren’t yet managed with ConductorOne)
Add the connector to a managed app (select from the list of existing managed apps)
Create a new managed app
Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of ConductorOne users. Setting multiple owners is allowed.
If you choose someone else, ConductorOne will notify the new connector owner by email that their help is needed to complete the setup process.
Click Next.
In the Settings area of the page, click Edit.
Click Rotate to generate a new Client ID and Secret.
Carefully copy and save these credentials. We’ll use them in Step 2.
Step 2: Create Kubernetes configuration files
Create two Kubernetes manifest files for your Wiz connector deployment:
Secrets configuration
# baton-wiz-secrets.yaml
apiVersion: v1
kind: Secret
metadata:
name: baton-wiz-secrets
type: Opaque
stringData:
# ConductorOne credentials
BATON_CLIENT_ID: <ConductorOne client ID>
BATON_CLIENT_SECRET: <ConductorOne client secret>
# Wiz credentials
BATON_WIZ_CLIENT_ID: <Wiz client ID>
BATON_WIZ_CLIENT_SECRET: <Wiz client secret>
BATON_AUTH_URL: <Wiz authentication URL>
BATON_ENDPOINT_URL: <Wiz API endpoint URL>
BATON_AUDIENCE: <Audience used to authenticate with Wiz (default is "wiz-api")>
# Optional: include these credentials to fine-tune what the connector syncs
BATON_WIZ_RESOURCE_TYPES: <Wiz resource types to sync>
BATON_SYNC_IDENTITIES: <Enable if Wiz identities should by synced>
BATON_TAGS: <Tags on the Wiz resources to sync>
BATON_RESOURCE_IDS: <Wiz resource IDs to sync>
See the connector’s README or run
--help
to see all available configuration flags and environment variables.
Deployment configuration
# baton-wiz.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: baton-wiz
labels:
app: baton-wiz
spec:
selector:
matchLabels:
app: baton-wiz
template:
metadata:
labels:
app: baton-wiz
baton: true
baton-app: wiz
spec:
containers:
- name: baton-wiz
image: ghcr.io/conductorone/baton-wiz:latest
imagePullPolicy: IfNotPresent
envFrom:
- secretRef:
name: baton-wiz-secrets
Step 3: Deploy the connector
Create a namespace in which to run ConductorOne connectors (if desired):
kubectl create namespace conductorone
Apply the secret configuration:
kubectl -n conductorone apply -f baton-wiz-secrets.yaml
Apply the deployment:
kubectl -n conductorone apply -f baton-wiz.yaml
Step 4: Verify the deployment
Check that the deployment is running:
kubectl -n conductorone get pods
View the connector logs:
kubectl -n conductorone logs -l app=baton-${baton-wiz}
Check that the connector data uploaded correctly. In ConductorOne, click Applications. On the Managed apps tab, locate and click the name of the application you added the Wiz connector to. Wiz data should be found on the Entitlements and Accounts tabs.
That’s it! Your Wiz connector is now pulling access data into ConductorOne.