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)
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 CargoStep 3: Check granted privileges
Make sure the Cargo user has access to the following permissions oncargo_db
: OWNERSHIP, MODIFY, MONITOR, USAGE, CREATE SCHEMA.
Show granted privileges on cargo_db
Step 4: Set up for GCP and Azure
For Snowflake accounts hosted on GCP and Azure, make sure you provide an RSA private key while creating your account. Generate a private keyStep 5: Allowed IP addresses
If you’re using Snowflake’s Allowed IPs network policy, you’ll need to add these Cargo IP addresses to your whitelist:- 3.251.34.134
- 54.220.135.99
- 79.125.105.52
Step 6: Setup a system of records
Now that we have all the required elements, navigate to workspace settings and select “System of records”. Fill in the settings form with the data we gathered in the previous steps:- Provide your Snowflake account name
- Fill in the database name created in step 1
- Fill in the warehouse, role, user, and password created in step 2
- Select your desired scope (can be either database or schema scope)
- Click
Setup