Skip to main content

How to set up Snowflake

Updated over a week ago

Setup takes about 10 minutes.

Introduction

The connection to Snowflake lets Foundational extract lineage and list all entities and assets in your environment. It also lets Foundational track usage and cost, provide cost suggestions, and monitor data quality.

To make the connection, you need to:

  • Set up a connection account in Foundational using the on-screen wizard.

  • Provide Foundational with permissions to access relevant metadata in Snowflake.


Prerequisites

Ensure you have:


Access permissions

Foundational needs specific Snowflake permissions to read metadata, load schema details, access usage and cost information, and monitor data quality. The connection setup includes a download script that applies the permissions listed in the table.

Permission Name

Product Feature

Technical Justification

OBJECT_VIEWER

Schema Extraction

Grants read-only access to metadata views
(e.g., TABLES, COLUMNS) in the shared SNOWFLAKE database.

Does not grant access to SELECT raw data from customer tables.

USAGE_VIEWER

Cost & Usage

Grants access to historical usage logs
(e.g., WAREHOUSE_METERING_HISTORY, QUERY_HISTORY) to calculate cost attribution and resource utilization.

GOVERNANCE_VIEWER

Lineage

Grants access to the ACCESS_HISTORY view.

Required for accessing lineage information from Snowflake.

USAGE (on Warehouse)

Execution

Allows Foundational to execute the SQL queries required to fetch the metadata above.

OPERATE (on Warehouse)

Reliability

Allows the service account to resume the warehouse if suspended. This allows Foundational to run queries to extract information.

[Optional] SELECT

Data Observability

Optional.

Needed if you want Foundational to monitor data and issue alerts on any issues or incidents with the data.

[Optional] Iceberg permissions (external volumes, Iceberg info)

Lineage for Iceberg tables

Optional.

Needed if you want Foundational to track lineage for Iceberg tables.


Connect Foundational to Snowflake

  1. In Foundational, open the Connectors and Integrations page.

  2. In the Warehouses section, select the Snowflake card and click Connect.

  3. The initial setup screen opens. Click Start Setup.

  4. The Setup New Connection screen opens.


    Enter the details:

    • Account URL: Use this format https://.snowflakecomputing.com.

    • Warehouse: The warehouse Foundational should use when executing queries to fetch metadata, usage, and lineage.

    • Ingestion Role: The name of the role Foundational should use to access Snowflake.

    • User Name: The name of the user created in the script.

    • Enable Observability features (optional): Authorizes Foundational to access your data in Snowflake and to monitor and alert on data quality issues.

    • Track Iceberg table lineage (optional): Authorizes Foundational to track Iceberg lineage (e.g., access external volumes, Iceberg information, etc.).

  5. Click Next.

  6. Step 2 of the connection process appears. Select Click to Download and save the generated script. The script contains the commands needed to provide Foundational with the access you specified in the Setup New Connection screen.

  7. Log in to Snowflake, and run the instructions from the downloaded script. The script creates:

    • The role Foundational uses.

    • The user who runs with this role has the permissions needed to perform the services specified in the Setup New Connection screen.

  8. Return to Foundational and click Next.

  9. The final setup screen opens. To complete the connection, click Save.

That’s it. Foundational and Snowflake are now connected, and you can explore lineage in your data stack.

Did this answer your question?