- 17 Nov 2023
- 2 Minutes to read
- Updated on 17 Nov 2023
- 2 Minutes to read
Snowflake, a cloud data warehouse, is one of many source locations that Bobsled supports. A Provider can set up a Snowflake source by running a Bobsled provided script to grant Bobsled sufficient access to your Snowflake account and then providing account identification and locator values. Bobsled uses OAuth to authenticate to your Snowflake account.
Set up a Snowflake Source
Granting access to your Snowflake account
Bobsled supports two modes of Snowflake source setup "Standard setup" and "Advanced setup". Each is accessible on this screen with documentation and details of what needs to be done.
This is the easiest way to setup a Snowflake Source. This requires running a script to grant the correct access to your Snowflake account. The script does the following:
- Creates a user
- Creates a role for that user to use
- Grants the role the ability to create integrations
- Grants the role the ability to create warehouses
- Creates a security integration for authentication assigned to the role
- Creates a database for Bobsled to use
- Creates a stored procedure to be used for granting proper access to the databases that Bobsled needs to access (Bobsled can access multiple databases within one source). When using the stored procedure, the user needs to enter databases that Bobsled should have access to. The stored procedure does the following:
- Grants the role usage to all current and future schemas and select to all current and future tables and views
- Turns change tracking on for all tables and views in those databases. Bobsled uses change tracking for efficient extracts
To access the script that needs to be run by an account admin in your Snowflake account, start creating a new source in Bobsled.
Advanced setup can be chosen by a Snowflake account admin who wants more control over Bobsled's access and footprint within their Snowflake account. Instead of granting Bobsled the ability to create the required infrastructure, all infrastructure can be created and then access granted to Bobsled.
Bobsled provides a terraform script- accessible via the source setup page - to run for setting up required Bobsled infrastructure or adapting per your needs. The terraform script is generated specific to your Bobsled deployment and the specific source setup.
Configuring the Source
1. From the three-line menu in the top left corner, select Manage.
2. Select the Sources tab.
3. Click Add Source
4. Enter a human readable name to describe the source.
5. Select Snowflake, the cloud and the region of your Snowflake account. Click Continue to move to the next step
6. Provide your Snowflake Organization name, Account name (as org_name.account_name) and Account locator. This Snowflake article provides more information on accessing these account identifiers.
7. Choose your setup mode - Standard or Advanced and follow the steps on the screen to run the associated script or adapt to your needs. Then provide the required information back in the source setup screen.
8. Once the setup is completed in your Snowflake account, press save to complete the setup. At this point Bobsled will finish setup within the Snowflake account and build the required infrastructure.