> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paradime.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Key-pair authentication

> Connect Snowflake to Paradime using key-pair authentication with an RSA private key and optional passphrase for Bolt jobs and Agent sessions.

Connect Snowflake to Paradime using key-pair authentication with a private key and, optionally, a private key passphrase. Set **Target** to match the environment you are configuring (`dev`, `prod`, or `dinoai`).

<Note>
  **Available in:** Code IDE, Bolt, and Agent environments.
</Note>

## Set up the key pair

After [generating an encrypted or unencrypted key pair](https://docs.snowflake.com/en/user-guide/key-pair-auth#configuring-key-pair-authentication), set the `rsa_public_key` for the Snowflake user connecting to Paradime:

```sql theme={"system"}
alter user john_user set rsa_public_key='MIIBIjANBgkqh...';
```

<Info>
  Field access levels apply only to the **Code IDE** environment: an `Admin` sets workspace-level fields, and each developer sets their own user-level fields. In the Bolt and Agent environments, an `Admin` sets all fields.
</Info>

## Field details

| Field                             | Description                                                                                                                                   | Example                                                                                                      |
| --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| Profile Name                      | The profile name set in your `dbt_project.yml`. See more [here](https://docs.getdbt.com/docs/core/connect-data-platform/connection-profiles). | **`dbt-snowflake`**                                                                                          |
| Target                            | The target name used to identify the connection. See more [here](https://docs.getdbt.com/reference/dbt-jinja-functions/target).               | **`dev`**                                                                                                    |
| Account                           | The Snowflake account to connect to, as per [Snowflake's documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier).   | **`vj71689.eu-west-2.aws`**                                                                                  |
| Role                              | The role to assume when running queries as the specified user.                                                                                | **`transformer`**                                                                                            |
| Database                          | The name of your Snowflake database.                                                                                                          | **`analytics`**                                                                                              |
| Warehouse                         | The virtual warehouse to use for running queries.                                                                                             | **`transforming`**                                                                                           |
| Username                          | The username of the user.                                                                                                                     | **`john_user`**                                                                                              |
| Private Key                       | The private key generated and linked to the user. You **must** include the commented lines when adding the private key.                       | **`-----BEGIN ENCRYPTED PRIVATE KEY----- < private key content here > -----END ENCRYPTED PRIVATE KEY-----`** |
| Private Key Passphrase (Optional) | The passphrase created when generating the encrypted key.                                                                                     | **`passphrase_xyz`**                                                                                         |
| Schema                            | The default schema used to build dbt™ objects at runtime.                                                                                     | **`dbt_john`**                                                                                               |
| Threads                           | The number of threads used in this connection. See more [here](https://docs.getdbt.com/docs/running-a-dbt-project/using-threads).             | **`8`**                                                                                                      |


## Related topics

- [Snowflake DinoAI Agent Key-Pair Setup](/guides/paradime-101/getting-started-with-the-dinoai-background-agent/snowflake-dinoai-agent-key-pair-setup.md)
- [Ingest Google Sheets into Snowflake with dltHub](/guides/using-dlt-in-paradime/python-data-pipeline-using-dlthub-google-sheets-to-snowflake.md)
- [Snowflake](/integrations/snowflake/index.md)
- [Snowflake OAuth](/integrations/snowflake/oauth.md)
- [Snowflake cost connection](/integrations/snowflake/cost-connection.md)
