Snowflake
Learn how to connect your Snowflake account to North as a Cost Loop.
Setup the Snowflake Cost Loop integration in North to see your wrehouse compute and storage spend.
North authenticates with Snowflake as a dedicated read-only service user, using an RSA key pair. North generates the key pair in your browser and builds a setup script that already carries your public key. You run that script once in Snowflake. North keeps the private key.
Before You Start
You need a Snowflake user that holds both ORGADMIN and ACCOUNTADMIN.
If you do not hold ORGADMIN, you can still complete the setup. Only the first three statements in the script need it, and they run once per account. Ask your organization administrator to run those three, delete them from your copy, then run the rest yourself as ACCOUNTADMIN.
You also need your Snowflake account identifier. Use the ORGID-ACCOUNTID form, for example MYORG-PROD01. The legacy locator.region.cloud form still works.
What the Script Creates
The script is idempotent. You can run it again safely, and re-running never removes the registered public key.
NORTH_RO_WH warehouse
An XSMALL warehouse used only by the service user. It auto-suspends after 60 seconds and resumes on demand.
NORTH_RO role
The read-only role North uses.
NORTH database and NORTH.PUBLIC schema
Holds the secure views North reads through.
NORTH_RO user
The service identity. It is created with TYPE = SERVICE, so password authentication is structurally impossible and human MFA policies do not apply to it.
Secure views in NORTH.PUBLIC
Column-pruned wrappers over Snowflake's own usage and billing views.
NORTH_RO_NETWORK_POLICY
Restricts the service user to North's egress IP addresses. It applies to NORTH_RO only. Your own users and administrators are unaffected.
What North Can and Cannot Read
North connects only as NORTH_RO, and that role has no direct access to SNOWFLAKE.*. It reads the secure wrapper views instead, and those views are built to exclude sensitive columns.
Excluded from every view: QUERY_TEXT, USER_NAME, and per-user Cortex identifiers. North sees query identifiers and resource metrics for attribution. North does not see the SQL you ran or who ran it.
Bounded to 365 days. Every time-based view is filtered to the last 365 days.
The views cover organization billing, rates, and balances; warehouse and serverless compute; storage; data transfer; query-level attribution; and Cortex AI usage. Some views depend on your Snowflake edition or region. The script skips any source that does not exist on your account rather than failing, and reports which views it created and which it skipped.
Connect Snowflake
After You Connect
Snowflake spend appears on your homepage as a card carrying your connection name. See Viewing Cost Loop Data for where else it shows up and at what detail.
Last updated
Was this helpful?

