Skip to main content

Snowflake


Snowflake is a cloud-native data platform that provides a fully managed data warehouse with support for structured and semi-structured data. It separates storage and compute for flexible scalability and performance, while offering features like secure data sharing and near-zero maintenance. It is widely used for analytics, BI, and data engineering, it runs on major cloud providers.


Prerequisites

The following prerequisites must be met to create and test a successful connection.

  • The Snowflake server must be accessible from the iceDQ server.
  • Valid credentials to access the database.
  • Snowflake version 3.24 or above.

Authentication Mechanisms

The following authentication mechanisms are supported.

  • Username and Password
  • Key Pair
  • Native Okta
  • External OAuth

Connection Properties

Username and Password Authentication

Use the following properties to create a valid connection. Properties marked with an asterisk (*) are required.

NameDescriptionExample Values
Server Instance Name *           Used to distinguish multiple instances of Snowflake accounts. Often same as Account Identifier or region-specific variant.xy234785.ap-southeast-1
Connection Name *Name that uniquely identifies the connection.Sales_Prod_conn
Driver *Driver used to establish the connection. By default, one driver is available.Snowflake Native JDBC
Custom JDBC URLStandardized string used to define the connection details. Format: jdbc:snowflake://<account>.snowflakecomputing.com/?db=<db>&warehouse=<wh>jdbc❄️//xy234785.ap-southeast-1.snowflakecomputing.com/?db=Prod_db&warehouse=Acme_wh
Account Identifier *Account identifier that uniquely identifies the Snowflake account.xy234785.ap-southeast-1
Warehouse *Name of the Snowflake data warehouse.Acme_wh
DatabaseName of the target database.Prod_db
Type *The connection type, either System Connection or User Connection. Refer Connections for more details.System or User
Username *Database login username with necessary privileges.john_doe
Password *Password associated with the specified username.Admin@123

Key Pair Authentication

Use the following properties to create a valid connection. Refer to Snowflake Key Pair Authentication to setup key-pair authentication. Properties marked with an asterisk (*) are required.

NameDescriptionExample Values
Server Instance Name *            Used to distinguish multiple instances of Snowflake accounts. Often same as Account Identifier or region-specific variant.xy234785.ap-southeast-1
Connection Name *Name that uniquely identifies the connection.Sales_Prod_conn
Driver *Driver used to establish the connection. By default, one driver is available.Snowflake Native JDBC
Custom JDBC URLStandardized string used to define the connection details. Format: jdbc:snowflake://[accountIdentifier].snowflakecomputing.com/?db=[database]&warehouse=[warehouse]jdbc❄️//xy234785.ap-southeast-1.snowflakecomputing.com/?db=Prod_db&warehouse=Acme_wh
Account Identifier *Account identifier that uniquely identifies the Snowflake account.xy234785.ap-southeast-1
Warehouse *Name of the Snowflake data warehouse.Acme_wh
DatabaseName of the target database.Prod_db
Type *The connection type, either System Connection or User Connection. Refer Connections for more details.System or User
Username *Database login username with necessary privileges.john_doe
Key File Content *Content of the private key file (PEM)-----BEGIN PRIVATE KEY-----\n...
Key File Password *Password for the private keyAdmin@123

Native Okta Authentication

Use the following properties to create a valid connection. Properties marked with an asterisk (*) are required.

NameDescriptionExample Values
Server Instance Name *            Used to distinguish multiple instances of Snowflake accounts. Often same as Account Identifier or region-specific variant.xy234785.ap-southeast-1
Connection Name *Name that uniquely identifies the connection.Sales_Prod_conn
Driver *Driver used to establish the connection. By default, one driver is available.Snowflake Native JDBC
Custom JDBC URLStandardized string used to define the connection details. Format: jdbc:snowflake://[accountIdentifier].snowflakecomputing.com/?db=[database]&warehouse=[warehouse]jdbc❄️//xy234785.ap-southeast-1.snowflakecomputing.com/?db=Prod_db&warehouse=Acme_wh
Account Identifier *Account identifier that uniquely identifies the Snowflake account.xy234785.ap-southeast-1
Warehouse *Name of the Snowflake data warehouse.Acme_wh
DatabaseName of the target database.Prod_db
Authenticator *The SAML Sign-On URL provided by Okta.https://mycompany.okta.com/app  /snowflake/exk1a2b3c4d5e6f7g8h  /sso/saml
Type *The connection type, either System Connection or User Connection. Refer Connections for more details.System or User
Username *Okta login username with necessary privileges.john_doe
Password *Password associated with the specified username.Admin@123
note

The username used must match a Snowflake user that has been configured and mapped to the authenticated Okta user.

External OAuth Authentication

Use the following properties to create a valid connection. Refer to Snowflake External OAuth Entra ID Authentication to setup External OAuth authentication with Entra ID (Azure AD). Properties marked with an asterisk (*) are required.

NameDescriptionExample Values
Connection Name *           Name that uniquely identifies the connection.Sales_Prod_Conn
Driver *Driver used to establish the connection. By default, one driver is available.Snowflake Native JDBC
Custom JDBC URLStandardized string used to define the connection details. Format: jdbc:snowflake://[accountIdentifier].snowflakecomputing.com/?db=[database]&warehouse=[warehouse]jdbc❄️//xy234785.ap-southeast-1.snowflakecomputing.com/?db=Prod_db&warehouse=Acme_wh
Account Identifier *Account identifier that uniquely identifies the Snowflake account.xy234785.ap-southeast-1
Warehouse *Name of the Snowflake data warehouse.Acme_wh
DatabaseName of the target database (optional).Prod_db
Callback URL *The callback endpoint URL configured to receive OAuth tokens.https://app.icedq.net/   api/v1/oauth/callback
OAuth Config *JSON configuration containing OAuth parameters such as client credentials or endpoints.{ "audience": "snowflake", "scope": "session:role:all" }
Type *External OAuth authentication supports only User connections. Refer Connections.User
Client ID *The OAuth client ID used to request tokens.sf_oauth_client
Secret ID *The ID of the secret storing the client secret.sfnj457dth7u43-8hbsdf

Custom Properties

Custom properties are optional connection parameters in the Snowflake Native driver that allow customization of settings such as timeouts and proxy configurations. A list of supported properties is available here. The availability and behavior of custom connection properties may vary depending on the Snowflake Native driver version in use.


Unsupported Datatypes

The following data types are not supported.

  • XPath
  • JSONPath
  • ROWVERSION
  • LINGVARBINARY
  • BYTE_ARRAY