For authenticating Snowflake users Okta, see Snowflake + Okta External OAuth.
Requirements
To follow the steps in this guide, you’ll need:- In Omni:
- To have the OAuth database connection feature enabled
- Organization Admin permissions
- An existing Snowflake connection. Refer to Connecting a Snowflake database before continuing.
- A Snowflake service account with access to all schemas and tables you want to use in Omni. This is required even when OAuth is enabled, because Omni uses the service account to build the model.
Setup
Create a Snowflake OAuth integration
Create an OAuth integration in Snowflake and using
https://callbacks.omniapp.co/callback/oauth as the OAUTH_REDIRECT_URI retrieve the Client ID and Client Secret. Refer to Snowflake’s OAuth documentation for instructions.Configure the connection in Omni
You must still configure a service account on this connection. Omni uses the service account to build the model, which provides the foundation for all user queries.
- In Omni, navigate to Settings > Connections and click on the Snowflake connection you want to use.
- In the Authentication Type dropdown, select OAuth User Authentication.
- Enter the OAuth Client ID and OAuth Client Secret from the previous step into the respective fields.
- Save the connection settings.
Verify the user experience
After saving, each Omni user will be prompted to authenticate with Snowflake the first time they run a query in a workbook or dashboard. This prompt reappears when their OAuth token expires.Once authenticated, Omni uses the user’s database permissions in place of the service account for all queries that user runs.
Next steps
To ensure database permissions align with what users see in Omni, we recommend implementing:- Access grants to control which fields and tables are visible to each user in the model and field browser
- Content permissions to control which dashboards and documents users can access