Snowflake is an API Key based integration and does not require the setup of an app.

Required Credentials of a Linked Account

To successfully connect with the Snowflake integration, a Linked Account or an end-user will need to provide the following to connect:

  1. Private Key
  2. Passphrase
  3. Username
  4. Account Identifier

To understand how a Linked Account can get the above mentioned credentials, refer below.

Getting Credentials of Snowflake

To acquire the required credentials and connect a Linked Account, please follow the steps mentioned below:

  1. Log in to your Snowflake account, click on your profile in the bottom left and under Account click on Copy Account Identifier. This is your Account Identifier which you need for authentication.
  1. Click on the My Profile option in the bottom left and copy the Username given.
  1. Open Terminal/Bash in your laptop(Linux/Mac/Windows) and type the following command:
Command
openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out private_key.p8 -scrypt
  1. You will be prompted to provide Encryption Password. Provide a password, verify it and save it with you. This is your Passphrase for authentication.

This Generates a file called private_key.p8 in the current directory.

  1. Open your private_key.p8 file in the terminal by using the following command and save it. This is your Private Key.
Command
cat private_key.p8
  1. Generate Public Key using your passphrase from the 4th step by using the following command:
Command
 openssl rsa -in private_key.p8 -pubout -out public_key.pem -passin pass:<your_passphrase>
  1. Open your public_key.pem file that was generated in last step using the command:
Command
cat public_key.pem 

Copy the Public Key displayed in your terminal.

  1. Go to Snowflake and click on your profile in the bottom left. Check if your current role is ACCOUNTADMIN or not under Switch Role. If not, switch role to ACCOUNTADMIN.

ACCOUNTADMIN Role is necessary, otherwise you won’t be able to assign public key to user in the next step.

  1. In Snowflake click on Worksheets under Projects in the side menu. Click on + icon to create a new worksheet.
  2. Run the following statement in your worksheet by replacing the Username and Public_key with your own credentials.
Statement
ALTER USER <Username> SET RSA_PUBLIC_KEY="<Public_key>"

The Linked Account or end-user now have all the credentials required to connect with Snowflake.

Actions and triggers

In Cobalt, you can create orchestrations of your use-cases using Snowflake actions and triggers. Following are the set of Snowflake actions and triggers supported by Cobalt.