Google BigQuery Integration Setup
Honeydew requires access to Google BigQuery to operate. You have two options to set up Google BigQuery access - either using a central org-level connection or map your individual Google BigQuery user credentials to Honeydew. If you would like to use a central org-level connection, it is advised to create a new dedicated service account for Honeydew integration. The following Google BigQuery connection parameters are required for Honeydew setup:- Project ID
- Dataset (for storing dynamic datasets)
Authentication Methods
Honeydew supports the following authentication methods for Google BigQuery:Service Account Key authentication
This is the recommended method for org-level service accounts. For this method, you will need to provide a Service Account JSON Key File.1
Create a service account
If you do not already have a service account, create one in your Google Cloud
project:
- Go to the Google Cloud Console
- Navigate to IAM & Admin > Service Accounts
- Click Create Service Account
- Enter a name for the service account (e.g. “Honeydew Integration”)
- Optionally add a description
- Click Create and Continue
2
Grant required permissions
Grant the service account the necessary IAM roles to access Google BigQuery:
- In the service account creation flow, under Grant this service account access to project
- Add the role BigQuery Job User (allows running queries)
- Click Continue
- Click Done
Additional dataset-level permissions will be configured in a later step
3
Generate and download the JSON key
To generate credentials for the service account:
- In the service accounts list, click the service account you just created
- Go to the Keys tab
- Click Add Key > Create new key
- Select JSON as the key type
- Click Create
- The JSON key file will be downloaded automatically
- Store this file securely
4
Configure the Google BigQuery connection in Honeydew
In Honeydew App settings page,
configure the Google BigQuery connection by uploading the
Service Account JSON Key File from the previous step, along with the Project ID.
OAuth User Authentication
This method allows individual users to authenticate with their Google credentials. Each user will need to authorize Honeydew to access their Google BigQuery resources using OAuth.OAuth user authentication requires additional configuration.
Contact [email protected] to enable this authentication method.
Connection Parameters
Project ID
The Project ID is the unique identifier for your Google Cloud project. You can find it in the Google Cloud Console:- Go to the Google Cloud Console
- Select your project from the project drop-down at the top
- The Project ID is displayed in the project info panel
Dataset Configuration
You will need to specify:- Dataset - the dataset where Honeydew will deploy dynamic datasets as views or tables
- Dev Dataset - the dataset for dev branch deployments (optional, defaults to main dataset)
Google BigQuery uses a hierarchical namespace:
project.dataset.table.
Ensure your service account has appropriate permissions to access these resources.Allowing Honeydew Client IP Addresses
If you have IP-based access restrictions in Google BigQuery using VPC Service Controls, add the IP addresses displayed in the Google BigQuery connection screen in Honeydew App settings page to the access level allowlist.For the Honeydew Cloud deployment, the following IP addresses are used:
34.86.209.9034.145.147.92
Permissions
Honeydew does not extract or store your data. It only reads schema metadata and executes SQL queries inside your Google BigQuery environment. You can find more security-related information here.Required Permissions
If using a service account, the following permissions are required:Project-Level Permissions
BigQuery Job User role (roles/bigquery.jobUser) - Required to run queries and jobs
Grant this role at the project level:
Dataset-Level Permissions
For datasets used in the semantic layer:- BigQuery Data Viewer role (
roles/bigquery.dataViewer) - Read access to tables and views - BigQuery Metadata Viewer role (
roles/bigquery.metadataViewer) - Read dataset and table metadata
roles/bigquery.dataEditor) - Create and manage tables/views
Grant dataset-level permissions:
Minimal Permission Set
For a minimal permission set, the service account needs:bigquery.jobs.create(at project level)bigquery.tables.get,bigquery.tables.list,bigquery.tables.getData(on source datasets)bigquery.tables.create,bigquery.tables.update,bigquery.tables.delete(on deployment dataset)bigquery.datasets.get,bigquery.readsessions.create(on all datasets)
Tracking Honeydew Queries in Google BigQuery
You can track and monitor queries executed by Honeydew in Google BigQuery using query labels and the INFORMATION_SCHEMA views.Query Label Format
All Honeydew queries include labels with the following format:Google BigQuery labels only support lowercase letters, numbers, hyphens, and
underscores.
Special characters like
@ and . in email addresses are replaced with
underscores.- application: Always set to “honeydew”
- workspace: The Honeydew workspace name
- branch: The Honeydew workspace branch being used (e.g., “dev”, “prod”)
- user: The Honeydew user identifier (email address with special characters replaced)
- client: The client name, usually “honeydew_server” for server-side operations
Tracking Methods
You can track Honeydew queries using any of the following approaches:1. By Service Account
If you’re using a dedicated service account for Honeydew integration, you can filter queries by the service account email in theINFORMATION_SCHEMA.JOBS view.