Welcome to the Alteryx Knowledge Base
Created/Edited -
Access your Snowflake data using SSH key-pair authentication.
With the 2024.1 release, Alteryx continues to enhance security of your Snowflake connections by providing support for key-file authentication within the Data Connection Manager (DCM). This feature is essential for organizations that rely on key-pair authentication for service and user accounts. This authentication method allows Alteryx users automate their workflow runs on Designer and Server without the need of re-authenticating with their Identity Provider.
In this article, we'll guide you through the setup process of:
- Generating a Key Pair: Using OpenSSL commands to create secure public and private keys;
- Snowflake Configuration: Outlining how to assign the public key to a Snowflake user;
- Connecting from Alteryx: Detailing the steps to configure key-pair authentication within the Alteryx Designer.
Generating a Key Pair
Open a terminal window or command line tool and do the following:
- Generate private key.
- To generate unencrypted private key, run: openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8 -nocrypt
- If you however want to create a password-protected private key, execute: openssl genrsa 2048 | openssl pkcs8 -topk8 -v2 des3 -inform PEM -out rsa_key.p8
- The commands generate a private key in PEM format.
- Generate the public key for created private key:
- Execute: openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
- The command generates the public key in PEM format:
- -----BEGIN PUBLIC KEY-----MIIBIj...-----END PUBLIC KEY-----
- Store the public and the private keys securely. Copy the public and private key files to a local directory for storage. Record the path to the files. Note that the private key is stored using the PKCS#8 (Public Key Cryptography Standards) format and is encrypted using the passphrase you specified in the previous step.
Snowflake Configuration
- Now that we've generated the private and public keys, it's time for us to assign a public key fingerprint to a Snowflake user.
- Open the public key and only copy the actual value of the key, the value between -----BEGIN PUBLIC KEY----- and-----END PUBLIC KEY----- clauses.
- Sing in to Snowflake with SECURITYADMIN and a higher role, and execute the following command:
- ALTER USER example_user SET RSA_PUBLIC_KEY='the public key value';
- The above SQL statements assigns the public key fingerprint to specified user.
Connecting from Alteryx:
In Alteryx Designer v. 2024.1 and above:
- Drop input/output/indb tool on canvas;
- Select Data Connection Manager (DCM) checkbox and create a Snowflake connection;
- In the credentials, click create credentials;
- Select key-pair from the list of authentication methods;
- Specify full path to the key file location. Optionally, specify a password for the key file in case the private key is encrypted
Once done, you shall be able to connect to access your Snowflake data.