Snowflake Integration Guide
Last updated: February 17, 2026
Connect your Snowflake account to Clazar using key-pair authentication. This guide walks through generating credentials, configuring your Snowflake account, and completing the connection in Clazar.
Overview
Clazar connects to Snowflake using key-pair authentication (RSA private/public key). This method is more secure than password-based authentication and is the recommended approach by Snowflake for programmatic access.
What you'll need:
Admin access to your Snowflake account (
ACCOUNTADMINorSECURITYADMINrole)A terminal to generate RSA keys (macOS, Linux, or Windows with OpenSSL installed)
Access to Clazar (Integrations → Snowflake)
Prerequisites
Find your Snowflake account identifier
Your account identifier is part of your Snowflake URL:
https://ORGNAME-ACCOUNTNAME.snowflakecomputing.comThe account identifier is the ORGNAME-ACCOUNTNAME portion (for example, ACME-PROD1).
You can also find it in the Snowflake UI under Admin → Accounts.
Setup
Option 1: Full setup (recommended)
This approach creates a dedicated service user and a fresh key pair, keeping the Clazar integration isolated and secure.
Step 1 — Generate an RSA key pair
Open a terminal and run:
bash
# Generate an unencrypted private key in PKCS#8 formatopenssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt
# Generate the corresponding public keyopenssl rsa -in rsa_key.p8 -pubout -out rsa_key.pubThis produces two files:
FilePurpose | |
| Private key — used when connecting in Clazar |
| Public key — assigned to the Snowflake user |
Store both files securely. The private key should be treated as a secret.
Note: The private key must be unencrypted (generated with -nocrypt). Encrypted keys are not supported.
Step 2 — Create a dedicated Snowflake role and user
Log in to your Snowflake account with admin privileges and run the following in a Snowflake worksheet:
sql
-- Create a dedicated role for ClazarCREATE ROLE IF NOT EXISTS CLAZAR_ROLE;-- Grant access to account usage dataGRANT IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE TO ROLE CLAZAR_ROLE;-- Grant warehouse access (required for executing queries)GRANT USAGE ON WAREHOUSE <warehouse_name> TO ROLE CLAZAR_ROLE;-- Grant listing and offer management permissionsGRANT CREATE LISTING ON ACCOUNT TO ROLE CLAZAR_ROLE;GRANT CREATE SHARE ON ACCOUNT TO ROLE CLAZAR_ROLE;-- Create a dedicated service userCREATE USER IF NOT EXISTS CLAZAR_USER
DEFAULT_ROLE = 'CLAZAR_ROLE' DEFAULT_WAREHOUSE = '<warehouse_name>' MUST_CHANGE_PASSWORD = FALSE;-- Assign the role to the userGRANT ROLE CLAZAR_ROLE TO USER CLAZAR_USER;Replace <warehouse_name> with an active warehouse in your account (for example, COMPUTE_WH).
Managing existing listings: If you have existing listings that Clazar needs to manage, grant ownership on each listing:
sql
GRANT OWNERSHIP ON LISTING <listing_name> TO ROLE CLAZAR_ROLE;Or, if you prefer not to transfer ownership, grant modify access instead:
sql
GRANT MODIFY ON LISTING <listing_name> TO ROLE CLAZAR_ROLE;What these permissions do:
IMPORTED PRIVILEGES ON DATABASE SNOWFLAKE— access to account usage and metadataUSAGE ON WAREHOUSE— allows Clazar to execute queriesCREATE LISTING— allows creating new marketplace listings (docs)CREATE SHARE— allows creating data shares for listings (docs)OWNERSHIPorMODIFYon listings — allows managing existing listings, offers, and versions (docs)
Step 3 — Assign the public key
Extract the public key content (without the PEM header/footer):
bash
grep -v "PUBLIC KEY" rsa_key.pub | tr -d '\n'Copy the output and run in Snowflake:
sql
ALTER USER CLAZAR_USER SET RSA_PUBLIC_KEY='<paste public key content>';Step 4 — Verify
sql
DESC USER CLAZAR_USER;Confirm that the RSA_PUBLIC_KEY_FP property shows a fingerprint value. This means the key is correctly assigned.
Option 2: Reuse an existing key pair
If you already have an RSA key pair (for example, from a previous Clazar connection to another Snowflake account), you can reuse it. You still need to create a user in the target account and assign the public key.
Step 1 — Create the role and user
Follow the same SQL commands from Option 1, Step 2 above.
Step 2 — Assign the existing public key
If you have the public key file, extract the content:
bash
grep -v "PUBLIC KEY" rsa_key.pub | tr -d '\n'If you only have the private key file, regenerate the public key first:
bash
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pubThen assign it in Snowflake:
sql
ALTER USER CLAZAR_USER SET RSA_PUBLIC_KEY='<paste public key content>';Step 3 — Verify
sql
DESC USER CLAZAR_USER;Confirm that RSA_PUBLIC_KEY_FP shows a fingerprint value.
Tip: When connecting in Clazar, use the same private key file from your existing setup.
Connect in Clazar
Once your Snowflake account is set up, complete the connection in Clazar.
New connection
Navigate to Integrations → Snowflake
Click Add Connection
Enter your connection details:
FieldValue | |
Account Identifier | Your Snowflake account identifier (for example, |
Username | The Snowflake user with the public key (for example, |
API Key | The full contents of your private key file, including the |
Click Connect
The status should change to Connected
Replacing an existing connection
Navigate to Integrations → Snowflake
Disconnect or Edit the current connection
Enter the new account details as described above
Adding a new connection alongside an existing one
If you want to verify the new connection before removing the old one:
Navigate to Integrations → Snowflake
Click Add Connection and enter the new account details
Verify the new connection shows as Connected
Disconnect the old connection
Important: Only one Snowflake connection should be active at a time. If multiple connections are active, Clazar will use the first one it finds.
Troubleshooting
SymptomLikely causeResolution | ||
Connection fails immediately | Private key is encrypted | Regenerate the key with the |
Authentication error | Public key not assigned to the user | Run |
Invalid account identifier | Incorrect format | Use the |
Operations use the wrong account | Previous connection still active | Disconnect the old connection in Clazar |
| Key assignment failed | Re-run the |
Security best practices
Use a dedicated service user. Avoid using personal or shared accounts for the integration.
Limit privileges. Grant only the permissions Clazar requires (the
CLAZAR_ROLEexample above follows this principle).Protect the private key. Store it securely and limit access. Never share it over unencrypted channels.
Rotate keys periodically. Snowflake supports key-pair rotation with two active keys, allowing zero-downtime rotation.
References
Support
If you encounter any issues during setup, contact the Clazar support team for assistance.