Skip to main content
If you prefer to configure the connection manually or need custom settings, follow these steps. For the recommended scripted approach, see Connecting Snowflake to Elementum.
This guide requires the ACCOUNTADMIN role in Snowflake.

Step 1: Prepare Your Snowflake Environment

  1. Create a dedicated role for Elementum:
USE ROLE ACCOUNTADMIN;
CREATE ROLE IF NOT EXISTS ELEMENTUM;
GRANT ROLE ELEMENTUM TO ROLE SYSADMIN;
  1. Grant warehouse, database, schema, and table access:
USE ROLE SYSADMIN;
GRANT USAGE ON WAREHOUSE <warehouse_name> TO ROLE ELEMENTUM;
GRANT USAGE ON DATABASE <database_name> TO ROLE ELEMENTUM;
GRANT USAGE ON SCHEMA <database_name>.<schema_name> TO ROLE ELEMENTUM;
GRANT SELECT ON TABLE <database_name>.<schema_name>.<table_name> TO ROLE ELEMENTUM;

Step 2: Create Elementum Service Account with Key-Pair Authentication

Before creating the user, copy the RSA public key from Elementum > Settings > Cloud Links > Add Connection > Copy Public Key. See the Key-Pair Authentication guide for detailed instructions.
  1. Create a dedicated service user with the public key:
USE ROLE ACCOUNTADMIN;
CREATE USER IF NOT EXISTS ELEMENTUM
  TYPE = SERVICE
  RSA_PUBLIC_KEY = '<PASTE_PUBLIC_KEY_FROM_ELEMENTUM_UI>';
  1. Assign the role:
GRANT ROLE ELEMENTUM TO USER ELEMENTUM;
  1. Verify the key was assigned:
DESC USER ELEMENTUM;
Look for a non-empty RSA_PUBLIC_KEY_FP value in the output to confirm the public key is set.
Key-pair authentication is more secure than password authentication because there is no shared secret. The private key is held securely within Elementum and never exposed. See Key-Pair Authentication for details on how it works and how to rotate keys.

Step 3: Configure Network Access

  1. Create a network policy (optional but recommended):
USE ROLE ACCOUNTADMIN;
CREATE NETWORK POLICY IF NOT EXISTS ELEMENTUM_ACCESS_POLICY
  ALLOWED_IP_LIST = (
    -- US Region IPs
    '44.210.166.136',
    '44.209.114.114',
    '52.72.254.246',
    -- Europe Region IPs
    '3.124.57.142',
    '3.126.230.195',
    '3.76.143.79'
  )
  COMMENT = 'Network policy for Elementum platform access';
  1. Apply the policy to the service account:
ALTER USER ELEMENTUM SET NETWORK_POLICY = ELEMENTUM_ACCESS_POLICY;

Next Steps

After completing the Snowflake setup:
  1. Configure the connection in Elementum
  2. Enable change tracking if using change-based automations
  3. Grant Cortex access if using AI/ML features