Skip to main content
Delphina connects to BigQuery using a Google Cloud service account. The service account needs IAM roles that let Delphina run jobs, read table data and metadata, and — optionally — read query history and masked columns.

Connecting BigQuery

Step 1: Create a service account

  1. In the Google Cloud console, open IAM & Admin > Service Accounts for the project that owns your BigQuery data.
  2. Click Create Service Account and give it a descriptive name (e.g., delphina-warehouse).
  3. Skip the optional “Grant access to project” step — you’ll grant roles in Step 2.
  4. After creating the account, open it, go to Keys, and click Add Key > Create new key > JSON. Save the JSON file; you’ll upload it to Delphina in Step 3.

Step 2: Grant the service account IAM roles

The required roles depend on which features you want Delphina to use. The standard set below covers all of them and is the recommended starting point.

Step 3: Create the connection in Delphina

  1. Navigate to analytics.delphina.ai.
  2. Click your name in the bottom-left, then Org Admin > Warehouse Connections.
  3. Click Add Connection on the target workspace.
  4. Set the Warehouse Type to BigQuery.
  5. Paste the service account JSON. It should include the following fields:
    • type
    • project_id
    • private_key_id
    • private_key
    • client_email
    • client_id
    • auth_uri
    • token_uri
    • auth_provider_x509_cert_url
    • client_x509_cert_url
    • universe_domain
  6. Click Create Connection, then Test Connection to verify Delphina can authenticate, list datasets, and read query history.

Troubleshooting

ProblemFix
Test Connection failsVerify the JSON key is valid and the service account exists. Re-download the key from Google Cloud if in doubt.
”Browse Tables” emptyGrant bigquery.metadataViewer on the datasets you want to expose to Delphina.
Queries fail with permission deniedAdd bigquery.dataViewer on the specific tables — metadataViewer lists tables but does not read them.
”Show Top Users” emptyConfirm bigquery.readSessionUser, bigquery.resourceViewer, and batch.jobsViewer are granted at the project level.
Masked columns return NULLGrant bigquerydatapolicy.maskedReader to the service account so it can read masked values.