# Governed Snowflake access for AI agents

> Give AI agents governed access to Snowflake: key-pair users per role, grant checks before every statement, preserved masking and row access policies.

Canonical URL: https://sembric.app.arelis.digital/integrations/snowflake

Integration · Cloud data platform

Connect a Snowflake schema over the SQL API with one key-pair user and role per Sembric role, and let agents query only certified surfaces.

Identity

## How Sembric connects to Snowflake

### Per-role identity

Each Sembric role uses its own Snowflake service user, role and RSA key pair over the SQL API. Private keys stay on the runtime and never enter source metadata, the portal or logs.

### Your policies stay in force

Snowflake access control, row access policies and masking policies stay authoritative. Certification runs every check under each granted role’s identity, so a policy that changes answers per role is visible during review.

Enforcement

## What Sembric checks and refuses

-   Before any data statement Sembric reads SHOW GRANTS TO ROLE and refuses administrative roles, inherited roles, grant options and write or ownership privileges. A passing check is reused for ten minutes per identity.
-   Only the exact account origin is allowed; other origins, redirects, paths and plain HTTP are refused.
-   Statements use positional bindings with reviewed casts, TIMEZONE=UTC and bounded jsonv2 result partitions.
-   Users, environment variables and keys must differ across roles; the source form refuses two roles that resolve to the same key.

Limits

## What these controls don’t do

-   The statement timeout (30 seconds by default) and best-effort cancellation do not cap warehouse credits.

Setup

## Connecting Snowflake

1.  For each Sembric role, create a dedicated Snowflake role and service user with USAGE on the warehouse, database and schema and SELECT on only the chosen tables or secure views.
2.  Generate an RSA key pair per user, register the public key, and provision the private key on the Sembric runtime under a role-named secret.
3.  Allow the exact account origin, then have an owner enter the warehouse, database, schema and role mappings and test every mapping before saving.
4.  Discover, review classifications, and certify products and views with an independent reviewer.

FAQ

## Snowflake questions

### Why does Sembric refuse a Snowflake role that inherits another role?

Inherited roles can change a role’s effective grants without notice. Sembric requires narrow, direct read grants so the identity a reviewer certified is the identity that serves agents.

### Do masking policies still apply?

Yes. Queries run as the Snowflake role mapped to the caller’s Sembric role, so Snowflake’s own masking and row access policies decide what that role reads.

## Other integrations

-   [BigQuery](https://sembric.app.arelis.digital/integrations/bigquery)
-   [Trino](https://sembric.app.arelis.digital/integrations/trino)
-   [Databricks](https://sembric.app.arelis.digital/integrations/databricks)
-   [PostgreSQL](https://sembric.app.arelis.digital/integrations/postgresql)
-   [MySQL](https://sembric.app.arelis.digital/integrations/mysql)

## Put your first certified data product in front of an agent.

Tell us which warehouse you run and what your agents need to answer. We will help you connect a source, certify a first surface and query it over MCP.

[Request a pilot](https://sembric.app.arelis.digital/contact) · [Email us](mailto:contact@arelis.digital?subject=Sembric%20pilot%20request)

---

Last updated 2026-10-14. Published by Arelis AI (https://arelis.digital).
