Before connecting, create a dedicated Prizm role in Snowflake and grant it the minimum required permissions. Run the script below for each database you want to include.
-- Create a role for PrizmCREATE ROLE IF NOT EXISTS PRIZM_ROLE;-- Grant usage on the warehouseGRANT USAGE ON WAREHOUSE <warehouse_name> TO ROLE PRIZM_ROLE;-- Grant access to the target database and schemasGRANT USAGE ON DATABASE <database_name> TO ROLE PRIZM_ROLE;GRANT USAGE ON ALL SCHEMAS IN DATABASE <database_name> TO ROLE PRIZM_ROLE;GRANT USAGE ON FUTURE SCHEMAS IN DATABASE <database_name> TO ROLE PRIZM_ROLE;-- Grant read-only access to tables and viewsGRANT SELECT ON ALL TABLES IN DATABASE <database_name> TO ROLE PRIZM_ROLE;GRANT SELECT ON FUTURE TABLES IN DATABASE <database_name> TO ROLE PRIZM_ROLE;GRANT SELECT ON ALL VIEWS IN DATABASE <database_name> TO ROLE PRIZM_ROLE;GRANT SELECT ON FUTURE VIEWS IN DATABASE <database_name> TO ROLE PRIZM_ROLE;-- Required for: ACCOUNT_USAGE, lineage, tag sync, performance metricsGRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE PRIZM_ROLE;-- Grant monitor on pipes and tasks (pipeline observability)GRANT MONITOR ON ALL PIPES IN DATABASE <database_name> TO ROLE PRIZM_ROLE;
The IMPORTED PRIVILEGES grant on the SNOWFLAKE shared database is required for tag sync, pipeline observability, performance metrics, and Enterprise lineage. Without it, those features will be unavailable.
If your organization uses a whitelist to manage Snowflake access, Prizm will only access your Snowflake database through the following IP addresses. Add these to your Snowflake network policy before connecting.
Navigate to Source and click the + icon next to the source list. Select Snowflake from the connector grid.
Field
Description
Connection Name
A label for this instance (e.g., snowflake-prod)
Description
Details of the connection
Account
Your Snowflake account locator (e.g., xy12345.us-east-1)
Warehouse
The virtual warehouse Prizm will use to run queries
Snowflake source details
2
Choose an authentication method
Select your authentication type from the dropdown and provide the required credentials. Click Next to proceed.
Authentication Type defaults to Username And Password; Use Vault is optional
Key Pair authentication is recommended for production — it avoids password rotation issues and works with Snowflake IP-allowlist policies.
Username & Password
Key Pair
OAuth
Select Username And Password from the Authentication Type dropdown, then fill in the following fields:
Field
Description
Username
The Snowflake service account username assigned PRIZM_ROLE
Password
The account password
No additional Snowflake-side setup is required beyond the service account created in the Prerequisites step.
Select Key Based Authentication from the Authentication Type dropdown. Key pair authentication uses an RSA private key instead of a password.Snowflake-side setup — run these commands locally and in Snowflake:
# Generate a private key (no passphrase)openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt# Extract the public keyopenssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
-- Assign the public key to your Snowflake service accountALTER USER <prizm_username> SET RSA_PUBLIC_KEY='<contents_of_rsa_key.pub>';
Then fill in the following fields in Prizm:
Field
Description
Username
The Snowflake user the public key was assigned to
Pass Phrase
The passphrase used when generating the private key (leave blank if generated with -nocrypt)
Private Key
Upload the .p8 private key file via drag & drop or Browse
Select OAuth from the Authentication Type dropdown. Prizm acts as a confidential OAuth client against Snowflake’s authorization server.Snowflake-side setup — create a security integration:
CREATE SECURITY INTEGRATION prizm_oauth TYPE = OAUTH ENABLED = TRUE OAUTH_CLIENT = CUSTOM OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' OAUTH_REDIRECT_URI = '<redirect_url_shown_in_prizm>' OAUTH_ISSUE_REFRESH_TOKENS = TRUE OAUTH_REFRESH_TOKEN_VALIDITY = 7776000;-- Retrieve the Client ID and Client SecretSELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('PRIZM_OAUTH');
Then fill in the following fields in Prizm:
Field
Description
Redirect URL
Copy from the Prizm connection form and use as OAUTH_REDIRECT_URI when creating the integration
Client ID
The OAuth client ID returned by SYSTEM$SHOW_OAUTH_CLIENT_SECRETS
Client Secret
The OAuth client secret returned by SYSTEM$SHOW_OAUTH_CLIENT_SECRETS
The redirect URL is auto-generated by the Prizm portal at source setup time. Its format is {portal_origin}/source/{connector_type}/callback — for example, https://your-prizm-domain.com/source/snowflake/callback. This exact URL must be registered in the Snowflake OAuth security integration as an allowed redirect URI before completing the connection.
3
Configure asset scope
Once a valid authentication details are provided, the user will be taken to the asset selection page, use Include and Exclude wildcard patterns to control which objects are onboarded.
Table- and column-level lineage — triggered manually per asset only
Older Prizm documentation and some support runbooks refer to these same jobs as Catalog, Observability, and Pipeline. If you’re following an older guide: Catalog = Technical, Observability = Operational, and Pipeline observability is covered by Governance/Performance depending on the signal. See Scheduling for the full current job list.
You can override each schedule individually from the connector detail page after saving. Schedules for metadata synchronization jobs (technical, operational, governance, performance, usage summary, compute metric) are created automatically once a source is configured. Custom metric schedules can be created manually.How schedule overrides work: Any updated schedule overrides the existing one and applies to subsequent job executions. If a job is triggered manually, it runs immediately without affecting the configured schedule. Schedule changes take effect after they are saved, and all future executions follow the updated schedule.Manual re-sync: The platform supports both manual and scheduled refresh/re-sync operations. Triggering a manual scan runs the job immediately without disrupting the configured schedule.
Hourly is the only cadence Prizm documents support for. A 5-minute schedule was observed in testing to actually collect roughly every 30 minutes rather than every 5 — there’s no published minimum interval for sub-hourly values yet, so don’t rely on a sub-hourly schedule running exactly as configured.
5
Save and verify
Click Update to save the connection details. Prizm runs an initial full scan immediately — assets appear in the catalog within a few minutes. Navigate to Settings → Connectors → Logs to monitor scan progress.
Prizm controls workload concurrency at the job orchestration layer, not via a per-customer Snowflake connection pool limit. Higher concurrency settings increase the number of parallel queries against the configured warehouse. Invalid or inactive sources are excluded from scheduling, which reduces unnecessary load.
Setting
Default
Impact
Global concurrent jobs
20 (overridable via MAX_JOBS env)
Caps how many Prizm jobs run in parallel platform-wide
See the full field-level breakdown of every metadata object Prizm extracts.
FAQ
Common questions about credentials, scoping, and permissions.
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","canonical":"https://docs.dqlabs.ai"},"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":""},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af49520c5d18096e67ffded","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"Documentation","count":217},{"language":"default","tag":"Architecture","count":88},{"language":"default","tag":"Data Sources","count":54},{"language":"default","tag":"Metric","count":44},{"language":"default","tag":"Integrations","count":40},{"language":"default","tag":"Metric Types","count":40},{"language":"default","tag":"API Reference","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},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"workos-sso-scim","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},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"sources/snowflake/setup","slug":"/sources/snowflake/setup","pageMetadata":{"title":"Snowflake Setup","description":"Prerequisites, authentication options, and step-by-step instructions for connecting Snowflake to Prizm.","icon":"plug","href":"/sources/snowflake/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: \"Prerequisites, authentication options, and step-by-step instructions for connecting Snowflake 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,Tab,Table,Tabs,Tip,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(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Tip)_missingMdxReference(`Tip`,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\": \"Snowflake Setup\",\n \"description\": \"Prerequisites, authentication options, and step-by-step instructions for connecting Snowflake to Prizm.\",\n \"url\": \"https://docs.dqlabs.ai/sources/snowflake/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(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsx(_components.p,{children:`Before connecting, create a dedicated Prizm role in Snowflake and grant it the minimum required permissions. Run the script below for each database you want to include.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`17`,language:`sql`,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:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`17`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Create a role for Prizm`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ROLE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` IF`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` NOT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` EXISTS`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PRIZM_ROLE;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Grant usage on the warehouse`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`GRANT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` USAGE `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` WAREHOUSE `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`\u003c`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`warehouse_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TO`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ROLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PRIZM_ROLE;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Grant access to the target database and schemas`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`GRANT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` USAGE `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ON`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` DATABASE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`database_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TO`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ROLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PRIZM_ROLE;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`GRANT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` USAGE `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ALL SCHEMAS `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`IN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` DATABASE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`database_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TO`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ROLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PRIZM_ROLE;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`GRANT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` USAGE `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` FUTURE SCHEMAS `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`IN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` DATABASE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`database_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TO`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ROLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PRIZM_ROLE;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Grant read-only access to tables and views`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`GRANT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SELECT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ALL TABLES `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`IN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` DATABASE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`database_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TO`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ROLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PRIZM_ROLE;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`GRANT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SELECT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` FUTURE TABLES `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`IN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` DATABASE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`database_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TO`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ROLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PRIZM_ROLE;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`GRANT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SELECT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ALL VIEWS `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`IN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` DATABASE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`database_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TO`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ROLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PRIZM_ROLE;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`GRANT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SELECT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` FUTURE VIEWS `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`IN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` DATABASE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`database_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TO`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ROLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PRIZM_ROLE;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Required for: ACCOUNT_USAGE, lineage, tag sync, performance metrics`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`GRANT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` IMPORTED PRIVILEGES `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ON`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` DATABASE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` SNOWFLAKE `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`TO`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ROLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PRIZM_ROLE;`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Grant monitor on pipes and tasks (pipeline observability)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`GRANT`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` MONITOR `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ON`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ALL PIPES `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`IN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` DATABASE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`database_name`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TO`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ROLE`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` PRIZM_ROLE;`})]}),`\n`]})})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The IMPORTED PRIVILEGES grant on the SNOWFLAKE shared database is required for tag sync, pipeline observability, performance metrics, and Enterprise lineage. Without it, those features will be unavailable.`})}),`\n`,_jsx(Heading,{level:`3`,id:`ip-whitelisting`,children:`IP Whitelisting`}),`\n`,_jsx(_components.p,{children:`If your organization uses a whitelist to manage Snowflake access, Prizm will only access your Snowflake database through the following IP addresses. Add these to your Snowflake network policy before connecting.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{style:{textAlign:`left`},children:`Cloud Platform`}),_jsx(_components.th,{style:{textAlign:`left`},children:`Region`}),_jsx(_components.th,{style:{textAlign:`left`},children:`IP Addresses`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{style:{textAlign:`left`},children:`AWS`}),_jsx(_components.td,{style:{textAlign:`left`},children:`US-EAST-1 (Virginia)`}),_jsx(_components.td,{style:{textAlign:`left`},children:_jsx(_components.code,{children:`xxxxx`})})]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`connector-setup`,children:`Connector Setup`}),`\n`,_jsxs(Steps,{children:[_jsxs(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. Select `,_jsx(_components.strong,{children:`Snowflake`}),` from the connector grid.`]}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Field`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Description`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Connection Name`}),_jsx(_components.td,{children:`A label for this instance (e.g., snowflake-prod)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Description`}),_jsx(_components.td,{children:`Details of the connection`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Account`}),_jsx(_components.td,{children:`Your Snowflake account locator (e.g., xy12345.us-east-1)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Warehouse`}),_jsx(_components.td,{children:`The virtual warehouse Prizm will use to run queries`})]})]})]}),_jsx(Frame,{caption:`Snowflake source details`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-top.png?fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=4962b1d0dd833d043f653b94e7ecbefd`,alt:`The Snowflake Source Details form`,\"data-og-width\":`1339`,width:`1339`,\"data-og-height\":`640`,height:`640`,\"data-path\":`images/sources/snowflake/form-top.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-top.png?w=280\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=f3880b04313ec4842ad3282d6646c28b 280w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-top.png?w=560\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=3b102143ac7ed3a2f4b134d124b8e1a4 560w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-top.png?w=840\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=4790355f02cbcc608c7fe3d6d87bc333 840w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-top.png?w=1100\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=e09db4bc632dac1a88e85af931009db8 1100w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-top.png?w=1650\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=8e704f7694f8a96ea356a9f70fbb5629 1650w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-top.png?w=2500\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=e440ba820dafb5864f9a10a9951a35f9 2500w`})})]}),_jsxs(Step,{title:`Choose an authentication method`,children:[_jsxs(_components.p,{children:[`Select your authentication type from the dropdown and provide the required credentials. Click `,_jsx(_components.strong,{children:`Next`}),` to proceed.`]}),_jsx(Frame,{caption:`Authentication Type defaults to Username And Password; Use Vault is optional`,children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-bottom.png?fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=6ab512ba6cc63ead12fa256d8f52604e`,alt:`Snowflake authentication fields with Username And Password selected`,\"data-og-width\":`1339`,width:`1339`,\"data-og-height\":`668`,height:`668`,\"data-path\":`images/sources/snowflake/form-bottom.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-bottom.png?w=280\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=d40b1b9d26b9919bd869a4087d9d787c 280w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-bottom.png?w=560\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=f5b3d3d342d4b0891ad0276a17e2040b 560w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-bottom.png?w=840\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=643362c1e997d9443520046b6e646bd9 840w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-bottom.png?w=1100\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=8ec5a22c8a5e878a4b499ce3ae695385 1100w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-bottom.png?w=1650\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=642f323e55dfec47ad1302440f0b2513 1650w, https://mintcdn.com/dqlabs/-llXdpktU4fg82jU/images/sources/snowflake/form-bottom.png?w=2500\u0026fit=max\u0026auto=format\u0026n=-llXdpktU4fg82jU\u0026q=85\u0026s=653fee9f3bd080daf653e82ab338199a 2500w`})}),_jsx(Tip,{children:_jsx(_components.p,{children:`Key Pair authentication is recommended for production — it avoids password rotation issues and works with Snowflake IP-allowlist policies.`})}),_jsxs(Tabs,{children:[_jsxs(Tab,{title:`Username \u0026 Password`,id:`username-%26-password`,children:[_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Username And Password`}),` from the Authentication Type dropdown, then fill in the following fields:`]}),_jsx(OptimizedImage,{src:`https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_usr_pwd.png?fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=ecde536cd8a3a519cf521f9709163ece`,alt:`Sf Usr Pwd`,\"data-og-width\":`2718`,width:`2718`,\"data-og-height\":`566`,height:`566`,\"data-path\":`images/sf_usr_pwd.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_usr_pwd.png?w=280\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=4b666943e9660a38e0f91dd08f6d4ee8 280w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_usr_pwd.png?w=560\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=a82c83eb7c12dbf7358853d2a2ec213f 560w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_usr_pwd.png?w=840\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=8924f283e6041b0e0be20373a163e8bc 840w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_usr_pwd.png?w=1100\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=b7b343fadd9f143c122d8274886f5b54 1100w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_usr_pwd.png?w=1650\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=94f268033afed2df6cb277a5218e2571 1650w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_usr_pwd.png?w=2500\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=8708a7303c8157cc793e81a830e0409e 2500w`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Field`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Description`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Username`}),_jsxs(_components.td,{children:[`The Snowflake service account username assigned `,_jsx(_components.code,{children:`PRIZM_ROLE`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Password`}),_jsx(_components.td,{children:`The account password`})]})]})]}),_jsx(_components.p,{children:`No additional Snowflake-side setup is required beyond the service account created in the Prerequisites step.`})]}),_jsxs(Tab,{title:`Key Pair`,id:`key-pair`,children:[_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`Key Based Authentication`}),` from the Authentication Type dropdown. Key pair authentication uses an RSA private key instead of a password.`]}),_jsx(OptimizedImage,{src:`https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_key_base.png?fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=2db986691c6dee478785fb50a05d053c`,alt:`Sf Key Base`,\"data-og-width\":`2698`,width:`2698`,\"data-og-height\":`716`,height:`716`,\"data-path\":`images/sf_key_base.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_key_base.png?w=280\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=91f5ec33bf4791542f094f3be8373376 280w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_key_base.png?w=560\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=9a83e9060fbeed2b6bc76aba2252055d 560w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_key_base.png?w=840\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=8d066d0788eb7c9594d9744184436472 840w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_key_base.png?w=1100\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=b9863faed085facfa3a65de17b1f506c 1100w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_key_base.png?w=1650\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=f105ac67a1226fd58655f8ea0aa3fc5d 1650w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_key_base.png?w=2500\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=5853d2f5de6163cfa18769ed00f32fa2 2500w`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Snowflake-side setup — run these commands locally and in Snowflake:`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`5`,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:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Generate a private key (no passphrase)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` genrsa`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 2048`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:` openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` pkcs8`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -topk8`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -inform`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` PEM`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -out`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rsa_key.p8`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -nocrypt`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Extract the public key`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rsa`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -in`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rsa_key.p8`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -pubout`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -out`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rsa_key.pub`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`sql`,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:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`2`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Assign the public key to your Snowflake service account`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`ALTER`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` USER`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` \u003c`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`prizm_username`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`>`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SET`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` RSA_PUBLIC_KEY`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'\u003ccontents_of_rsa_key.pub>'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`]})})}),_jsx(_components.p,{children:`Then fill in the following fields in Prizm:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Field`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Description`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Username`}),_jsx(_components.td,{children:`The Snowflake user the public key was assigned to`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Pass Phrase`}),_jsxs(_components.td,{children:[`The passphrase used when generating the private key (leave blank if generated with `,_jsx(_components.code,{children:`-nocrypt`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Private Key`}),_jsxs(_components.td,{children:[`Upload the `,_jsx(_components.code,{children:`.p8`}),` private key file via drag \u0026 drop or Browse`]})]})]})]})]}),_jsxs(Tab,{title:`OAuth`,id:`oauth`,children:[_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`OAuth`}),` from the Authentication Type dropdown. Prizm acts as a confidential OAuth client against Snowflake’s authorization server.`]}),_jsx(OptimizedImage,{src:`https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_OAuth.png?fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=44937f9acbf68f8fb41e382e507ba1b8`,alt:`Sf O Auth`,\"data-og-width\":`2728`,width:`2728`,\"data-og-height\":`718`,height:`718`,\"data-path\":`images/sf_OAuth.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_OAuth.png?w=280\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=333d9703615d1f48bf863bdf0c8a877b 280w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_OAuth.png?w=560\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=d8222f2673a48e2a965d2f75b70adbcb 560w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_OAuth.png?w=840\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=866c84ffaa2270b9c603ba2cde67e063 840w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_OAuth.png?w=1100\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=1cc4671548c9c104e58e5af1b25ff0e6 1100w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_OAuth.png?w=1650\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=4bfb37ed64ceeebeca24b604f3116a29 1650w, https://mintcdn.com/dqlabs/n0TTQuy9V9dxb7WB/images/sf_OAuth.png?w=2500\u0026fit=max\u0026auto=format\u0026n=n0TTQuy9V9dxb7WB\u0026q=85\u0026s=7a5e7d71d595c5beb5ac97042b70377c 2500w`}),_jsx(_components.p,{children:_jsx(_components.strong,{children:`Snowflake-side setup — create a security integration:`})}),_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`sql`,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:`sql`,children:_jsxs(_components.code,{language:`sql`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`CREATE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SECURITY`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` INTEGRATION prizm_oauth`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` TYPE`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OAUTH`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` ENABLED`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` TRUE`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OAUTH_CLIENT `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` CUSTOM`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OAUTH_CLIENT_TYPE `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'CONFIDENTIAL'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OAUTH_REDIRECT_URI `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '\u003credirect_url_shown_in_prizm>'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OAUTH_ISSUE_REFRESH_TOKENS `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` TRUE`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` OAUTH_REFRESH_TOKEN_VALIDITY `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 7776000`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`-- Retrieve the Client ID and Client Secret`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`SELECT`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` SYSTEM`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`$SHOW_OAUTH_CLIENT_SECRETS(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'PRIZM_OAUTH'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),_jsx(_components.p,{children:`Then fill in the following fields in Prizm:`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Field`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Description`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Redirect URL`}),_jsxs(_components.td,{children:[`Copy from the Prizm connection form and use as `,_jsx(_components.code,{children:`OAUTH_REDIRECT_URI`}),` when creating the integration`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Client ID`}),_jsxs(_components.td,{children:[`The OAuth client ID returned by `,_jsx(_components.code,{children:`SYSTEM$SHOW_OAUTH_CLIENT_SECRETS`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Client Secret`}),_jsxs(_components.td,{children:[`The OAuth client secret returned by `,_jsx(_components.code,{children:`SYSTEM$SHOW_OAUTH_CLIENT_SECRETS`})]})]})]})]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`The redirect URL is auto-generated by the Prizm portal at source setup time. Its format is `,_jsx(_components.code,{children:`{portal_origin}/source/{connector_type}/callback`}),` — for example, `,_jsx(_components.code,{children:`https://your-prizm-domain.com/source/snowflake/callback`}),`. This exact URL must be registered in the Snowflake OAuth security integration as an allowed redirect URI before completing the connection.`]})})]})]})]}),_jsxs(Step,{title:`Configure asset scope`,children:[_jsx(_components.p,{children:`Once a valid authentication details are provided, the user will be taken to the asset selection page, use Include and Exclude wildcard patterns to control which objects are onboarded.`}),_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Level`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Example Patterns`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Database`}),_jsx(_components.td,{children:`Include: ANALYTICS_DB, PROD_DB — Exclude: DEV_*, SANDBOX_*`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Schema`}),_jsx(_components.td,{children:`Include: PUBLIC, REPORTING — Exclude: TEMP_*, _INTERNAL`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Table/View`}),_jsx(_components.td,{children:`Select the required table/view from the drop dowm`})]})]})]}),_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dqlabs/2PKL1b6ET1PUNdJf/images/Snwoflake_asset_selection.png?fit=max\u0026auto=format\u0026n=2PKL1b6ET1PUNdJf\u0026q=85\u0026s=11ee7aa1b9dd80828fc219a54e17df26`,alt:`Image`,\"data-og-width\":`2800`,width:`2800`,\"data-og-height\":`1707`,height:`1707`,\"data-path\":`images/Snwoflake_asset_selection.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dqlabs/2PKL1b6ET1PUNdJf/images/Snwoflake_asset_selection.png?w=280\u0026fit=max\u0026auto=format\u0026n=2PKL1b6ET1PUNdJf\u0026q=85\u0026s=d6005f98ed2e05b26674a5e3df50f751 280w, https://mintcdn.com/dqlabs/2PKL1b6ET1PUNdJf/images/Snwoflake_asset_selection.png?w=560\u0026fit=max\u0026auto=format\u0026n=2PKL1b6ET1PUNdJf\u0026q=85\u0026s=546afc0c727a606ce0ed1672ba20b7de 560w, https://mintcdn.com/dqlabs/2PKL1b6ET1PUNdJf/images/Snwoflake_asset_selection.png?w=840\u0026fit=max\u0026auto=format\u0026n=2PKL1b6ET1PUNdJf\u0026q=85\u0026s=ee3bd756114f5370f63e19e68f4c99d0 840w, https://mintcdn.com/dqlabs/2PKL1b6ET1PUNdJf/images/Snwoflake_asset_selection.png?w=1100\u0026fit=max\u0026auto=format\u0026n=2PKL1b6ET1PUNdJf\u0026q=85\u0026s=609fe4482eb6bda839732acb8859090f 1100w, https://mintcdn.com/dqlabs/2PKL1b6ET1PUNdJf/images/Snwoflake_asset_selection.png?w=1650\u0026fit=max\u0026auto=format\u0026n=2PKL1b6ET1PUNdJf\u0026q=85\u0026s=d07717425ef407e09c2954e6af90d4b6 1650w, https://mintcdn.com/dqlabs/2PKL1b6ET1PUNdJf/images/Snwoflake_asset_selection.png?w=2500\u0026fit=max\u0026auto=format\u0026n=2PKL1b6ET1PUNdJf\u0026q=85\u0026s=9f7add42b36f9c3e1e0e1defce04ca7e 2500w`})}),_jsx(Note,{children:_jsx(_components.p,{children:`Exclude rules take precedence over include rules when both match the same object.`})})]}),_jsxs(Step,{title:` Job schedules`,children:[_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Job Type`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Default`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`What It Does`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Technical`}),_jsx(_components.td,{children:`Daily`}),_jsx(_components.td,{children:`Databases, warehouses, schemas, tables, views, columns`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Operational`}),_jsx(_components.td,{children:`Hourly`}),_jsx(_components.td,{children:`Volume, freshness, schema change, anomaly detection`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Governance`}),_jsx(_components.td,{children:`Parallel, after Operational`}),_jsx(_components.td,{children:`Tags and business metadata sync`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Performance`}),_jsx(_components.td,{children:`Daily`}),_jsx(_components.td,{children:`Query stats, warehouse compute, storage cost`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Lineage`}),_jsx(_components.td,{children:`No schedule`}),_jsx(_components.td,{children:`Table- and column-level lineage — triggered manually per asset only`})]})]})]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`Older Prizm documentation and some support runbooks refer to these same jobs as `,_jsx(_components.strong,{children:`Catalog`}),`, `,_jsx(_components.strong,{children:`Observability`}),`, and `,_jsx(_components.strong,{children:`Pipeline`}),`. If you’re following an older guide: Catalog = Technical, Observability = Operational, and Pipeline observability is covered by Governance/Performance depending on the signal. See `,_jsx(_components.a,{href:`/architecture/scheduling`,children:`Scheduling`}),` for the full current job list.`]})}),_jsx(_components.p,{children:`You can override each schedule individually from the connector detail page after saving. Schedules for metadata synchronization jobs (technical, operational, governance, performance, usage summary, compute metric) are created automatically once a source is configured. Custom metric schedules can be created manually.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`How schedule overrides work:`}),` Any updated schedule overrides the existing one and applies to subsequent job executions. If a job is triggered manually, it runs immediately without affecting the configured schedule. Schedule changes take effect after they are saved, and all future executions follow the updated schedule.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Manual re-sync:`}),` The platform supports both manual and scheduled refresh/re-sync operations. Triggering a manual scan runs the job immediately without disrupting the configured schedule.`]}),_jsx(Warning,{children:_jsx(_components.p,{children:`Hourly is the only cadence Prizm documents support for. A 5-minute schedule was observed in testing to actually collect roughly every 30 minutes rather than every 5 — there’s no published minimum interval for sub-hourly values yet, so don’t rely on a sub-hourly schedule running exactly as configured.`})})]}),_jsx(Step,{title:`Save and verify`,children:_jsxs(_components.p,{children:[`Click `,_jsx(_components.strong,{children:`Update`}),` to save the connection details. Prizm runs an initial full scan immediately — assets appear in the catalog within a few minutes. Navigate to `,_jsx(_components.strong,{children:`Settings → Connectors → Logs`}),` to monitor scan progress.`]})})]}),`\n`,_jsx(Heading,{level:`2`,id:`concurrency-\u0026-performance-impact`,children:`Concurrency \u0026 Performance Impact`}),`\n`,_jsx(_components.p,{children:`Prizm controls workload concurrency at the job orchestration layer, not via a per-customer Snowflake connection pool limit. Higher concurrency settings increase the number of parallel queries against the configured warehouse. Invalid or inactive sources are excluded from scheduling, which reduces unnecessary load.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.strong,{children:`Setting`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Default`})}),_jsx(_components.th,{children:_jsx(_components.strong,{children:`Impact`})})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Global concurrent jobs`}),_jsxs(_components.td,{children:[`20 (overridable via `,_jsx(_components.code,{children:`MAX_JOBS`}),` env)`]}),_jsx(_components.td,{children:`Caps how many Prizm jobs run in parallel platform-wide`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Snowflake technical metadata`}),_jsx(_components.td,{children:`Batch concurrency 8`}),_jsx(_components.td,{children:`Parallel metadata queries against Snowflake`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Lineage extraction`}),_jsx(_components.td,{children:`Batch size 100, concurrency 8`}),_jsxs(_components.td,{children:[`Parallel `,_jsx(_components.code,{children:`GET_LINEAGE`}),` calls`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Compute metric / lookup / quality jobs`}),_jsxs(_components.td,{children:[`Per-job-type limits from platform `,_jsx(_components.code,{children:`job_config`})]}),_jsx(_components.td,{children:`Controls parallel Snowflake MCP/agent calls`})]})]})]}),`\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/snowflake/what-we-collect`,children:_jsx(_components.p,{children:`See the full field-level breakdown of every metadata object Prizm extracts.`})}),_jsx(Card,{title:`FAQ`,icon:`circle-question`,href:`/sources/snowflake/faq`,children:_jsx(_components.p,{children:`Common questions about credentials, scoping, and permissions.`})}),_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":"Snowflake Setup","description":"Prerequisites, authentication options, and step-by-step instructions for connecting Snowflake to Prizm.","icon":"plug","href":"/sources/snowflake/setup"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[1146,1732,""]]},"mdxExtracts":{"tableOfContents":[{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[{"title":"IP Whitelisting","slug":"ip-whitelisting","depth":3,"children":[]}]},{"title":"Connector Setup","slug":"connector-setup","depth":2,"children":[]},{"title":"Concurrency \u0026 Performance Impact","slug":"concurrency-\u0026-performance-impact","depth":2,"children":[]},{"title":"Next Steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"dqlabs","siteName":"DQLabs PRIZM","title":"Snowflake Setup - DQLabs PRIZM","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T16:07:33.409Z","originalFileLocation":"sources/snowflake/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=\"Prerequisites, authentication options, and step-by-step instructions for connecting Snowflake 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=\"Snowflake Setup - DQLabs PRIZM\">\u003cmeta data-mint-head property=\"og:description\" content=\"Prerequisites, authentication options, and step-by-step instructions for connecting Snowflake 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/snowflake/setup\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dqlabs.mintlify.site/_mintlify/api/og/v2?division=Snowflake\u0026amp;title=Snowflake+Setup\u0026amp;description=Prerequisites%2C+authentication+options%2C+and+step-by-step+instructions+for+connecting+Snowflake+to+Prizm.\u0026amp;theme=427ee605c16ad5234d5bc748\u0026amp;signature=c85f987506c855d60f03a18dde0554becf9131812dbfbd3ec86f55fba9fa71cb\">\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=\"Snowflake Setup - DQLabs PRIZM\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Prerequisites, authentication options, and step-by-step instructions for connecting Snowflake to Prizm.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dqlabs.mintlify.site/_mintlify/api/og/v2?division=Snowflake\u0026amp;title=Snowflake+Setup\u0026amp;description=Prerequisites%2C+authentication+options%2C+and+step-by-step+instructions+for+connecting+Snowflake+to+Prizm.\u0026amp;theme=427ee605c16ad5234d5bc748\u0026amp;signature=c85f987506c855d60f03a18dde0554becf9131812dbfbd3ec86f55fba9fa71cb\">\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/snowflake/setup\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/sources/snowflake/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/snowflake/setup#webpage\",\"url\":\"https://docs.dqlabs.ai/sources/snowflake/setup\",\"name\":\"Snowflake Setup\",\"description\":\"Prerequisites, authentication options, and step-by-step instructions for connecting Snowflake to Prizm.\",\"dateModified\":\"2026-10-21T16:07:33.409Z\",\"isPartOf\":{\"@id\":\"https://docs.dqlabs.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.dqlabs.ai/sources/snowflake/setup#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.dqlabs.ai/sources/snowflake/setup#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Data Sources\",\"item\":\"https://docs.dqlabs.ai/sources/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Snowflake\",\"item\":\"https://docs.dqlabs.ai/sources/snowflake/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Snowflake Setup\",\"item\":\"https://docs.dqlabs.ai/sources/snowflake/setup\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.dqlabs.ai/sources/snowflake/setup#article\",\"headline\":\"Snowflake Setup\",\"name\":\"Snowflake Setup\",\"description\":\"Prerequisites, authentication options, and step-by-step instructions for connecting Snowflake to Prizm.\",\"url\":\"https://docs.dqlabs.ai/sources/snowflake/setup\",\"mainEntityOfPage\":{\"@id\":\"https://docs.dqlabs.ai/sources/snowflake/setup#webpage\"},\"dateModified\":\"2026-10-21T16:07:33.409Z\",\"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\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"DQLabs Inc\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/sources/snowflake/setup.md","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","description":"What Snowflake is, why connecting it to Prizm unlocks data intelligence, and what capabilities Prizm supports.","href":"/sources/snowflake/overview"},{"title":"Snowflake Setup","icon":"plug","href":"/sources/snowflake/setup"},{"title":"What Prizm Collects from Snowflake","icon":"database","description":"Complete field-level breakdown of every metadata object, quality metric, and signal Prizm extracts from Snowflake across all platform jobs.","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","pages":[{"title":"BigQuery Overview","sidebarTitle":"Overview","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","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","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","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"},{"title":"Pipelines","tag":"Internal","icon":"diagram-project","href":"/sources/synapse/pipelines"}]},{"group":"Salesforce Data Cloud","icon":"salesforce","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","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","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":"Collibra","icon":"book-open","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/collibra/overview"},{"title":"Setup","icon":"gear","href":"/integrations/collibra/setup"}]},{"group":"Atlan","icon":"book-open","pages":[{"title":"Overview","tag":"Private","icon":"circle-info","href":"/integrations/atlan/overview"},{"title":"Setup","tag":"Private","icon":"gear","href":"/integrations/atlan/setup"}]},{"group":"Microsoft Purview","icon":"book-open","pages":[{"title":"Overview","icon":"circle-info","href":"/integrations/purview/overview"},{"title":"Setup","icon":"gear","href":"/integrations/purview/setup"}]},{"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"},{"title":"1.4.1 Release Notes","icon":"tag","href":"/Release_Notes_v1.4.1"}]},{"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"}]}]},"basePath":"","title":"Snowflake Setup - DQLabs PRIZM","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-u3J1-UOn.js","DynamicMarkdown-B-f2cqXQ.js","zoom-image-lightbox-DTFzvaXJ.js","lightbox-handle-r17bVUz3.js"]}