Skip to main content

What you’re setting up

Warehouse credentials let Snap Data Studio read structure from Snowflake or Databricks — databases, catalogs, schemas, tables, and columns — so you can import diagrams, attach tables to Copilot, and link concepts to physical entities. Credentials are stored per project. Snap Data Studio never queries row data inside your tables. SELECT (or equivalent) is required only so the warehouse will share full object definitions. Supported warehouses: The same setup guides appear in product when you open the credential help drawer next to the connection form.

Open Database Credentials

  1. Open a project in Snap Data Studio.
  2. Open the project menu and click Configure DB Credentials.
  3. Choose Snowflake or Databricks, then pick an auth method.
  4. Follow the matching section below (or open the in-app guide drawer for the same steps beside the form).
  5. Fill the connection fields, click Test Connection, then save.
Prefer a dedicated service user or service principal for production. Personal tokens work for a quick trial but act as your login and stop working if your account is disabled.

Snowflake

Run Snowflake SQL in a Snowsight worksheet (Projects » Worksheets). These steps use ACCOUNTADMIN unless noted; least-privilege alternatives are at the end of each method.
Snap Data Studio signs in as a dedicated service user with a token, so you never have to share your own password.
These steps use the ACCOUNTADMIN role. If your team restricts who can use it, see Least privilege for PAT at the end of this tab.
1

Create a role for the app

A role is how Snowflake groups permissions: you grant access to the role once, and any user holding that role gets exactly that access. Giving Snap Data Studio its own role keeps its access easy to review and easy to revoke.
2

Grant read access

Give the role a warehouse to run queries on, plus read access to the databases you want to model.
Your data stays private. Snap Data Studio only reads structure (database, table and column definitions) to build your diagrams. It never queries the rows inside your tables. SELECT is granted only because Snowflake requires it before it will share a table’s full definition.
3

Create the service user

A service user is a machine account made for applications rather than people. TYPE = SERVICE blocks password sign-in entirely; in this guide it authenticates with a token.
4

Allow this app's IP

Snowflake only accepts a service user’s token when the request comes from an approved IP address.
In Snap Data Studio, the credential guide drawer may already fill in the live egress IP. If you are following this docs page (or the in-app guide could not detect an address), use the stand-in below, then discover the real IP with Test Connection.
Getting the real address: finish generating the token and fill the connection form, then click Test Connection. The failure error names the real IP. Allow it with the statement below, then test again.
5

Generate the token

Copy the secret as soon as it appears. Snowflake shows it once.
If you prefer the UI, go to Governance & Security » Users & Roles » snap_labs_service_user » Programmatic Access Tokens » Generate Token.
Using a personal token: the panel under your own Settings » Authentication creates a token for your login, not the service user. That works for a quick trial, but it acts as you and stops working if your account is ever disabled.Personal programmatic access tokens panel in Snowsight settings
6

Pin sign-in methods (optional)

Everything above is enough to connect, so feel free to skip this. This extra policy locks the service user to token sign-in only and keeps the IP check enforced even if your account’s defaults ever change. Recommended on accounts shared across many teams.
7

Connect

Back in Snap Data Studio, fill in the connection form:Hit Test Connection, then save.

Least privilege for PAT

If you can’t use ACCOUNTADMIN, each step needs only:
  • Create role · USERADMIN (it holds CREATE ROLE)
  • Grant read access · the warehouse and database owners, or SECURITYADMIN (it holds MANAGE GRANTS)
  • Create service user · USERADMIN
  • Network policy · SECURITYADMIN
  • Generate token · OWNERSHIP or MODIFY PROGRAMMATIC AUTHENTICATION METHODS on the user
  • Auth policy · SECURITYADMIN
Full reference: Snowflake PAT docs.

Databricks

Snap Data Studio connects to a Databricks SQL warehouse as a dedicated service principal — a machine account for applications rather than people. OAuth is the method Databricks recommends for connected tools.
OAuth setup happens in the Databricks UI: no tokens, notebooks, or command line.
Creating the service principal and grants needs a workspace admin.
1

Copy the warehouse connection details

In your Databricks workspace, open SQL Warehouses, select your warehouse, then open the Connection details tab. Copy the Server hostname and HTTP path into the matching fields in Snap Data Studio.
2

Create a service principal

Go to Settings » Identity and access, select Manage next to Service principals, then Add service principal » Add new. Name it snap-labs-service-principal and confirm, making sure the Databricks SQL access and Workspace access entitlements are ticked.Open the new principal and copy its Application ID (a UUID). Later steps use it.
On Azure, choose Databricks managed if asked how the principal is managed; no Entra ID app is needed.
3

Let it use your warehouse

Back in SQL Warehouses, open the menu next to your warehouse, select Permissions, and add snap-labs-service-principal with Can use.
4

Grant read access to your data

Run this in the SQL editor (New » Query). Granting at the catalog level automatically covers every schema and table inside it, including ones created later.
Not sure which catalogs? Open Catalog in the workspace’s left sidebar: that top-level list is what you’re choosing from. Grant each catalog that holds tables you want to diagram, and skip built-ins like system and samples. Unity Catalog has no single grant covering every catalog, so anything you skip stays invisible to Snap Data Studio. (The optional Catalog field in the connection form is different: it only sets the default browsing location and can stay blank.)
Your data stays private. Snap Data Studio only reads structure (catalog, table and column definitions) to build your diagrams. It never queries the rows inside your tables. SELECT is needed to read the objects’ definitions.
5

Create an OAuth secret

Back on the service principal’s page (Settings » Identity and access » Service principals » snap-labs-service-principal), open the Secrets tab and select Generate secret. Choose a lifetime to match your rotation policy (up to 730 days), then copy both values:
  • Client ID: the same Application ID from earlier
  • Secret: shown once, so copy it now
A service principal can hold at most 5 active secrets; this tab is also where you delete expired ones.
6

Connect

Back in Snap Data Studio, fill in the connection form:Hit Test Connection, then save.
If the test fails with “Permission denied”, the secret is right but access is missing: re-check warehouse Can use and the entitlements on the service principal. If your workspace enforces IP access lists (an Enterprise-tier feature, off by default), an admin must allow this app’s outbound address first.
Full reference: Databricks OAuth M2M docs · Databricks service principals.

What’s next