Please reach out to us at team@athenaintel.com for SSL configuration and IP allowlisting (including specific IP ranges and hosts).
How to connect Snowflake with your role and pick a warehouse
Steps in this video
Steps in this video
- Open Integrations
- Connect Snowflake
- Choose your role
- Sign in to Snowflake
- Allow access
- Pick a warehouse
- Connect
Security & Privacy
Athena’s Snowflake integration is designed with enterprise security and data governance in mind:- Per-user connection: Each user connects their own Snowflake account individually. Athena does not access any user’s data unless that specific user has explicitly authorized the connection. No blanket access is granted across an organization.
- Role-based access control: Connections are scoped to a specific Snowflake role, ensuring users can only access data permitted by their assigned role within Snowflake. Workspace administrators can pin a default role and configure which additional roles are available for user connections.
- Credential security: Athena encrypts all stored credentials (passwords, OAuth tokens) at rest. For OAuth-based connections, Athena uses industry-standard OAuth 2.0 flows and never sees or stores your Snowflake password.
- No bulk data extraction: Athena does not copy or permanently store the contents of your Snowflake warehouse. Queries are executed on demand when you interact with Athena, and results are scoped to the requesting user’s session.
- Network security: Athena supports SSL/TLS encrypted connections to your Snowflake account. Organizations can configure IP allowlisting to restrict Athena’s access to specific network ranges.
- Revocable at any time: Users can disconnect their Snowflake account from Athena at any time, immediately revoking access. For OAuth connections, tokens can also be revoked from the Snowflake side.
Workspace Owner Controls
Workspace owners and administrators have granular control over the Snowflake integration:- Restrict Snowflake integration: Workspace owners can disable the Snowflake integration for the entire workspace, preventing any member from connecting their Snowflake account.
- Control role scope: Administrators configure which Snowflake roles are available for workspace connections, including setting a pinned default role and restricting which additional roles users may select.
- Manage OAuth configuration: For OAuth-based connections, workspace owners manage the OAuth client configuration (account identifier, client ID, allowed roles) centrally for the workspace.
- Monitor connections: Administrators can view which users have active Snowflake connections within the workspace.
- Revoke access: Workspace owners can remove Snowflake connections, and organizations can revoke the OAuth app registration from the Snowflake side at any time.
Connection Methods
The Integrations page connects to Snowflake using workspace-configured OAuth:Workspace Connection Configuration
A workspace administrator configures the Snowflake account, OAuth app and allowed roles. Each member then signs in with their own Snowflake account. Select the configured app when the connection offers more than one. The OAuth app runs in one of two role modes:OAuth-Based Connection (Snowflake Direct)
Connect using Snowflake’s OAuth 2.0 integration. This method is configured at the workspace level by an administrator and allows individual users to authorize Athena via a secure OAuth flow, without sharing their Snowflake password. Each user’s OAuth token is scoped to a specific Snowflake role and encrypted at rest.Admin Setup for OAuth (once per workspace)
Two different administrators are involved. A Snowflake account admin creates the OAuth security integration in Snowflake, and an Olympus workspace admin or owner then saves it on the Athena side for the entire workspace. Individual members cannot do this themselves; until an Athena admin completes the second step, the OAuth connect option is unavailable to everyone in the workspace.
1. Create the OAuth security integration (Snowflake admin)
Run this once per Snowflake account you want to connect:OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'is required; Athena authenticates the token exchange with the client ID and secret.OAUTH_ISSUE_REFRESH_TOKENS = TRUEis required so short-lived access tokens refresh without re-prompting members.- The redirect URI must match exactly: no trailing slash, and
httpsmatters. - The integration itself doesn’t name a role. Athena requests the role at OAuth time as the
session:role:<chosen_role>scope, and the default comes from the Pinned Role (default) field in step 2, so every role you expose must beGRANTed to the members who will connect.
2. Save the OAuth app in Athena (Olympus workspace admin)
Open Workspace Settings → Integrations, expand Snowflake, and fill in:
Client secrets are encrypted at rest and never returned to the browser. In Pinned role mode, members may only connect under the pinned role or a role on the allowlist; they cannot self-select a higher-privilege role. In Any granted role mode, Snowflake’s own grants decide which roles a member can use.
Setup Instructions
1
Select your data source
Navigate to Integrations. Click on Snowflake.

2
Configure the connection
Click Connect Snowflake (Direct). If more than one app is configured, choose the app for your Snowflake account.Your workspace administrator has already configured the account identifier, client ID and allowed roles. Authorize Athena through Snowflake’s sign-in flow. If the app uses Pinned role, choose a role when prompted first; the connection uses that role for its lifetime, so connect separately for each role you need. If it uses Any granted role, there is no role prompt, and one connection can use any role Snowflake grants you.Athena uses OAuth for this flow. Enter your password only on Snowflake’s sign-in page. The Integrations dialog does not ask for a username, password or Test Connection step.

3
Select a warehouse (OAuth only)
For OAuth-based connections, after completing the authorization flow, select the default Snowflake warehouse for your queries from the available warehouses visible to your connected account, then click Connect.

