Snowflake Integration Guide
Guide to integrating with Snowflake using Direct Connect.
Steps to Integrate with Snowflake
-
Create a Role
Begin by creating a role namedKUBIT. This role will manage permissions for your integration.CREATE ROLE KUBIT; -
Generate a Key-Pair
Follow Snowflake's guide to generate a key-pair. This is essential for secure authentication.openssl genrsa 2048 | openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8 openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub -
Create a User
Create a user namedKUBIT. Use the password provided by the Kubit team.CREATE USER KUBIT RSA_PUBLIC_KEY ='MIIBIjANBgkqh...' DEFAULT_ROLE=KUBIT; -
Optional: Share Credentials
If you require assistance with setup, share your Snowflake account locator, private key, and key password with the Kubit team. -
Create a Database
Establish a database namedKUBITto store your data.CREATE DATABASE KUBIT; -
Assign Ownership
Grant theKUBITrole ownership of theKUBITdatabase. This allows the role to execute tasks exclusive to owners.GRANT OWNERSHIP ON DATABASE KUBIT TO ROLE KUBIT; -
Create a Data Warehouse
Set up a data warehouse namedKUBIT. Adjust the size based on your data volume. Grant theKUBITrole the necessary privileges.CREATE OR REPLACE WAREHOUSE KUBIT WAREHOUSE_SIZE=... INITIALLY_SUSPENDED=TRUE; GRANT MONITOR ON WAREHOUSE KUBIT TO ROLE KUBIT; GRANT USAGE ON WAREHOUSE KUBIT TO ROLE KUBIT; GRANT OPERATE ON WAREHOUSE KUBIT TO ROLE KUBIT; -
Set Read-Only Permissions
Provide theKUBITrole with read-only permissions on the schemas containing views that interface with Kubit. Use SELECT on FUTURE for future-proofing.
Best Practice
Consider creating an additional user role and warehouse for development purposes. This helps isolate development activities from the production environment, minimizing risk.
Updated 3 days ago