APIs to enable, roles to grant, and authentication options for connecting BigQuery to Prizm.
This page lists what you need in Google Cloud before connecting BigQuery to Prizm: the APIs to enable, the authentication method, and the roles to grant for each kind of metadata you want Prizm to extract.
Choose one of the following. Both need the APIs and roles described below.
Method
Description
Service account key
A key file for a service account that holds the required roles
Workload Identity
Keyless authentication through Google’s identity federation. This is why the IAM Service Account Credentials API and Security Token Service API are on the list below. It’s offered on the connection form but hasn’t been verified end to end, so use a service account key unless your Prizm team has confirmed otherwise
iamcredentials.googleapis.com and sts.googleapis.com
Workload Identity authentication
Enable the Data Lineage API early, in every project where jobs run. Lineage is recorded only from the time the API is enabled. There is no backfill, and Google retains lineage records for a limited period. Check Google’s Data Lineage documentation for the current retention window.
Grant only the roles for the features you want. Roles marked per project go on each project Prizm monitors.
What you want
Where Prizm reads it
Role or permission
List projects
Resource Manager API
roles/browser, or the resourcemanager.projects.list permission, at organization or folder level. Alternatively, roles/cloudasset.viewer for Cloud Asset Inventory
Datasets, tables, and columns
INFORMATION_SCHEMA views (SCHEMATA, TABLES, COLUMNS, COLUMN_FIELD_PATHS for nested fields) or the REST API
roles/bigquery.metadataViewer on each project, plus roles/bigquery.jobUser to run queries
Labels
SCHEMATA_OPTIONS, TABLE_OPTIONS, or the datasets and tables APIs
roles/bigquery.metadataViewer
Policy tags (column mapping)
COLUMN_FIELD_PATHS policy tags, or the table schema from the tables API
roles/bigquery.metadataViewer
Resource tags (keys and values)
Resource Manager tag bindings
roles/resourcemanager.tagViewer (or tagUser)
Data Catalog tags and aspects
Dataplex Catalog and Data Catalog entries
roles/dataplex.catalogViewer and roles/datacatalog.viewer. Grant the one that matches what your organization uses
Lineage from the Data Lineage API
Data Lineage API
roles/datalineage.viewer
Lineage from job logs
INFORMATION_SCHEMA.JOBS
roles/bigquery.resourceViewer
Usage and performance
JOBS_BY_PROJECT, JOBS_BY_ORGANIZATION, and JOBS_TIMELINE
roles/bigquery.resourceViewer, which includes bigquery.jobs.listAll. JOBS_BY_ORGANIZATION needs the role at organization level
SA="prizm-reader@<PROJECT_ID>.iam.gserviceaccount.com"for ROLE in \ roles/bigquery.metadataViewer \ roles/bigquery.jobUser \ roles/bigquery.resourceViewer \ roles/datalineage.viewer; do gcloud projects add-iam-policy-binding <PROJECT_ID> \ --member="serviceAccount:${SA}" --role="${ROLE}"done
Repeat for each monitored project, and add the organization- or folder-level roles (project listing, tags, JOBS_BY_ORGANIZATION) where you need them.
Prizm doesn’t create, change, or delete datasets or tables. Beyond metadata and job history, it needs to run queries (bigquery.jobs.create, covered by roles/bigquery.jobUser) and, for quality and profiling checks, to read table data (bigquery.tables.getData). For external tables, it also needs to read the storage bucket (storage.buckets.get, storage.buckets.list, storage.objects.get, storage.objects.list). Tag import needs resourcemanager.tagKeys.list, resourcemanager.tagValues.list, datacatalog.taxonomies.list, and datacatalog.taxonomies.get.
Navigate to Source and click the + icon next to the source list. Search for BigQuery and select it from the connector grid.
2
Enter source details
Field
Description
Connection Name
A label for this connection
Description
Optional notes about what this connection covers
GCP Project ID
The Google Cloud project that contains your BigQuery datasets
GCP Region / Location
The location of your datasets, for example US, EU, or us-central1. Prizm needs it to query INFORMATION_SCHEMA
Extract Lineage
On by default. Turn it off to skip lineage
Lineage Mode
Via DataPlex API (default) or Job Logs. See Overview
BigQuery source details
3
Choose an authentication method
Select Service Account Key (the default) or Workload Identity. For a service account key, upload the JSON key file, or turn on Use Vault to retrieve it from a configured vault.
Lineage mode, authentication type and service account key upload
4
Validate and choose scope
Click Next to validate the connection, then choose which datasets Prizm should catalog.
5
Save
Complete the configuration. The source then appears in the Source list, where the Valid column shows a green check for a working connection.
Common questions about authentication, roles, and lineage.
Troubleshooting
Diagnose connection failures, permission errors, and timeouts.
Was this page helpful?
⌘I
{"docsConfig":{"theme":"luma","$schema":"https://mintlify.com/docs.json","name":"DQLabs PRIZM","description":"Industry's first AI Native platform where Data Observability, Data Quality, and Context work as one system—turning trust from a manual, reactive process into autonomous operations governed by the enterprise.","colors":{"primary":"#e40404","light":"#f9cdcd","dark":"#747474"},"logo":{"light":"https://media.brand.dev/332adc35-5bc4-4d2b-bf78-256aa4a5e414.svg","dark":"https://media.brand.dev/332adc35-5bc4-4d2b-bf78-256aa4a5e414.svg"},"favicon":"https://media.brand.dev/9afdd2b1-c5b5-4aba-87dd-63e926be4e0e.jpg","navbar":{"primary":{"type":"github","href":"https://github.com/DQLabs-Inc/prizm-ui"}},"seo":{"metatags":{"robots":"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"},"organization":{"name":"DQLabs Inc","logo":"https://media.brand.dev/332adc35-5bc4-4d2b-bf78-256aa4a5e414.svg"}},"integrations":{"ga4":{"measurementId":"G-9XW6S04GGD"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dqlabs","hasAudioNarration":false,"actualSubdomain":"dqlabs","customDomains":["docs.dqlabs.ai"],"gitSource":{"type":"github","owner":"dqlabs-inc","repo":"prizm-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad9ade09d5689c9dba2102c","collectionId":"59a0278f-7614-4578-8b24-c15ca9d308b1","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad9ade09d5689c9dba2102c"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad9ecc9d74efe30fcf32974","clientVersion":"0.0.3926","searchFilterCounts":[{"language":"default","tag":"Documentation","count":209},{"language":"default","tag":"Architecture","count":88},{"language":"default","tag":"Data Sources","count":53},{"language":"default","tag":"Metric","count":44},{"language":"default","tag":"Metric Types","count":40},{"language":"default","tag":"API Reference","count":34},{"language":"default","tag":"Integrations","count":34},{"language":"default","tag":"Business","count":12},{"language":"default","tag":"Collaboration","count":12},{"language":"default","tag":"Security \u0026 Access Control","count":11}],"searchSettings":{"maxResults":9}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"sources/bigquery/setup","slug":"/sources/bigquery/setup","pageMetadata":{"title":"BigQuery Setup","sidebarTitle":"Setup","description":"APIs to enable, roles to grant, and authentication options for connecting BigQuery to Prizm.","icon":"plug","href":"/sources/bigquery/setup"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"APIs to enable, roles to grant, and authentication options for connecting BigQuery to Prizm.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Card,CardGroup,CodeBlock,Frame,Heading,Note,OptimizedImage,Step,Steps,Table,Warning}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(`script`,{type:`application/ld+json`,children:`{\n \"@context\": \"https://schema.org\",\n \"@type\": \"TechArticle\",\n \"headline\": \"BigQuery Setup\",\n \"description\": \"APIs to enable, roles to grant, and authentication options for connecting BigQuery to Prizm.\",\n \"url\": \"https://docs.dqlabs.ai/sources/bigquery/setup\",\n \"publisher\": {\n \"@type\": \"Organization\",\n \"name\": \"DQLabs Inc\",\n \"logo\": \"https://media.brand.dev/332adc35-5bc4-4d2b-bf78-256aa4a5e414.svg\"\n }\n }`}),`\n`,_jsx(_components.p,{children:`This page lists what you need in Google Cloud before connecting BigQuery to Prizm: the APIs to enable, the authentication method, and the roles to grant for each kind of metadata you want Prizm to extract.`}),`\n`,_jsx(Heading,{level:`2`,id:`authentication`,children:`Authentication`}),`\n`,_jsx(_components.p,{children:`Choose one of the following. Both need the APIs and roles described below.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Method`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Service account key`}),_jsx(_components.td,{style:{textAlign:`left`},children:`A key file for a service account that holds the required roles`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Workload Identity`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Keyless authentication through Google’s identity federation. This is why the IAM Service Account Credentials API and Security Token Service API are on the list below. It’s offered on the connection form but hasn’t been verified end to end, so use a service account key unless your Prizm team has confirmed otherwise`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`enable-the-required-apis`,children:`Enable the Required APIs`}),`\n`,_jsx(_components.p,{children:`Enable these APIs in the host project, and in each monitored project where noted.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`gcloud`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` services`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` enable`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` bigquery.googleapis.com`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` datalineage.googleapis.com`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` dataplex.googleapis.com`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` datacatalog.googleapis.com`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` cloudresourcemanager.googleapis.com`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` iamcredentials.googleapis.com`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` sts.googleapis.com`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --project=`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`PROJECT_ID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`})]}),`\n`]})})}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`API`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Used for`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`bigquery.googleapis.com`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Datasets, tables, columns, job history`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`datalineage.googleapis.com`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Lineage from the Data Lineage API`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`dataplex.googleapis.com`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Dataplex Catalog tags and aspects`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`datacatalog.googleapis.com`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Data Catalog tags and aspects`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`cloudresourcemanager.googleapis.com`})}),_jsx(_components.td,{style:{textAlign:`left`},children:`Listing projects and resource tags`})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`iamcredentials.googleapis.com`}),` and `,_jsx(_components.code,{children:`sts.googleapis.com`})]}),_jsx(_components.td,{style:{textAlign:`left`},children:`Workload Identity authentication`})]})]})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Enable the Data Lineage API early, in every project where jobs run.`}),` Lineage is recorded only from the time the API is enabled. There is no backfill, and Google retains lineage records for a limited period. Check Google’s Data Lineage documentation for the current retention window.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`grant-the-required-roles`,children:`Grant the Required Roles`}),`\n`,_jsx(_components.p,{children:`Grant only the roles for the features you want. Roles marked per project go on each project Prizm monitors.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`What you want`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Where Prizm reads it`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Role or permission`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`List projects`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Resource Manager API`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`roles/browser`}),`, or the `,_jsx(_components.code,{children:`resourcemanager.projects.list`}),` permission, at organization or folder level. Alternatively, `,_jsx(_components.code,{children:`roles/cloudasset.viewer`}),` for Cloud Asset Inventory`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Datasets, tables, and columns`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`INFORMATION_SCHEMA`}),` views (`,_jsx(_components.code,{children:`SCHEMATA`}),`, `,_jsx(_components.code,{children:`TABLES`}),`, `,_jsx(_components.code,{children:`COLUMNS`}),`, `,_jsx(_components.code,{children:`COLUMN_FIELD_PATHS`}),` for nested fields) or the REST API`]}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`roles/bigquery.metadataViewer`}),` on each project, plus `,_jsx(_components.code,{children:`roles/bigquery.jobUser`}),` to run queries`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Labels`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`SCHEMATA_OPTIONS`}),`, `,_jsx(_components.code,{children:`TABLE_OPTIONS`}),`, or the datasets and tables APIs`]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`roles/bigquery.metadataViewer`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Policy tags (column mapping)`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`COLUMN_FIELD_PATHS`}),` policy tags, or the table schema from the tables API`]}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`roles/bigquery.metadataViewer`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Resource tags (keys and values)`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Resource Manager tag bindings`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`roles/resourcemanager.tagViewer`}),` (or `,_jsx(_components.code,{children:`tagUser`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Data Catalog tags and aspects`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Dataplex Catalog and Data Catalog entries`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`roles/dataplex.catalogViewer`}),` and `,_jsx(_components.code,{children:`roles/datacatalog.viewer`}),`. Grant the one that matches what your organization uses`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Lineage from the Data Lineage API`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Data Lineage API`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`roles/datalineage.viewer`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Lineage from job logs`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`INFORMATION_SCHEMA.JOBS`})}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`roles/bigquery.resourceViewer`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Usage and performance`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`JOBS_BY_PROJECT`}),`, `,_jsx(_components.code,{children:`JOBS_BY_ORGANIZATION`}),`, and `,_jsx(_components.code,{children:`JOBS_TIMELINE`})]}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.code,{children:`roles/bigquery.resourceViewer`}),`, which includes `,_jsx(_components.code,{children:`bigquery.jobs.listAll`}),`. `,_jsx(_components.code,{children:`JOBS_BY_ORGANIZATION`}),` needs the role at organization level`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`example-grant-roles-to-a-service-account`,children:`Example: grant roles to a service account`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`SA`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"prizm-reader@\u003cPROJECT_ID>.iam.gserviceaccount.com\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`for`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` ROLE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` in`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` roles/bigquery.metadataViewer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` roles/bigquery.jobUser`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` roles/bigquery.resourceViewer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` roles/datalineage.viewer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`; `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`do`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` gcloud`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` projects`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` add-iam-policy-binding`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`PROJECT_I`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`D`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --member=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"serviceAccount:${'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`SA`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --role=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"${'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ROLE`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`}\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`done`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Repeat for each monitored project, and add the organization- or folder-level roles (project listing, tags, `,_jsx(_components.code,{children:`JOBS_BY_ORGANIZATION`}),`) where you need them.`]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Prizm doesn’t create, change, or delete datasets or tables. Beyond metadata and job history, it needs to run queries (`,_jsx(_components.code,{children:`bigquery.jobs.create`}),`, covered by `,_jsx(_components.code,{children:`roles/bigquery.jobUser`}),`) and, for quality and profiling checks, to read table data (`,_jsx(_components.code,{children:`bigquery.tables.getData`}),`). For external tables, it also needs to read the storage bucket (`,_jsx(_components.code,{children:`storage.buckets.get`}),`, `,_jsx(_components.code,{children:`storage.buckets.list`}),`, `,_jsx(_components.code,{children:`storage.objects.get`}),`, `,_jsx(_components.code,{children:`storage.objects.list`}),`). Tag import needs `,_jsx(_components.code,{children:`resourcemanager.tagKeys.list`}),`, `,_jsx(_components.code,{children:`resourcemanager.tagValues.list`}),`, `,_jsx(_components.code,{children:`datacatalog.taxonomies.list`}),`, and `,_jsx(_components.code,{children:`datacatalog.taxonomies.get`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`connect-bigquery-in-prizm`,children:`Connect BigQuery in Prizm`}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Open the connector wizard`,children:_jsxs(_components.p,{children:[`Navigate to `,_jsx(_components.strong,{children:`Source`}),` and click the `,_jsx(_components.strong,{children:`+`}),` icon next to the source list. Search for `,_jsx(_components.strong,{children:`BigQuery`}),` and select it from the connector grid.`]})}),_jsxs(Step,{title:`Enter source details`,children:[_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Field`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Connection Name`}),_jsx(_components.td,{style:{textAlign:`left`},children:`A label for this connection`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Description`}),_jsx(_components.td,{style:{textAlign:`left`},children:`Optional notes about what this connection covers`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`GCP Project ID`}),_jsx(_components.td,{style:{textAlign:`left`},children:`The Google Cloud project that contains your BigQuery datasets`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`GCP Region / Location`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[`The location of your datasets, for example `,_jsx(_components.code,{children:`US`}),`, `,_jsx(_components.code,{children:`EU`}),`, or `,_jsx(_components.code,{children:`us-central1`}),`. Prizm needs it to query `,_jsx(_components.code,{children:`INFORMATION_SCHEMA`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Extract Lineage`}),_jsx(_components.td,{style:{textAlign:`left`},children:`On by default. Turn it off to skip lineage`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`Lineage Mode`}),_jsxs(_components.td,{style:{textAlign:`left`},children:[_jsx(_components.strong,{children:`Via DataPlex API`}),` (default) or `,_jsx(_components.strong,{children:`Job Logs`}),`. See `,_jsx(_components.a,{href:`/sources/bigquery/overview#lineage-sources`,children:`Overview`})]})]})]})]}),_jsx(Frame,{caption:`BigQuery source details`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-top.png?fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=9b60c63433a330c31bcfaee44785d194`,alt:`The BigQuery Source Details form`,\"data-og-width\":`1339`,width:`1339`,\"data-og-height\":`640`,height:`640`,\"data-path\":`images/sources/bigquery/form-top.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-top.png?w=280\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=567bc0436bbe894ebb4a76e27e97d313 280w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-top.png?w=560\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=2db7b716eb9511456130732f42f05d04 560w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-top.png?w=840\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=71663e42c33b4a8ddc01de443d237caa 840w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-top.png?w=1100\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=c345db4052ceb061040289ef5e69001e 1100w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-top.png?w=1650\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=88d6954df44e32806a8e39c29e04a492 1650w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-top.png?w=2500\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=7c572909aced7b5b2f5af2035df88dbd 2500w`})})]}),_jsxs(Step,{title:`Choose an authentication method`,children:[_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Service Account Key`}),` (the default) or `,_jsx(_components.strong,{children:`Workload Identity`}),`. For a service account key, upload the JSON key file, or turn on `,_jsx(_components.strong,{children:`Use Vault`}),` to retrieve it from a configured vault.`]}),_jsx(Frame,{caption:`Lineage mode, authentication type and service account key upload`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-bottom.png?fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=93c072418e116e6dcbe42c017f676732`,alt:`The BigQuery lineage and authentication fields with the Service Account Key upload area`,\"data-og-width\":`1339`,width:`1339`,\"data-og-height\":`668`,height:`668`,\"data-path\":`images/sources/bigquery/form-bottom.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-bottom.png?w=280\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=1cf72b812fa6ef3c5a751d36ed5c1093 280w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-bottom.png?w=560\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=24c6f05e8a7d365f869ffdc85390d6aa 560w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-bottom.png?w=840\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=d8ed35ebc1958a0c59ce0f6fe2b4cf94 840w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-bottom.png?w=1100\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=5e938967b37a04b41166830ac263b734 1100w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-bottom.png?w=1650\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=00c7ee352c761d62d6aff2d780838cba 1650w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/bigquery/form-bottom.png?w=2500\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=f4b861971601438e11fcc572d238985c 2500w`})})]}),_jsx(Step,{title:`Validate and choose scope`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Next`}),` to validate the connection, then choose which datasets Prizm should catalog.`]})}),_jsx(Step,{title:`Save`,children:_jsxs(_components.p,{children:[`Complete the configuration. The source then appears in the `,_jsx(_components.strong,{children:`Source`}),` list, where the `,_jsx(_components.strong,{children:`Valid`}),` column shows a green check for a working connection.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next Steps`}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`What We Collect`,icon:`database`,href:`/sources/bigquery/what-we-collect`,children:_jsx(_components.p,{children:`See what Prizm extracts from BigQuery.`})}),_jsx(Card,{title:`FAQ`,icon:`circle-question`,href:`/sources/bigquery/faq`,children:_jsx(_components.p,{children:`Common questions about authentication, roles, and lineage.`})}),_jsx(Card,{title:`Troubleshooting`,icon:`wrench`,href:`/help/troubleshooting`,children:_jsx(_components.p,{children:`Diagnose connection failures, permission errors, and timeouts.`})})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"BigQuery Setup","sidebarTitle":"Setup","description":"APIs to enable, roles to grant, and authentication options for connecting BigQuery to Prizm.","icon":"plug","href":"/sources/bigquery/setup"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[1008,1713,""]]},"mdxExtracts":{"tableOfContents":[{"title":"Authentication","slug":"authentication","depth":2,"children":[]},{"title":"Enable the Required APIs","slug":"enable-the-required-apis","depth":2,"children":[]},{"title":"Grant the Required Roles","slug":"grant-the-required-roles","depth":2,"children":[{"title":"Example: grant roles to a service account","slug":"example-grant-roles-to-a-service-account","depth":3,"children":[]}]},{"title":"Connect BigQuery in Prizm","slug":"connect-bigquery-in-prizm","depth":2,"children":[]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"dqlabs","siteName":"DQLabs PRIZM","title":"BigQuery Setup - DQLabs PRIZM","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T16:07:33.395Z","originalFileLocation":"sources/bigquery/setup.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"APIs to enable, roles to grant, and authentication options for connecting BigQuery to Prizm.\">\u003cmeta data-mint-head name=\"application-name\" content=\"DQLabs PRIZM\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/jpeg\" sizes=\"180x180\" href=\"https://media.brand.dev/9afdd2b1-c5b5-4aba-87dd-63e926be4e0e.jpg\">\u003clink data-mint-head rel=\"icon\" type=\"image/jpeg\" sizes=\"32x32\" href=\"https://media.brand.dev/9afdd2b1-c5b5-4aba-87dd-63e926be4e0e.jpg\">\u003clink data-mint-head rel=\"icon\" type=\"image/jpeg\" sizes=\"16x16\" href=\"https://media.brand.dev/9afdd2b1-c5b5-4aba-87dd-63e926be4e0e.jpg\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/jpeg\" href=\"https://media.brand.dev/9afdd2b1-c5b5-4aba-87dd-63e926be4e0e.jpg\">\u003cmeta data-mint-head property=\"og:title\" content=\"BigQuery Setup - DQLabs PRIZM\">\u003cmeta data-mint-head property=\"og:description\" content=\"APIs to enable, roles to grant, and authentication options for connecting BigQuery to Prizm.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"DQLabs PRIZM\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.dqlabs.ai/sources/bigquery/setup\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dqlabs.mintlify.app/_mintlify/api/og/v2?division=BigQuery\u0026amp;title=BigQuery+Setup\u0026amp;description=APIs+to+enable%2C+roles+to+grant%2C+and+authentication+options+for+connecting+BigQuery+to+Prizm.\u0026amp;theme=50e6f980fbd7e92bbff4ad56\u0026amp;signature=81dc88791967051a531cdbaee869abcaf221400df521ccae1e6f0a2ec473f25a\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"BigQuery Setup - DQLabs PRIZM\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"APIs to enable, roles to grant, and authentication options for connecting BigQuery to Prizm.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dqlabs.mintlify.app/_mintlify/api/og/v2?division=BigQuery\u0026amp;title=BigQuery+Setup\u0026amp;description=APIs+to+enable%2C+roles+to+grant%2C+and+authentication+options+for+connecting+BigQuery+to+Prizm.\u0026amp;theme=50e6f980fbd7e92bbff4ad56\u0026amp;signature=81dc88791967051a531cdbaee869abcaf221400df521ccae1e6f0a2ec473f25a\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/dqlabs/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"DQLabs PRIZM\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#e40404\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.dqlabs.ai/sources/bigquery/setup\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/sources/bigquery/setup.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.dqlabs.ai/#organization\",\"name\":\"DQLabs Inc\",\"url\":\"https://docs.dqlabs.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://media.brand.dev/332adc35-5bc4-4d2b-bf78-256aa4a5e414.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.dqlabs.ai#website\",\"name\":\"DQLabs PRIZM\",\"url\":\"https://docs.dqlabs.ai\",\"publisher\":{\"@id\":\"https://docs.dqlabs.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.dqlabs.ai/sources/bigquery/setup#webpage\",\"url\":\"https://docs.dqlabs.ai/sources/bigquery/setup\",\"name\":\"BigQuery Setup\",\"description\":\"APIs to enable, roles to grant, and authentication options for connecting BigQuery to Prizm.\",\"dateModified\":\"2026-10-21T16:07:33.395Z\",\"isPartOf\":{\"@id\":\"https://docs.dqlabs.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.dqlabs.ai/sources/bigquery/setup#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.dqlabs.ai/sources/bigquery/setup#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Data Sources\",\"item\":\"https://docs.dqlabs.ai/sources/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"BigQuery\",\"item\":\"https://docs.dqlabs.ai/sources/bigquery/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"BigQuery Setup\",\"item\":\"https://docs.dqlabs.ai/sources/bigquery/setup\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.dqlabs.ai/sources/bigquery/setup#article\",\"headline\":\"BigQuery Setup\",\"name\":\"BigQuery Setup\",\"description\":\"APIs to enable, roles to grant, and authentication options for connecting BigQuery to Prizm.\",\"url\":\"https://docs.dqlabs.ai/sources/bigquery/setup\",\"mainEntityOfPage\":{\"@id\":\"https://docs.dqlabs.ai/sources/bigquery/setup#webpage\"},\"dateModified\":\"2026-10-21T16:07:33.395Z\",\"publisher\":{\"@id\":\"https://docs.dqlabs.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.dqlabs.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"DQLabs PRIZM\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"DQLabs PRIZM","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"dochub","groups":[{"group":"Get Started","icon":"running","pages":[{"title":"What is PRIZM? ","icon":"triangle","href":"/introduction"},{"title":"Sign in \u0026 Invite your team","icon":"user-check","href":"/quickstart"},{"title":"Get up and running with PRIZM: a step-by-step guide","icon":"rocket-launch","href":"/login"}]},{"group":"Core Concepts","icon":"apple-core","pages":[{"title":"Assets: Discover and manage your context in PRIZM","icon":"album-collection","mode":"wide","href":"/concepts/assets"},{"title":"Metrics: Monitor data quality and pipeline health in PRIZM","icon":"badge-check","href":"/concepts/metrics"},{"title":"Alerts: Automatic data drift and quality notifications","icon":"bolt-lightning","href":"/concepts/alerts"},{"title":"Issues: Manage data problems from detection to fix","icon":"bug","href":"/concepts/issues"}]},{"group":"Platform","icon":"laptop-code","pages":[{"title":"Platform Overview","icon":"grid","href":"/platform/overview"},{"title":"Multi-Agent Architecture","icon":"network-wired","href":"/platform/multi-agent-architecture"},{"title":"Autonomous Intelligence","icon":"brain","href":"/platform/autonomous-intelligence"},{"title":"AI \u0026 ML Capabilities","icon":"user-robot","href":"/platform/ai-and-ml-capabilities"},{"title":"Converse — AI Chat Interface","icon":"comments","href":"/platform/converse"},{"title":"AI Stewardship","icon":"robot","href":"/platform/ai-stewardship"}]},{"group":"Architecture","icon":"crate-apple","pages":[{"title":"Architecture Overview","icon":"server","href":"/architecture/overview"},{"title":"Criticality Scoring","icon":"star-sharp","href":"/architecture/criticality"},{"group":"Asset","icon":"album-collection","pages":[{"title":"Asset Overview","icon":"table-rows","href":"/architecture/asset"},{"title":"Asset Detail","icon":"table-rows","href":"/architecture/asset-details"},{"title":"Asset Type","icon":"computer-classic","href":"/architecture/asset-type"}]},{"group":"Entities (Child Objects)","icon":"list-tree","pages":[{"title":"Entities","icon":"objects-column","href":"/architecture/entities"},{"title":"Entity List","icon":"list-ul","href":"/architecture/entity-list"},{"title":"Attribute","icon":"table-columns-add-after","href":"/architecture/attribute"}]},{"group":"Profiling","icon":"creative-commons-sampling","pages":[{"title":"Data Profiling","icon":"magnifying-glass-chart","href":"/architecture/data-profiling"},{"title":"Profile Insights","icon":"box-isometric-tape","href":"/architecture/profile-insights"}]},{"group":"Metric","icon":"box-isometric-tape","pages":[{"title":"Metric Overview","icon":"chart-line","href":"/architecture/metric"},{"group":"Metric Types","icon":"shapes","pages":[{"group":"Operational","icon":"gears","pages":[{"group":"Volume","icon":"database","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/volume/overview"},{"title":"Configure","icon":"sliders","href":"/architecture/metrics/volume/configure"}]},{"group":"Freshness","icon":"clock","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/freshness/overview"},{"title":"Configure","icon":"sliders","href":"/architecture/metrics/freshness/configure"}]},{"group":"Schema","icon":"table-columns","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/schema/overview"},{"title":"Configure","icon":"sliders","href":"/architecture/metrics/schema/configure"}]}]},{"group":"Performance","icon":"gauge-high","pages":[{"group":"Credits","icon":"coins","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/credits/overview"},{"title":"Configure","icon":"sliders","href":"/architecture/metrics/credits/configure"}]},{"group":"Queries","icon":"bolt","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/queries/overview"},{"title":"Configure","icon":"sliders","href":"/architecture/metrics/queries/configure"}]},{"group":"Usage","icon":"chart-simple","pages":[{"title":"Overview","tag":"Ready For Review","icon":"circle-info","href":"/architecture/metrics/usage/overview"}]}]},{"group":"Structural","icon":"cubes","pages":[{"group":"Distribution","icon":"chart-column","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/distribution/overview"},{"title":"Configure","icon":"sliders","href":"/architecture/metrics/distribution/configure"}]},{"group":"Frequency","icon":"wave-square","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/frequency/overview"},{"title":"Configure","icon":"sliders","href":"/architecture/metrics/frequency/configure"}]},{"group":"Pattern","icon":"braille","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/pattern/overview"},{"title":"Configure","icon":"sliders","href":"/architecture/metrics/pattern/configure"}]},{"group":"Statistics","icon":"calculator","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/statistics/overview"},{"title":"Configure","icon":"sliders","href":"/architecture/metrics/statistics/configure"}]}]},{"group":"Business","icon":"briefcase","pages":[{"group":"Conditional","icon":"code-branch","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/conditional/overview"},{"title":"Setup","icon":"gear","href":"/architecture/metrics/conditional/setup"},{"title":"Use Cases","icon":"lightbulb","href":"/architecture/metrics/conditional/usecases"}]},{"group":"Query","icon":"terminal","pages":[{"title":"Overview","icon":"lightbulb","href":"/architecture/metrics/query/usecases"},{"title":"Setup","icon":"gear","href":"/architecture/metrics/query/setup"},{"title":"Use Cases","icon":"lightbulb","href":"/architecture/metrics/query/examples"}]},{"group":"Standalone","icon":"cube","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/standalone/overview"},{"title":"Setup","icon":"gear","href":"/architecture/metrics/standalone/setup"},{"title":"Use Cases","icon":"lightbulb","href":"/architecture/metrics/standalone/usecases"}]},{"group":"Behavioural","icon":"person-running","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/behavioural/overview"},{"title":"Setup","icon":"gear","href":"/architecture/metrics/behavioural/setup"},{"title":"Use Cases","icon":"lightbulb","href":"/architecture/metrics/behavioural/usecases"}]}]},{"group":"Reconciliation","icon":"scale-balanced","pages":[{"group":"Comparison","icon":"code-compare","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/comparison/overview"},{"title":"Setup","icon":"gear","href":"/architecture/metrics/comparison/setup"},{"title":"Use Cases","icon":"lightbulb","href":"/architecture/metrics/comparison/usecases"}]},{"group":"Lookup","icon":"magnifying-glass","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/lookup/overview"},{"title":"Setup","icon":"gear","href":"/architecture/metrics/lookup/setup"},{"title":"Use Cases","icon":"lightbulb","href":"/architecture/metrics/lookup/usecases"}]}]},{"group":"Semantic","icon":"folder-open","pages":[{"title":"Semantic Metrics","sidebarTitle":"overview","icon":"folder-open","href":"/architecture/metrics/semantic/overview"}]},{"group":"Metric Template","icon":"copy","pages":[{"title":"Overview","icon":"circle-info","href":"/architecture/metrics/metric-template/overview"},{"title":"Setup","icon":"gear","href":"/architecture/metrics/metric-template/setup"}]}]},{"title":"Anomaly Detection","icon":"wave-pulse","href":"/architecture/anomaly-detection"},{"title":"Metric Results","icon":"chart-simple","href":"/architecture/metric-result"},{"title":"Pipeline Metric","icon":"diagram-project","href":"/architecture/pipeline-metric"}]},{"group":"Lineage","icon":"arrow-left-arrow-right","pages":[{"title":"Lineage","icon":"diagram-project","href":"/architecture/lineage"},{"title":"Lineage Extraction","icon":"arrows-left-right","href":"/architecture/lineage-extraction"}]},{"title":"Usage","icon":"users","href":"/architecture/usage"},{"group":"Logs","icon":"money-check-pen","pages":[{"title":"Logging Overview","icon":"book-open-lines","href":"/architecture/log/logging-overview"},{"title":"Asset Audit","icon":"block-quote","href":"/architecture/log/asset-audit"},{"title":"Audit Log","icon":"train-track","href":"/architecture/log/audit-log"},{"title":"Activity Log","icon":"user-pen","href":"/architecture/log/activity-log"}]},{"group":"Command Center","icon":"terminal","pages":[{"title":"Overview","icon":"terminal","href":"/architecture/command-center/overview"},{"title":"Jobs","icon":"briefcase","href":"/architecture/command-center/jobs"},{"title":"Schedules","icon":"calendar","href":"/architecture/command-center/schedule"},{"title":"Utility: Import and Export","sidebarTitle":"Utility","icon":"arrows-left-right","href":"/architecture/command-center/utility"}]},{"title":"Documentation","icon":"file-doc","href":"/architecture/documentation"},{"title":"Scoring","icon":"star","href":"/architecture/score"},{"group":"Semantics","icon":"sitemap","pages":[{"title":"Overview","icon":"book-open","href":"/architecture/semantics/overview"},{"title":"Domain","icon":"globe","href":"/architecture/semantics/domain"},{"title":"Product","icon":"box","href":"/architecture/semantics/product"},{"title":"Application","icon":"window-maximize","href":"/architecture/semantics/application"},{"title":"Tag","icon":"tag","href":"/architecture/semantics/tag"},{"title":"Glossary","icon":"book","href":"/architecture/semantics/glossary"}]},{"group":"Exceptions","icon":"triangle-exclamation","pages":[{"title":"Exceptions Overview","icon":"triangle-exclamation","href":"/architecture/exceptions/overview"},{"title":"Exception Records","icon":"table-list","href":"/architecture/exceptions/exception-records"},{"title":"Notifications","icon":"bell","href":"/architecture/exceptions/notifications"},{"title":"Exception Dashboard","icon":"gauge","href":"/architecture/exceptions/exception-dashboard"}]},{"group":"Alerts","icon":"sensor-alert","pages":[{"title":"Alerts Overview","icon":"bell","href":"/architecture/alerts/overview"},{"title":"Alert Detail","icon":"circle-info","href":"/architecture/alerts/details"},{"title":"Alert Management","icon":"sliders","href":"/architecture/alerts/management"},{"title":"Alert Thresholds","icon":"gauge-high","href":"/architecture/alerts/thresholds"}]},{"title":"Actions","icon":"bolt","href":"/architecture/actions"},{"title":"SLA","icon":"stopwatch","href":"/architecture/sla"},{"group":"Dashboard","icon":"gauge","pages":[{"title":"Quality Dashboard","sidebarTitle":"quality-dashboard","icon":"shield-check","href":"/architecture/Quality-dashboard"},{"title":"Catalog Dashboard","icon":"book-open","href":"/architecture/catalog-dashboard"},{"title":"Observability Dashboard — Data","sidebarTitle":"Observability: Data","icon":"database","href":"/architecture/observability-data-dashboard"},{"title":"Observability Dashboard — Pipeline","sidebarTitle":"Observability: Pipeline","icon":"diagram-project","href":"/architecture/observability-pipeline-dashboard"},{"title":"Observability Dashboard — Report","sidebarTitle":"Observability: Report","icon":"chart-pie","href":"/architecture/observability-report-dashboard"}]}]},{"group":"Data Sources","icon":"sourcetree","pages":[{"title":"Data Sources Overview","icon":"database","href":"/sources/overview"},{"group":"ADLS","icon":"microsoft","pages":[{"title":"ADLS Overview","icon":"microsoft","href":"/sources/adls/overview"},{"title":"ADLS Setup","icon":"plug","href":"/sources/adls/setup"},{"title":"What We Collect","icon":"list-check","href":"/sources/adls/what-we-collect"},{"title":"FAQ","icon":"circle-question","href":"/sources/adls/faq"}]},{"group":"Snowflake","icon":"snowflake","pages":[{"title":"Snowflake Overview","icon":"snowflake","href":"/sources/snowflake/overview"},{"title":"Snowflake Setup","icon":"plug","href":"/sources/snowflake/setup"},{"title":"What Prizm Collects from Snowflake","icon":"database","href":"/sources/snowflake/what-we-collect"},{"title":"Snowflake FAQ","icon":"question","href":"/sources/snowflake/faq"}]},{"group":"Oracle","icon":"database","pages":[{"title":"Oracle Overview","icon":"database","href":"/sources/oracle/overview"},{"title":"Oracle Setup","icon":"plug","href":"/sources/oracle/setup"},{"title":"What We Collect","icon":"list-check","href":"/sources/oracle/what-we-collect"},{"title":"FAQ","icon":"circle-question","href":"/sources/oracle/faq"}]},{"group":"Sigma","icon":"chart-mixed","hidden":true,"pages":[{"title":"Sigma Overview","icon":"chart-mixed","href":"/sources/sigma/overview"},{"title":"Sigma Setup","icon":"plug","href":"/sources/sigma/setup"},{"title":"What We Collect","icon":"list-check","href":"/sources/sigma/what-we-collect"},{"title":"FAQ","icon":"circle-question","href":"/sources/sigma/faq"}]},{"group":"BigQuery","icon":"google","tag":"inprogress","pages":[{"title":"BigQuery Overview","sidebarTitle":"Overview","description":"What the BigQuery connector covers: metadata, tags, lineage, usage, and how it authenticates.","icon":"database","href":"/sources/bigquery/overview"},{"title":"BigQuery Setup","sidebarTitle":"Setup","icon":"plug","href":"/sources/bigquery/setup"},{"title":"BigQuery — What We Collect","sidebarTitle":"What We Collect","description":"The metadata, tags, lineage, and usage data Prizm extracts from BigQuery.","icon":"database","href":"/sources/bigquery/what-we-collect"},{"title":"BigQuery FAQ","sidebarTitle":"FAQ","icon":"circle-question","href":"/sources/bigquery/faq"}]},{"group":"Databricks","icon":"fire","pages":[{"title":"Databricks Overview","icon":"fire","href":"/sources/databricks/overview"},{"title":"Setup","icon":"plug","href":"/sources/databricks/setup"},{"title":"What Prizm Collects from Databricks","icon":"database","href":"/sources/databricks/what-we-collect"},{"title":"FAQ","icon":"question","href":"/sources/databricks/faq"}]},{"group":"SQL Server","icon":"server","pages":[{"title":"SQL Server Overview","icon":"database","href":"/sources/sql/overview"},{"title":"Setup","icon":"plug","href":"/sources/sql/setup"},{"title":"What Prizm Collects from SQL Server","icon":"database","href":"/sources/sql/what-we-collect"},{"title":"FAQ","icon":"question","href":"/sources/sql/faq"}]},{"group":"dbt","icon":"cube","pages":[{"title":"dbt Overview","icon":"cube","href":"/sources/dbt/overview"},{"title":"Setup","icon":"plug","href":"/sources/dbt/setup"},{"title":"What Prizm Collects from dbt","icon":"database","href":"/sources/dbt/what-prizm-collects"},{"title":"FAQ","icon":"question","href":"/sources/dbt/faq"}]},{"group":"Tableau","icon":"chart-column","pages":[{"title":"Tableau Overview","icon":"chart-bar","href":"/sources/tableau/overview"},{"title":"Tableau Setup","icon":"plug","href":"/sources/tableau/setup"},{"title":"What Prizm Collects from Tableau","icon":"database","href":"/sources/tableau/what-we-collect"},{"title":"Tableau FAQ","icon":"question","href":"/sources/tableau/faq"}]},{"group":"Power BI","icon":"chart-pie","pages":[{"title":"Overview","icon":"chart-bar","href":"/sources/powerbi/overview"},{"title":"Setup","icon":"plug","href":"/sources/powerbi/setup"},{"title":"What We Collect","icon":"database","href":"/sources/powerbi/what-we-collect"},{"title":"FAQ","icon":"circle-question","href":"/sources/powerbi/faq"}]},{"group":"Apache Airflow","icon":"wind","pages":[{"title":"Airflow Overview","icon":"wind","href":"/sources/airflow/overview"},{"title":"Setup","icon":"plug","href":"/sources/airflow/setup"},{"title":"What We Collect","icon":"database","href":"/sources/airflow/what-we-collect"},{"title":"Plugin Setup","icon":"puzzle-piece","href":"/sources/airflow/plugin-setup"}]},{"group":"SAP HANA","icon":"memory","tag":"inprogress","pages":[{"title":"SAP HANA Overview","sidebarTitle":"Overview","icon":"database","href":"/sources/sap-hana/overview"},{"title":"SAP HANA Setup","sidebarTitle":"Setup","icon":"plug","href":"/sources/sap-hana/setup"},{"title":"SAP HANA — What We Collect","sidebarTitle":"What We Collect","icon":"database","href":"/sources/sap-hana/what-we-collect"},{"title":"SAP HANA FAQ","sidebarTitle":"FAQ","icon":"circle-question","href":"/sources/sap-hana/faq"}]},{"group":"Azure Data Factory","icon":"diagram-project","hidden":true,"pages":[{"title":"Azure Data Factory Overview","sidebarTitle":"Overview","icon":"database","href":"/sources/adf/overview"},{"title":"Azure Data Factory Setup","sidebarTitle":"Setup","icon":"plug","href":"/sources/adf/setup"},{"title":"Azure Data Factory — What We Collect","sidebarTitle":"What We Collect","icon":"database","href":"/sources/adf/what-we-collect"},{"title":"Azure Data Factory FAQ","sidebarTitle":"FAQ","icon":"circle-question","href":"/sources/adf/faq"}]},{"group":"Azure Synapse","icon":"warehouse","tag":"inprogress","pages":[{"title":"Azure Synapse Overview","sidebarTitle":"Overview","icon":"database","href":"/sources/synapse/overview"},{"title":"Azure Synapse Setup","sidebarTitle":"Setup","icon":"plug","href":"/sources/synapse/setup"},{"title":"Azure Synapse — What We Collect","sidebarTitle":"What We Collect","icon":"database","href":"/sources/synapse/what-we-collect"},{"title":"Azure Synapse FAQ","sidebarTitle":"FAQ","icon":"circle-question","href":"/sources/synapse/faq"}]},{"group":"Salesforce Data Cloud","icon":"salesforce","tag":"inprogress","pages":[{"title":"Salesforce Data Cloud Overview","sidebarTitle":"Overview","icon":"database","href":"/sources/salesforce-data-cloud/overview"},{"title":"Salesforce Data Cloud Setup","sidebarTitle":"Setup","icon":"plug","href":"/sources/salesforce-data-cloud/setup"},{"title":"Salesforce Data Cloud — What We Collect","sidebarTitle":"What We Collect","icon":"database","href":"/sources/salesforce-data-cloud/what-we-collect"},{"title":"Salesforce Data Cloud FAQ","sidebarTitle":"FAQ","icon":"circle-question","href":"/sources/salesforce-data-cloud/faq"}]},{"group":"WhereScape","icon":"diagram-project","tag":"inprogress","pages":[{"title":"WhereScape Overview","sidebarTitle":"Overview","icon":"database","href":"/sources/wherescape/overview"},{"title":"WhereScape Setup","sidebarTitle":"Setup","icon":"plug","href":"/sources/wherescape/setup"},{"title":"WhereScape — What We Collect","sidebarTitle":"What We Collect","icon":"database","href":"/sources/wherescape/what-we-collect"},{"title":"WhereScape FAQ","sidebarTitle":"FAQ","icon":"circle-question","href":"/sources/wherescape/faq"}]},{"group":"Salesforce Marketing","icon":"salesforce","tag":"inprogress","pages":[{"title":"Salesforce Marketing Overview","sidebarTitle":"Overview","icon":"database","href":"/sources/salesforce-marketing/overview"},{"title":"Salesforce Marketing Setup","sidebarTitle":"Setup","icon":"plug","href":"/sources/salesforce-marketing/setup"},{"title":"Salesforce Marketing — What We Collect","sidebarTitle":"What We Collect","icon":"database","href":"/sources/salesforce-marketing/what-we-collect"},{"title":"Salesforce Marketing FAQ","sidebarTitle":"FAQ","icon":"circle-question","href":"/sources/salesforce-marketing/faq"}]}]},{"group":"Integrations","icon":"connectdevelop","pages":[{"group":"Alation","icon":"book-open","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/alation/overview"},{"title":"Setup","icon":"gear","href":"/integrations/alation/setup"},{"title":"Integration","icon":"plug","href":"/integrations/alation/integration"}]},{"group":"Collaboration","icon":"people-group","pages":[{"group":"Jira","icon":"jira","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/jira/overview"},{"title":"Setup","icon":"gear","href":"/integrations/jira/setup"},{"title":"Integration","icon":"plug","href":"/integrations/jira/integration"}]},{"group":"Service Now","icon":"ticket","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/servicenow/overview"},{"title":"Setup","icon":"gear","href":"/integrations/servicenow/setup"},{"title":"Integration","icon":"plug","href":"/integrations/servicenow/integration"}]},{"group":"Github Action","icon":"circle-play","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/githubaction/overview"},{"title":"Setup","icon":"gear","href":"/integrations/githubaction/setup"},{"title":"Integration","icon":"plug","href":"/integrations/githubaction/integrations"}]},{"group":"Github App","icon":"github","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/githubapp/overview"},{"title":"Setup","icon":"gear","href":"/integrations/githubapp/setup"},{"title":"Integration","icon":"arrows-left-right","href":"/integrations/githubapp/integrations"}]}]},{"group":"Notification","icon":"bell","pages":[{"group":"Email","icon":"envelope","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/email/overview"},{"title":"Setup","icon":"gear","href":"/integrations/email/setup"}]},{"group":"Google Chat","icon":"google","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/googlechat/overview"},{"title":"Setup","icon":"gear","href":"/integrations/googlechat/setup"}]},{"group":"Microsoft Team","icon":"microsoft","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/teams/overview"},{"title":"Setup","icon":"gear","href":"/integrations/teams/setup"}]},{"group":"Slack","icon":"slack","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/slack/overview"},{"title":"Setup","icon":"gear","href":"/integrations/slack/setup"}]}]},{"group":"Vault","icon":"vault","pages":[{"group":"Azure Key Vault","icon":"key","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/azure-key-vault/overview"},{"title":"Prerequisites","icon":"list-check","href":"/integrations/azure-key-vault/prerequisites"},{"title":"Setup","icon":"gear","href":"/integrations/azure-key-vault/setup"}]},{"group":"HashiCorp Vault","icon":"vault","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/hashicorp-vault/overview"},{"title":"Prerequisites","icon":"list-check","href":"/integrations/hashicorp-vault/prerequisites"},{"title":"Setup","icon":"gear","href":"/integrations/hashicorp-vault/setup"}]},{"group":"AWS Secret Manager","icon":"aws","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/aws-secret-manager/overview"},{"title":"Prerequisites","icon":"list-check","href":"/integrations/aws-secret-manager/prerequisites"},{"title":"Setup","icon":"gear","href":"/integrations/aws-secret-manager/setup"}]}]}]},{"group":"Security \u0026 Access Control","icon":"user-lock","pages":[{"title":"Security Overview","icon":"shield","href":"/security/overview"},{"title":"RBAC","icon":"user-shield","href":"/security/rbac"},{"group":"SSO integration","icon":"right-to-bracket","pages":[{"title":"SSO Integration Overview","icon":"key","href":"/security/sso"},{"title":"Azure Active Directory/Entra ID","icon":"microsoft","href":"/security/sso/azure"},{"title":"Okta","icon":"id-badge","href":"/security/sso/okta"},{"title":"IBM Verify","icon":"shield-check","href":"/security/sso/ibm-verify"},{"title":"Ping Identity","icon":"fingerprint","href":"/security/sso/ping-identity"},{"title":"SCIM Integration","icon":"users-gear","tag":"Ready for review","href":"/security/sso/scim"}]},{"title":"Data Protection","icon":"shield-halved","href":"/security/data-protection"},{"title":"AI Governance","icon":"user-robot","href":"/security/aigovernance"},{"title":"Compliance","icon":"certificate","href":"/security/compliance"}]},{"group":"Deployment","icon":"octopus-deploy","pages":[{"title":"Deployment Overview","icon":"rectangle-terminal","href":"/deployment/overview"},{"group":"Hybrid","icon":"cloud","pages":[{"group":"Azure Agent Outbound","icon":"microsoft","pages":[]},{"group":"AWS Agent Outbound","icon":"aws","pages":[]},{"group":"GCP Agent Outbound","icon":"google","pages":[]},{"group":"On Prem Agent Outbound","icon":"container-storage","pages":[]}]},{"group":"Customer Hosted","icon":"building","pages":[{"group":"Online","icon":"wifi","pages":[]},{"group":"Offline(Private)","icon":"lock","pages":[]}]}]},{"group":"Help","icon":"hands-helping","pages":[{"title":"FAQ","icon":"circle-question","href":"/faq"},{"title":"Troubleshooting","icon":"wrench","href":"/help/troubleshooting"},{"title":"Glossary","icon":"book","href":"/help/glossary"}]},{"group":"Settings","icon":"cog","pages":[{"title":"Platform","icon":"layer-group","href":"/Platform"},{"title":"Security","icon":"lock","href":"/settings"},{"title":"Remediation","icon":"screwdriver-wrench","href":"/remediation"},{"title":"Color Mode","icon":"palette","href":"/color-mode"},{"title":"Overview","icon":"building","href":"/organization-overview"}]},{"group":"MCP","icon":"plug","pages":[{"title":"MCP Access Tokens","icon":"key","href":"/ai/mcp-access-tokens"}]},{"group":"Release Notes","icon":"clipboard-list","pages":[{"title":"1.3.3 Release Notes","icon":"tag","href":"/Release_Notes_v1.3.3"},{"title":"1.3.4 Release Notes","icon":"tag","href":"/Release_Notes_v1.3.4"}]},{"group":"Placeholder reference - might remove","icon":"box-archive","hidden":true,"pages":[{"title":"security","icon":"shield","href":"/introduction/security"},{"title":"What is Prizm?","icon":"sparkles","href":"/introduction/overview"},{"title":"Key Concepts","icon":"lightbulb","href":"/introduction/key-concepts"},{"title":"Quick Start","icon":"rocket","href":"/introduction/quick-start"},{"group":"Data Quality","icon":"shield-check","pages":[{"title":"Data Quality Overview","icon":"shield-check","href":"/data-quality/overview"},{"title":"Quality Metrics","icon":"shield-check","href":"/data-quality/metrics"},{"title":"Quality Scoring","icon":"star","href":"/data-quality/scoring"},{"title":"Exception Management","icon":"triangle-exclamation","href":"/data-quality/exceptions"},{"title":"YAML Metrics - DQaC","icon":"code","href":"/data-quality/yaml-dqac"}]},{"group":"AI-Powered Experiences","icon":"robot","pages":[{"title":"AI-Powered Experiences","icon":"wand-magic-sparkles","href":"/ai/overview"},{"title":"GPT Prompts","icon":"wand-magic-sparkles","href":"/ai/gpt-prompts"},{"title":"Model Configuration","icon":"sliders","href":"/ai/model-configuration"},{"title":"Converse MCP Tools","icon":"plug","href":"/ai/converse-mcp"},{"title":"AI Recommendations","icon":"lightbulb","href":"/ai/recommendations"},{"title":"Glossary Generation","icon":"book","href":"/ai/glossary-generation"}]},{"group":"Guides","icon":"notes-sticky","pages":[{"title":"Navigate the PRIZM dashboard, nav bar, and search","icon":"compass","href":"/guides/navigating-dashboard"},{"title":"Search and discover assets across your data ecosystem","icon":"magnifying-glass","href":"/guides/searching-assets"},{"title":"Explore asset details, schema, lineage, and metrics","icon":"table","href":"/guides/asset-details"},{"title":"View, triage, and respond to PRIZM data quality alerts","icon":"bell","href":"/guides/managing-alerts"},{"title":"Track and resolve data quality issues with PRIZM Issues","icon":"bug","href":"/guides/tracking-issues"},{"title":"Explore insights with Analytics","icon":"chart-bar","href":"/guides/analytics"},{"title":"Use the PRIZM AI Chat Assistant to explore your data","icon":"comments","href":"/guides/chat-assistant"}]},{"group":"Architecture","icon":"sitemap","pages":[{"title":"Audience","icon":"users-gear","href":"/architecture/audience"},{"title":"Infrastructure","icon":"cloud","href":"/architecture/infrastructure"},{"title":"Data Model","icon":"table","href":"/architecture/data-model"},{"title":"Context Module","icon":"brain","href":"/architecture/context"},{"title":"Notifications","icon":"bell","href":"/architecture/notifications"},{"title":"Scheduling","icon":"calendar","href":"/architecture/scheduling"},{"title":"Impact Analysis","icon":"explosion","href":"/lineage/impact-analysis"}]}]}]},{"tab":"API Reference","icon":"code","pages":[{"title":"API Reference","href":"/api-reference/overview"}]}]},"title":"BigQuery Setup - DQLabs PRIZM","buildId":"dpl_9DauxEjb9gzCtcuhPQFbquJvx7FJ","deploymentId":"dpl_9DauxEjb9gzCtcuhPQFbquJvx7FJ","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DpBmNN95.js","DynamicMarkdown-BY_qDhTn.js","zoom-image-lightbox-D4WcYaf4.js","PlusIcon-CwhPVjTe.js","lightbox-handle-r17bVUz3.js"]}