Snowflake Setup Instructions
Prerequisites
- A Snowflake account
- A virtual warehouse for query execution
- A user with at least read access to the target database
- Your Snowflake account identifier
Step 1: Find Your Account Identifier
Your account identifier is in your Snowflake URL:
https://<account_identifier>.snowflakecomputing.comExamples:
xy12345.us-east-1(legacy format)orgname-accountname(new format)
Step 2: Create a Vendo User (Recommended)
Create a dedicated user and role for Vendo with minimal permissions:
-- Create a role for Vendo
CREATE ROLE IF NOT EXISTS VENDO_READER;
-- Grant read access to your database
GRANT USAGE ON DATABASE MY_DATABASE TO ROLE VENDO_READER;
GRANT USAGE ON ALL SCHEMAS IN DATABASE MY_DATABASE TO ROLE VENDO_READER;
GRANT SELECT ON ALL TABLES IN DATABASE MY_DATABASE TO ROLE VENDO_READER;
GRANT SELECT ON FUTURE TABLES IN DATABASE MY_DATABASE TO ROLE VENDO_READER;
-- Grant warehouse usage
GRANT USAGE ON WAREHOUSE MY_WAREHOUSE TO ROLE VENDO_READER;
-- Create a user
CREATE USER IF NOT EXISTS VENDO_USER
PASSWORD = '<strong_password>'
DEFAULT_ROLE = VENDO_READER
DEFAULT_WAREHOUSE = MY_WAREHOUSE;
GRANT ROLE VENDO_READER TO USER VENDO_USER;For destination (write) access, also grant:
GRANT INSERT, UPDATE ON ALL TABLES IN DATABASE MY_DATABASE TO ROLE VENDO_READER;Step 3: Configure in Vendo
- Go to Sources > Add Source > Snowflake
- Enter your credentials:
| Field | Description |
|---|---|
| Account Identifier | Your Snowflake account ID (e.g. xy12345.us-east-1) |
| Warehouse | Virtual warehouse for queries (e.g. COMPUTE_WH) |
| Database | Database to connect to |
| Schema | Default schema (defaults to PUBLIC) |
| Role | Snowflake role to use (optional) |
| Username | Snowflake user |
| Password | User password (or use key-pair below) |
| Private Key | RSA private key in PEM format (alternative to password) |
- Click Test Connection
- Once verified, click Save
Step 4: Key-Pair Authentication (Optional)
For production environments, key-pair auth is recommended:
- Generate an RSA key pair:
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt
openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub- Assign the public key to your Snowflake user:
ALTER USER VENDO_USER SET RSA_PUBLIC_KEY='<public_key_content>';- In Vendo, paste the private key content into the Private Key field instead of using a password.
Troubleshooting
Connection Timeout
- Verify the account identifier is correct
- Check that the warehouse is running (not suspended)
- Ensure the user has
USAGEon the warehouse
Permission Denied
- Verify the role has
SELECTon the target tables - Check that
USAGEis granted on both the database and schema - Run
SHOW GRANTS TO ROLE VENDO_READERto audit permissions
IP Whitelisting
If your Snowflake account uses network policies, contact Vendo support for our static IP addresses to whitelist.
Last updated on