This guide will walk you through setting up Snowflake as your store of records in Cargo. This setup ensures Cargo has the necessary permissions in Snowflake to read and write data efficiently.Documentation Index
Fetch the complete documentation index at: https://docs.getcargo.ai/llms.txt
Use this file to discover all available pages before exploring further.
Permissions
What Cargo can do- Read data from schemas and tables, even if they are spread across multiple databases
- Write data into new schemas and tables
- Overwrite existing schemas and tables (Cargo always creates its own schemas and tables when needed)
Before you begin
To start, you need an existing Snowflake account with appropriate admin access to create databases, warehouses, roles, and users.Step 1: Create a dedicated database
Create a dedicated database for Cargo where all data managed by Cargo will be stored. Create a database called “cargo_db”Step 2: Create a user for Cargo
Grant the necessary permissions for Cargo to run commands as an authenticated user on the database you just created. Create a role for Cargocargo_db database, grant the appropriate permissions:
Step 3: Verify granted privileges
Make sure the Cargo role has access to the following permissions oncargo_db: OWNERSHIP, MODIFY, MONITOR, USAGE, CREATE SCHEMA.
Show granted privileges on cargo_db
Step 4: Set up RSA key authentication
You must provide an RSA private key for authentication. Generate a private keyrsa_key.pub (excluding the header and footer lines) and run:
Step 5: Configure allowed IP addresses
If you’re using Snowflake’s network policy to restrict access, add these Cargo IP addresses to your allowlist:| IP Address |
|---|
3.251.34.134 |
54.220.135.99 |
79.125.105.52 |
Step 6: Set up system of record
Now that we have all the required elements, navigate to workspace settings and select System of record. Fill in the settings form with the data we gathered in the previous steps:| Field | Value |
|---|---|
| Account name | Your Snowflake account identifier |
| Database | cargo_db (created in Step 1) |
| Warehouse | cargo_wh (created in Step 2) |
| Role | cargo_role (created in Step 2) |
| User | cargo_user (created in Step 2) |
| Password | The password you set in Step 2 |
| RSA Private Key | Contents of rsa_key.p8 |
| Scope | Choose Database or Schema scope |
Database scope allows Cargo to create multiple schemas within
cargo_db.
Schema scope restricts Cargo to a single schema.Next steps
- Create your first data model using Snowflake tables
- Set up data connectors to import data from other sources
- Configure model relationships to connect different datasets
- Set up filters and segments for targeted plays

