Snowflake
Snowflake Connectors are secure gateways through which data can be moved in and out of the Platform. Rather than a storage connector, that connects to a GCP or S3 bucket for example, a Snowflake connector is referred to as a database connector.
By connecting to your Snowflake instances, you may access tables and views within your Snowflake account and to then create them as Data Assets. In doing so, you are defining the location of the data that you reference from the platform.
Harbr supports Snowflake both as source for creating assets (requires only read access) or as a destination for exports (requires write access). However, if a Snowflake reader account is used to setup the connector, it will not be possible to use it for export.
Pre-requisites
To connect to a data source in Snowflake, you need:
The ability to manage the Snowflake account containing your source data via the Snowflake management console
Account URL.
Programmatic Access Token
To use PATs when setting up your Snowflake connector, you have several options:
PAT Setup Guide
Overview
To use Programmatic Access Tokens (PATs) when setting up your Snowflake connector, you have two options:
Create a network policy that allows our platform's IP addresses (recommended)
Disable the network policy requirement for PAT authentication at a user or account level
Choose the approach that best fits your organization's security requirements.
Option 1: Update an existing Network Policy with a new rule allowing Harbr IP addresses
As the primary recommended route, this option maintains strong network governance while allowing Harbr-originated PAT authentication.
Prerequisites
You must have ACCOUNTADMIN or SECURITYADMIN privileges
Harbr will provide a list of IP addresses. Contact Harbr Support if needed.
Steps
1. Log into Snowflake
Open the Snowflake web UI
Switch to ACCOUNTADMIN or SECURITYADMIN
Click your username → Switch Role
2. Create a new Network Rule containing Harbr IPs
Open a worksheet and run:
USE ROLE SECURITYADMIN;
CREATE OR REPLACE NETWORK RULE HARBR_PAT_ACCESS_RULE
TYPE = IPV4
MODE = INGRESS
VALUE_LIST = (
'<HARBR_IP_1>',
'<HARBR_IP_2>',
'<HARBR_IP_3>'
-- include all Harbr IPs provided
);
3. Add the new rule to your existing Network Policy
Determine which policy is applied to your account or integration user:
SHOW PARAMETERS LIKE 'NETWORK_POLICY' IN ACCOUNT;
Then attach the new rule:
ALTER NETWORK POLICY <EXISTING_POLICY_NAME>
SET ALLOWED_NETWORK_RULE_LIST = (
'HARBR_PAT_ACCESS_RULE',
-- include any existing rules currently in the list
'<OTHER_EXISTING_RULES>'
);
After this step, Harbr’s IPs are allowed under your active Network Policy.
Verification
Create a Snowflake connector on the Harbr Platform.
The connection test should be successful. If not, please contact Support.
Option 2: Modify an Existing Authentication Policy on the User
Use this option only if your Snowflake integration user already has an authentication policy assigned.
Prerequisites
ACCOUNTADMIN or SECURITYADMIN role
Verified integration user name
Steps
1. Check which Authentication Policy (if any) is assigned to the user:
DESC USER <HARBR_CONNECTOR_USER>;
If AUTHENTICATION_POLICY is set, extend that policy:
USE ROLE SECURITYADMIN;
ALTER AUTHENTICATION POLICY <EXISTING_POLICY_NAME>
SET PAT_POLICY = (
NETWORK_POLICY_EVALUATION = NOT_ENFORCED
);
This ensures PAT authentication for this user does not require or enforce network policy checks.
Option 3: Create a New Authentication Policy
Use this option if the integration user does not have an authentication policy configured.
Prerequisites
ACCOUNTADMIN or SECURITYADMIN roleA security-focused database & schema (e.g. SECURITY_DB.SECURITY_SCHEMA) or another database and schema where policies are created and stored
Steps
Create the policy
USE ROLE SECURITYADMIN;
USE DATABASE <SECURITY_DB>;
USE SCHEMA <SECURITY_SCHEMA>;
CREATE AUTHENTICATION POLICY HARBR_PAT_POLICY
PAT_POLICY = (
NETWORK_POLICY_EVALUATION = NOT_ENFORCED
);
Assign it to the Snowflake Connector user
ALTER USER <HARBR_CONNECTOR_USER>
SET AUTHENTICATION_POLICY = HARBR_PAT_POLICY;
Option 4: (Optional) Apply the Policy at the Account Level
Use this only if you wish for all users in your Snowflake account to adopt the same PAT behaviour. (created in option 3, step 1 above)
ALTER ACCOUNT
SET AUTHENTICATION_POLICY = HARBR_PAT_POLICY;Verification
Try creating a PAT - it should work according to your chosen policy setting.
If you encounter issues, please double check the guide or raise a ticket with Harbr Support for assistance.
Creating Your Programmatic Access Token
Once you've completed an option (either 1, 2 3 or 4), progress to the following steps:
Navigate to your profile:
Click your username in the bottom left
Select "Settings"
Go to the Authentication tab
Programmatic access tokens
Click "Generate new token"
Name: Enter a descriptive name (e.g., [YOUR_PLATFORM_NAME]_Connector)
Comment: Optional description
Lifetime: Choose appropriate duration (we recommend 1 year maximum)
Grant access
Click Generate Token
Copy your token immediately:
Store the token securely
Importantly, copy the token value now - you won't be able to see it again
Create the Connector
Click Manage on the Navigation bar.
Select Connectors to view the Manage Connectors screen
Click the Create Connector button at the top right
Enter a Name for your Connector and a Description (optional)
Choose Type > Snowflake .
In the Harbr Snowflake connector configuration:
Account URL: Your Snowflake Url
Username: Your Snowflake username
PAT: Paste the PAT value you generated
Add any Integration Metadata needed for programmatic integration.
Click Create.
Click Close
Note: You can use the Snowflake web interface or other supported Snowflake ETL software to integrate data using your connector.
Snowflake Data Assets
A Data Asset can be added to a Space when you specify what you need, just like a product. Snowflake Data Assets are remote which means that the data within the asset is queried in it’s remote location and is not transferred to the platform.
Once an asset has been added to a space, you can query it. Current naming conventions to access an asset is:
Asset Name: Mortgage Portfolio
Asset Source: Snowflake
Hue Catalog Name : Mortgage Portfolio
Trino Catalog Name: snwfl_mortgage_portfolio
select * from <trino_catalog_name>.<schema>.<table> limit 100;
where
<trino_catalogue_name> is the technical 'Trino Catalog Name' name shown above
<schema> is the "schema name" from the source system (e.g. Snowflake)
<table_name> is the name of a table in the schema.
Note:
Use show catalogs command to get a list of catalogs and their names
Do use <catalog name>; show schemas; commands to get a list of the schemas within a catalogQuery performance may be impacted if:
full volume table results are returned (>10 million records).
a query joins a Data Asset and data within a product.
the configuration of the Snowflake warehouse referenced by the Data Asset is sub-optimal.