This article goes through the steps required to configure Snowflake SAML SSO authentication with Okta.
- Snowflake SAML
- Single Sign-On (SSO)
- Log in to the Okta Admin Portal.
- In the left pane, navigate to Applications > Applications, and in the middle of the screen, select Browse App Catalog.
- In the search bar, search for Snowflake and choose this application.
- Click on the Add Integration button.
- In the General settings, enter the Snowflake account identifier. Refer to the Account Identifiers documentation for additional information.
- Depending on the type of Snowflake URL, the account identifier can be either of the bold URL sections below:
URL type URL format Regional https://locator.region.snowflakecomputing.com Organization https://organization-name.snowflakecomputing.com Connection https://organization-connection.snowflakecomputing.com Regional Privatelink https://locator.region.privatelink.snowflakecomputing.com Organization Privatelink https://organization-name.privatelink.snowflakecomputing.com Connection Privatelink https://organization-connection.privatelink.snowflakecomputing.com
- Depending on the type of Snowflake URL, the account identifier can be either of the bold URL sections below:
- In the Sign-On Options - Required section, choose SAML 2.0.
- In the Credentials Details section, choose the desired Application username format (this is the NameID value passed to Snowflake from Okta, which must match the LOGIN_NAME value of the users in Snowflake), and click the Done button.
- Click the View Setup Instructions button (this will open a new browser tab with the information necessary to configure the Snowflake side).
-
From the new tab, scroll down to retrieve the following values and save them for later:
- Entity ID - also referred to as Issuer URL.
- IDP SSO URL - also referred to as Login URL.
- Authentication Certificate.
Configure a SAML2 Security Integration in the Snowflake account
NOTE: The ACCOUNTADMIN role is required.
- Log in to the Snowflake account.
- Open a Worksheet (Click the + icon on the top right and choose SQL).
- Copy and paste the below information into the Snowflake worksheet:
USE ROLE ACCOUNTADMIN; CREATE SECURITY INTEGRATION OKTAINTEGRATION TYPE = SAML2 ENABLED = TRUE SAML2_ISSUER = '<ENTITY ID value from step 1.8>' SAML2_SSO_URL = '<IDP SSO URL value from step 1.8>' SAML2_PROVIDER = 'OKTA' SAML2_X509_CERT='<Authentication Certificate value from step 1.8>' SAML2_SP_INITIATED_LOGIN_PAGE_LABEL = 'OKTA SSO' SAML2_ENABLE_SP_INITIATED = TRUE SAML2_SNOWFLAKE_ACS_URL = '<Snowflake url>/fed/login' SAML2_SNOWFLAKE_ISSUER_URL = '<Snowflake url>';
- Replace the SAML2_ISSUER, SAML2_SSO_URL, and SAML2_X509_CERT values with the respective values retrieved in Step 9 (above).
- Replace the values of SAML2_SNOWFLAKE_ACS_URL and SAML2_SNOWFLAKE_ISSUER_URL with the chosen URL used to access the Snowflake account.
NOTE: This must match the format configured in Okta's application subdomain in Step 5 (above).- Ex: SAML2_SNOWFLAKE_ACS_URL =
https://myorg-account.snowflakecomputing.com/fed/login;SAML2_SNOWFLAKE_ISSUER_URL = 'https://myorg-account.snowflakecomputing.com. - Make sure to keep the quotation on every replaced value.
- Ex: SAML2_SNOWFLAKE_ACS_URL =
- Execute the SQL statement to create the SAML2 application (click the Play button on the top right).
- Assign the app to users in Okta and test authentication.
