Snowflake Database Source
In order to setup Snowflake as a data source, you need admin access to Snowflake to create databases and users.
Setting up Snowflake Database and user with key
Create a database in Snowflake (or use an existing one) to store the data you want to share with Monda.
Create a dedicated Snowflake user and role to act as a service account for Monda:
Grant the role read-only access (e.g.,
USAGE,SELECT) to the relevant database, schema, and tables or viewsAssign the role to the user
Generate a key pair (public or private) for authentication
Important: Password-based authentication (without MFA) will soon be deprecated by Snowflake. For secure programmatic access, use key-pair authentication instead. Further read: Snowflake: Key Pair Authentication Documentation.
A typical generated key will look something like this:
-----BEGIN PUBLIC KEY----- MIIBIj... -----END PUBLIC KEY-----Assign the public key to the user in Snowflake.
ALTER USER NAME_OF_USER_YOU_CREATED SET RSA_PUBLIC_KEY='-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ... inj9GK9Q... ... -----END PUBLIC KEY-----';
Connect the database to Monda
In your Provider Portal, go to Onboard > Sources > Add Connection.
Select Snowflake Database from the dropdown menu.
Admins must provide the following information:
User: the Snowflake user created for the connection
Private Key: the user’s private key for authentication (the private key of the pair you created to connect to Snowflake)
Account Identifier: found via the Snowflake UI: View Account Details, or run in Snowflake:
SELECT CURRENT_ORGANIZATION_NAME() || '-' || CURRENT_ACCOUNT_NAME();Warehouse: the warehouse to be used for the connection
Database: the name of the database
Schema: the schema within the database
Role: the role the user will assume for access
Click Create. After the connection is established, you can test it via the Test Connection button.