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
- Open a project in Snap Data Studio.
- Open the project menu and click Configure DB Credentials.
- Choose Snowflake or Databricks, then pick an auth method.
- Follow the matching section below (or open the in-app guide drawer for the same steps beside the form).
- Fill the connection fields, click Test Connection, then save.
Snowflake
Run Snowflake SQL in a Snowsight worksheet (Projects » Worksheets). These steps useACCOUNTADMIN unless noted; least-privilege alternatives are at the end of each method.
- Access token (PAT)
- Private key
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.

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 useACCOUNTADMIN, each step needs only:- Create role ·
USERADMIN(it holdsCREATE ROLE) - Grant read access · the warehouse and database owners, or
SECURITYADMIN(it holdsMANAGE GRANTS) - Create service user ·
USERADMIN - Network policy ·
SECURITYADMIN - Generate token ·
OWNERSHIPorMODIFY PROGRAMMATIC AUTHENTICATION METHODSon the user - Auth policy ·
SECURITYADMIN
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 (service principal)
- Access token (PAT)
OAuth setup happens in the Databricks UI: no tokens, notebooks, or command line.Full reference: Databricks OAuth M2M docs · Databricks service principals.
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
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.
What’s next
- Create a logical & physical model — import from DB once credentials are saved
- Create a conceptual model — link warehouse tables to concepts
- Quickstart