Skip to main content

Snowflake

The Snowflake connector for rudol allows you to connect your Snowflake data warehouse instance.

caution

As Snowflake credits are charged per use we recommend you to choose a Scanning Frequency that matches your team's workflow to minimize your warehouse costs

Connection parameters

NameTypeDescription
UsernametextSnowflake user name
PasswordpasswordSnowflake user password
Account identifiertextSnowflake account identifier in the pattern ORG-ACCOUNT_NAME
WarehousetextWarehouse name
DatabasetextDatabase name

How to get the required values

Account identifier

Your account identifier is available under Account details:

  1. Click on your user name at the bottom left corner
  2. Select your account
  3. Click on View account details under your user name

View account details

  1. Locate your Account identifier in the Account tab

Account identifier

User account

In order to grant Rudol the necessary permissions to fetch your database metadata we recommend you to create a new Snowflake user with an specific role.

Here is a sample code to create a new user for Rudol with minimal permissions for metadata scan:

info

You will need the ACCOUNTADMIN role in order to execute the following commands.

CREATE ROLE rudol_role;
CREATE USER rudol_catalog_user PASSWORD='my-super-secret-password' DEFAULT_ROLE = rudol_role;
GRANT ROLE rudol_role TO USER rudol_catalog_user;

GRANT USAGE ON WAREHOUSE COMPUTE_WH TO ROLE rudol_role;

GRANT USAGE ON DATABASE RUDOL_TEST_DATABASE TO ROLE rudol_role;
GRANT USAGE ON SCHEMA RUDOL_TEST_DATABASE.PUBLIC TO ROLE rudol_role;
GRANT REFERENCES ON ALL TABLES IN SCHEMA RUDOL_TEST_DATABASE.PUBLIC TO ROLE rudol_role;
GRANT REFERENCES ON FUTURE TABLES IN SCHEMA RUDOL_TEST_DATABASE.PUBLIC TO ROLE rudol_role;

GRANT REFERENCES ON ALL VIEWS IN SCHEMA RUDOL_TEST_DATABASE.PUBLIC TO ROLE rudol_role;
GRANT REFERENCES ON FUTURE VIEWS IN SCHEMA RUDOL_TEST_DATABASE.PUBLIC TO ROLE rudol_role;

If you want to use Data Quality features these permissions won't be enough: you'll have to grant SELECT to each table you'd like to run tests for.

GRANT SELECT ON ALL TABLES IN SCHEMA RUDOL_TEST_DATABASE.PUBLIC TO ROLE rudol_role;
GRANT SELECT ON FUTURE TABLES IN SCHEMA RUDOL_TEST_DATABASE.PUBLIC TO ROLE rudol_role;

If you want to use Preview features for views these permissions won't be enough: you'll have to grant SELECT to each view you'd like to use.

GRANT SELECT ON ALL VIEWS IN SCHEMA RUDOL_TEST_DATABASE.PUBLIC TO ROLE rudol_role;
GRANT SELECT ON FUTURE VIEWS IN SCHEMA RUDOL_TEST_DATABASE.PUBLIC TO ROLE rudol_role;

Restrict connections by IP Address

You can also restrict access to only accept incoming connections from the rudol public IP Address 52.6.101.83.

To do this you will probably have to alter a network policy. You can read more about this here