BoostUp’s Snowflake integration allows customers to ingest any of their Snowflake tables into BoostUp. Customers can join these tables with other data in BoostUp (for example, Product data from Snowflake can be joined with the Account table from Salesforce in BoostUp). Customers can build complex metrics and dashboards using this joined master data.
This document describes the steps that need to be followed in order to bring a Snowflake table into BoostUp.
Required Permissions
To execute the instructions in this document, you will first need the following privileges.
- You need to be an administrator in Snowflake with the permissions to execute the following actions.
- You should be able to create an integration user and grant usage and select access to that user over the tables that need to be synced to BoostUp
- You should be able to create a storage integration in Snowflake, and a stage that will be configured to sync data to a S3 bucket.
- You need to have an admin account in BoostUp.
- If you do not have an account in BoostUp, ask your sales ops administrator to create an account for you with the Sales Operations role.
Snowflake Setup Instructions
Once you confirm that you have the necessary permissions, follow these steps.
-
Create a service account user with key-pair authentication support:
- Generate key-pair by following instructions at this link
- You can generate a key-pair using this command:
- Generate key-pair by following instructions at this link
| openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt |
- Store the public and private key securely. You will need to upload the private key to BoostUp in Step 4.
- Note that BoostUp encrypts the private key once more, so it is important to upload the private key without encryption and without a passphrase.
-
Create objects for storage integration (Connecting your Snowflake instance to BoostUp’s stage S3 bucket location):
- In the steps below, replace <company_domain> with your company domain (for example, acme.com)
- Create a STORAGE INTEGRATION over BoostUp’s bucket path
|
CREATE STORAGE INTEGRATION boostup_external_objects_integration TYPE = EXTERNAL_STAGE STORAGE_PROVIDER = 'S3' ENABLED = TRUE STORAGE_AWS_ROLE_ARN = 'arn:aws:iam::258989535243:role/snowflake-etl-external-objects_<company_domain>' STORAGE_ALLOWED_LOCATIONS = ('s3://boostup-production-snowflake-etl-external-objects/<company_domain>') |
- Once created, make a note of the following two values. You will need to upload them to BoostUp in Step 4.
- STORAGE_AWS_IAM_USER_ARN
- STORAGE_AWS_EXTERNAL_ID
- Both values can be found by running this command.
| DESCRIBE INTEGRATION BOOSTUP_EXTERNAL_OBJECTS_INTEGRATION |
- Boostup assigns role to that user and grants permissions over our bucket path
- Next, you need to create STAGE pointing to BoostUp’s bucket that is located in the same schema that the tables to be synced reside in.
|
CREATE STAGE boostup_external_objects_stage STORAGE_INTEGRATION = BOOSTUP_EXTERNAL_OBJECTS_INTEGRATION URL = 's3://boostup-production-snowflake-etl-external-objects/<company_domain>/' FILE_FORMAT = (TYPE = CSV COMPRESSION = NONE NULL_IF =());; |
-
Grant the Service Account user the following permissions:
- Grant USAGE over db where the target table resides
- Grant USAGE over the schema where target table resides
- Grant USAGE over the warehouse to run copy into from
- Grant USAGE permissions over storage integration and stage created in step 2
- Grant SELECT permissions over the tables you want to access in BoostUp.
- Assign the service account user the generated public key from Step 1a.
| ALTER USER service_account_user SET RSA_PUBLIC_KEY=<public_key> |
-
Create a Snowflake Connection in BoostUp
-
Log into Boostup (you need to have an account with admin permissions).
- If you do not have an account, ask your sales ops administrator to create an account for you in BoostUp with the Sales Operations role.
- Go to Settings -> Link Accounts (https://app.boostup.ai/settings/link-accounts) in Boostup
-
Log into Boostup (you need to have an account with admin permissions).
- Click on Link Snowflake Account and fill in the form with the required data
- When you save the form, BoostUp will attempt to connect to Snowflake.
- If the connection is successful, you will be able to save the settings.
- If the connection fails, the settings won’t be saved. In this case, reach out to your sales ops administrator who can get in touch with the BoostUp CSM to resolve the issue.
Comments
0 comments
Please sign in to leave a comment.