docs: Add key-pair authentication for Snowflake credentials (#4110)

Co-authored-by: Kartik Balasubramanian <22399046+HumanistSerif@users.noreply.github.com>
This commit is contained in:
Michał Schroeder
2026-01-15 15:28:44 +01:00
committed by GitHub
parent 93c55f502c
commit 8d0942344f

View File

@@ -16,23 +16,41 @@ Create a [Snowflake](https://www.snowflake.com/en/) account.
## Supported authentication methods
- Database connection
- [Password](#using-password-authentication)
- [Key-pair](#using-key-pair-authentication)
## Related resources
Refer to [Snowflake's API documentation](https://docs.snowflake.com/en/api-reference) and [SQL Command Reference](https://docs.snowflake.com/en/sql-reference-commands) for more information about the service.
## Using database connection
## Common configuration fields
To configure this credential, you'll need:
Both authentication methods require the following fields:
- An **Account** name: Your account name is the string of characters located between `https://` and `snowflakecomputing.com` in your Snowflake URL. For example, if the URL of your Snowflake account is `https://abc.eu-central-1.snowflakecomputing.com` then the name of your account is `abc.eu-central-1`.
- A **Database**: Enter the name of the [database](https://docs.snowflake.com/en/sql-reference/sql/use-database) the credential should connect to.
- A **Warehouse**: Enter the name of the default virtual [warehouse](https://docs.snowflake.com/en/sql-reference/sql/use-warehouse) to use for the session after connecting. n8n uses this warehouse for performing queries, loading data, and so on.
- A **Username**
- A **Password**
- A **Schema**: Enter the [schema](https://docs.snowflake.com/en/sql-reference/sql/use-schema) you want to use after connecting.
- A **Role**: Enter the security [role](https://docs.snowflake.com/en/sql-reference/sql/use-role) you want to use after connecting.
- **Client Session Keep Alive**: By default, client connections typically time out three or four hours after the most recent query execution. Turning this setting on sets the `clientSessionKeepAlive` parameter to true: the server will keep the client's connection alive indefinitely, even if the connection doesn't execute any queries.
Refer to [Session Commands](https://docs.snowflake.com/en/sql-reference/commands-session) for more information on these settings.
## Using password authentication
In addition to the [common configuration fields](#common-configuration-fields), password authentication requires:
- A **Username**
- A **Password**
## Using key-pair authentication
Key-pair authentication provides enhanced security as an alternative to password-based authentication. This method uses a public-private key pair for authentication.
In addition to the [common configuration fields](#common-configuration-fields), key-pair authentication requires:
- A **Username**: The Snowflake user that has the public key assigned to it.
- A **Private Key**: The private key in PEM format (PKCS#8). This should be the full content of your private key file, including the `-----BEGIN ENCRYPTED PRIVATE KEY-----` and `-----END ENCRYPTED PRIVATE KEY-----` delimiters (or `-----BEGIN PRIVATE KEY-----` and `-----END PRIVATE KEY-----` for unencrypted keys).
- A **Passphrase** (optional): If your private key is encrypted, enter the passphrase used to encrypt it. Leave this field empty if you're using an unencrypted private key.
Refer to [Snowflake's key-pair authentication documentation](https://docs.snowflake.com/en/user-guide/key-pair-auth) for more information about generating and configuring key pairs.