Skip to main content

Snowflake

This section explains how to create, configure, and test a Snowflake data source in DataDios, including the different ways you can authenticate.


Steps to Create and Test a Snowflake Data Source

Step 1: Create a Data Source

  1. Navigate to the Data Sources tab in DataDios
  2. Click + CREATE DS
  3. From the list of available data source types, select Snowflake Database

Step 2: Choose an Authentication Method

Snowflake supports three ways to connect. Select one from the Auth Type dropdown — the connection form updates to show only the fields that method needs.

Password Authentication

The default method. Sign in with a standard Snowflake user and password.

  • Username: Snowflake login name
  • Password: Password for that user

Best for quick setup and manual exploration.

Azure OAuth

Authenticate through an Azure AD (Entra ID) application instead of a Snowflake password. DataDios requests a token from Azure and uses it to open the Snowflake session, refreshing it automatically when it expires.

  • Tenant ID: Azure directory (tenant) ID
  • Client ID: Application (client) ID of the registered Azure app
  • Client Secret: Client secret generated for that app
  • Scope: OAuth scope configured for the Snowflake integration

No Snowflake username or password is required with this method.

Key Pair Authentication

Authenticate with an RSA private key instead of a password — the recommended option for automated and scheduled workloads.

  • Username: Snowflake login name the key is registered against
  • PEM File: Upload your private key file (.pem, .p8, or .key)
  • Passphrase: (Optional) Leave blank if the key is not encrypted

The matching public key must already be assigned to the Snowflake user (ALTER USER … SET RSA_PUBLIC_KEY = …) before testing the connection.


Step 3: Fill Common Connection Details

These fields apply to every authentication method:

  • Group: (Optional) Grouping for data sources

  • Account: Snowflake account identifier (e.g., xy12345 or xy12345.us-east-1)

  • Warehouse: Virtual warehouse used to run queries (default: COMPUTE_WH) — required

  • Database: (Optional) Restrict sync to specific databases; accepts a comma-separated list, or * for all

  • Schema: (Optional) Restrict sync to specific schemas; accepts a comma-separated list, or * for all

  • Object Types: (Optional) Limit which object types are fetched (e.g., BASE TABLE, VIEW, MATERIALIZED VIEW)

  • Schedule Sync: Configure for metadata timeline synchronization (see Metadata Timeline)

  • Sync Batch Size: (Optional) Number of objects fetched per batch during sync

    • JSON Structure
          {
    "group": "",
    "auth_type": "password",
    "username": "sf-admin",
    "password": "Admin@123",
    "account": "xy12345.us-east-1",
    "warehouse": "COMPUTE_WH",
    "database": "QUICKSTART",
    "schema": "PUBLIC",
    "object_types": ""
    }

Step 4: Test Connection

  1. After entering the details, click Test Connection
  2. Ensure the connection is validated successfully

If the test fails because of the warehouse, run SHOW WAREHOUSES; in the Snowflake UI to confirm the name is correct and that your user can access it.


Step 5: Save Data Source

  1. If the test succeeds, click Create to save the data source
  2. You will be redirected to the Datasource Listing Page, where the Snowflake data source will appear

Step 6: Explore Data Source Items

  1. Expand the Snowflake data source to view all items (databases, schemas, tables, views, etc.)

  2. To view metadata about any item:

    • Click the item name
    • Click the three stacked lines icon to open the Object Metadata pop-up
  3. You can also explore additional features in the Metadata Explorer:

    • Object Data

      • View the actual data present in the selected table or view
    • Graphs

      • Visualize dependencies and relationships across databases and schemas
    • Data Quality Rules


Connection Parameters

ParameterRequiredDefaultDescription
auth_typeYespasswordAuthentication method: password, azure_oauth, or key_pair
accountYesSnowflake account identifier
warehouseYesCOMPUTE_WHVirtual warehouse used to run queries
usernameYes (password, key pair)Snowflake login name
passwordYes (password)Snowflake user password
tenant_idYes (Azure OAuth)Azure directory (tenant) ID
client_idYes (Azure OAuth)Azure application (client) ID
client_secretYes (Azure OAuth)Azure application client secret
scopeYes (Azure OAuth)OAuth scope for the Snowflake integration
pem_fileYes (key pair)Private key file upload (.pem, .p8, .key)
passphraseNoPassphrase for the private key; blank if unencrypted
groupNoGrouping label for data sources
databaseNoComma-separated database filter (* for all)
schemaNoComma-separated schema filter (* for all)
object_typesNoComma-separated object type filter (* for all)
schedule_syncNoMetadata sync frequency
sync_batch_sizeNoObjects fetched per batch during sync
note

DataDios connects using the Snowflake user's default role, and the built-in SNOWFLAKE database and all INFORMATION_SCHEMA schemas are excluded from listings.


Best Practices

  1. Prefer Key Pair or Azure OAuth over password authentication for scheduled and automated workloads
  2. Use Secret Store for passwords and client secrets to avoid hardcoding credentials
  3. Always Test Connection before saving to ensure configuration is correct
  4. Scope Database and Schema to limit how much metadata is synced on large accounts
  5. Verify the Warehouse is running and accessible to the connecting user

For more details on configuring Snowflake with metadata sync, see the Metadata Timeline.