Skip to main content
OAuth database connections allow each Omni user to authenticate directly with your data warehouse using their own credentials. Omni then enforces that user’s database-level permissions when they run queries, rather than relying solely on a shared service account.

Supported databases

OAuth connections are currently supported for:

Requirements

To follow the steps in this guide, you’ll need:
  • To have the OAuth database connection feature enabled in your Omni account
  • Organization Admin permissions
  • A 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.

Limitations

Before enabling OAuth, review the following limitations:
AreaDetails
Model and IDEOmni models will be built using the service account. All users will see the same tables and fields in the model unless you restrict visibility with access grants.
Field pickerAll fields and tables will be visible in the workboook’s field browser unless explicitly restricted with access grants
SchedulingSchedules run as the schedule creator and cannot be personalized with user attributes. Schedules may also fail when the creator’s OAuth token expires — the creator must re-authenticate to resolve this.
CachingCaches are not shared across users, which results in a lower cache hit rate and higher data warehouse costs. The same applies to cubes and extracts.
Content visibilityUsers may be able to open dashboards that reference data they don’t have database permissions to query, which can result in permission errors.

Setup

1

Get OAuth credentials

Create an OAuth integration in Snowflake and retrieve the Client ID and Client Secret. Refer to Snowflake’s OAuth documentation for instructions.
2

Configure the connection in Omni

  1. In Omni, navigate to the connection settings page for your Snowflake connection.
  2. Fill in the fields as required.
  3. In the Authentication Type dropdown, select OAuth User Authentication.
  4. Enter the OAuth Client ID and OAuth Client Secret from the previous step into the respective fields.
  5. Save the connection settings.
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.
3

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