Integration · Cloud data platform

Governed Snowflake access for AI agents

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.

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.