Skip to content
Last updated

Snowflake integration

Snowflake is a cloud data platform for data warehousing, data lakes, and data sharing. Integrating Snowflake with Frontegg allows your application to execute SQL queries and access data warehouses on behalf of your users using OAuth 2.0.


Prerequisites

  • A Snowflake account with the ACCOUNTADMIN role (required to create security integrations)

Connect Snowflake

Snowflake OAuth integrations are configured using SQL commands in Snowsight. There is no separate developer portal — you create and manage OAuth clients directly within your Snowflake account.

Step 1: Sign in to Snowsight

Navigate to app.snowflake.com and sign in to your Snowflake account.

Snowflake Snowsight sign-in page

Step 2: Open a SQL worksheet

In the left navigation, click Projects. On the Welcome to Workspaces page, click SQL file to create a new SQL worksheet.

Snowflake Workspaces page with SQL file button highlighted

Step 3: Create a security integration

In the SQL worksheet, enter the following command. Replace FRONTEGG_INTEGRATION with your preferred integration name:

CREATE SECURITY INTEGRATION FRONTEGG_INTEGRATION
  TYPE = OAUTH
  ENABLED = TRUE
  OAUTH_CLIENT = CUSTOM
  OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'
  OAUTH_REDIRECT_URI = 'https://YOUR_MCP_GATEWAY_URL/integration-callback'
  OAUTH_ISSUE_REFRESH_TOKENS = TRUE
  OAUTH_REFRESH_TOKEN_VALIDITY = 7776000;

Click Run selected to execute the command.

Snowflake SQL worksheet with CREATE SECURITY INTEGRATION command

Step 4: Verify the integration was created

After running the command, the results panel shows a confirmation message.

Snowflake integration creation success message

Step 5: Copy your credentials

Run the following query to retrieve your OAuth client credentials:

SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('FRONTEGG_INTEGRATION');

The result is a JSON object containing:

FieldDescription
OAUTH_CLIENT_IDYour Client ID
OAUTH_CLIENT_SECRETYour primary Client Secret
OAUTH_CLIENT_SECRET_2A secondary Client Secret (backup)

Copy your Client Secret now

Copy your Client Secret and store it in a secure location. If you lose it, you must delete the integration and create a new one.

Snowflake client credentials query results

Configure the Frontegg portal

Once you have obtained your credentials, configure the integration in the Frontegg portal:

  1. Open the Frontegg portal and navigate to [ENVIRONMENT] → Integrations → Snowflake.
  2. Enter your Snowflake account identifier — the subdomain of your Snowflake URL. For example, if your URL is https://xy12345.snowflakecomputing.com, your account identifier is xy12345.
  3. Enter the Client ID and Client Secret from the query results.
  4. Select the required scopes:
ScopeDescription
session:role:ACCOUNTADMINAccess Snowflake using the ACCOUNTADMIN role

Role restrictions

The ACCOUNTADMIN, SECURITYADMIN, and other admin roles are blocked from OAuth by default in Snowflake. To use session:role:ACCOUNTADMIN, contact Snowflake Support to remove it from the blocked roles list. Alternatively, use a custom role with the required permissions and set the scope to session:role:YOUR_CUSTOM_ROLE.

  1. Click Save.

Keep your credentials secure

Never share or commit your Client Secret to version control.

Additional resources