Set Up a Snowflake Service User for Statisfy
This is the Snowflake-side setup you complete once, before connecting the integration in Statisfy. It creates a dedicated, read-only service user, restricts it to Statisfy’s egress IPs with a network policy, and issues one of two password-free credentials: a Programmatic Access Token (PAT) or an RSA key-pair. Most of this is clickable in Snowsight (Snowflake’s web UI). The only part that still needs a SQL worksheet is the optional authentication policy in the last section.Once this is done, head to the Snowflake Integration page to enter the credentials in Statisfy.
- A Snowflake role with privileges to create users, roles, warehouses, and network policies — typically
ACCOUNTADMINorSECURITYADMINplusSYSADMIN. - The Statisfy egress IPs (below) to allowlist in your network policy.
Statisfy egress IPs — allow these in your network policy:
Step 1: Create the role, warehouse, and service user
Run this in a Snowsight worksheet, asACCOUNTADMIN (or a role with equivalent privileges). Adjust the database and schema names to match your environment.
Step 2: Create the network policy
The network policy is what allowlists Statisfy’s egress IPs. There are two ways to build it — a simple inline IP list, or a reusable network rule.Simple — IP allowlist directly on the policy
Simple — IP allowlist directly on the policy
- Sign in to Snowsight.
- In the left nav, go to Admin → Security → Network Policies. On newer accounts this lives under Governance & security → Network Policies.
- Click + Network Policy.
- Give it a name (e.g.,
statisfy_policy), paste the Statisfy egress IPs into the Allowed IP list, and save.
With a network rule (more flexible, recommended)
With a network rule (more flexible, recommended)
- Go to Admin → Security → Network Rules → + Network Rule.
- Set Type: IPv4, Mode: Ingress, and add the Statisfy egress IPs under Identifiers. Click Create.
- Go to Network Policies → + Network Policy and attach the rule you just created.
Step 3: Attach the network policy to the service user
- Go to Admin → Users & Roles (or Governance & security → Users & roles).
- Click the statisfy_svc user.
- Open the … menu (or scroll to the user details panel) → find the Network Policy field, pick the policy from Step 2, and apply it.
You can activate a policy account-wide from the policy’s detail page (… → Activate on Account), but attaching it per-user is cleaner for a service account and won’t affect your other users.
Step 4: Choose an authentication method
Statisfy connects with one password-free credential. Pick one:Step 4a: Generate a Programmatic Access Token (PAT)
This is fully clickable in Snowsight.- Go to Governance & security → Users & roles (or Admin → Users & Roles).
- Click the statisfy_svc user → scroll to the Programmatic access tokens section → Generate new token.
- Fill in:
- Name — letters, numbers, and underscores only; must start with a letter or underscore.
- Comment — optional.
- Expires in — defaults to 15 days, max 365. Set a rotation reminder before it lapses.
- Role — pick One specific role (recommended) and choose
statisfy_reader.
- Click Generate, then copy the token immediately — this is the only time it’s shown.
Step 4b: Generate an RSA key-pair (alternative)
With key-pair auth you generate the keys yourself. Snowflake only ever stores the public half; the private key and its passphrase stay on the client and are never sent to Snowflake. This part is CLI + SQL. 1. Generate the key pair (OpenSSL). The recommended (encrypted) form prompts you to set an encryption password — that prompt is where the passphrase comes from; it isn’t issued by Snowflake:-nocrypt to the first command:
rsa_key.pub, drop the BEGIN/END header lines and the newlines, and set it on the user:
MODIFY PROGRAMMATIC AUTHENTICATION METHODS privilege (or OWNERSHIP) on the user. Confirm the key landed:
You can also paste the public key into the user’s detail page in Snowsight instead of running the
ALTER USER.rsa_key.p8 (the private key, PEM/PKCS8) into the Private Key field, and enter the passphrase if you set one. Continue to Connect in Statisfy.
(Optional) Harden the user with an authentication policy
By default a user can authenticate with any method. If you want to lockstatisfy_svc down to only the method you chose, attach an authentication policy. This is the one step that still needs a SQL worksheet.
This hardening is optional — skip it if you’re moving fast. If you skip it, all authentication methods are allowed by default and there’s nothing to change here.
Connect in Statisfy
With the service user, network policy, and credential ready:- In Statisfy, go to Integrations → Admin Apps → Snowflake → Connect.
- Enter your account identifier, the username (
statisfy_svc), and your credential:- PAT → paste the token into the Password field.
- Key-pair → paste the private key into the Private Key field (plus passphrase if encrypted).
- Set the default warehouse, database, and schema.
- Click Test Connection.