# Snowflake RSA Key for jdbc auth in Logstash

**URL:** <https://discuss.elastic.co/t/snowflake-rsa-key-for-jdbc-auth-in-logstash/379920>\
**Category:** Logstash\
**Created:** [July 8, 2025, 2:08pm UTC](https://discuss.elastic.co/t/snowflake-rsa-key-for-jdbc-auth-in-logstash/379920 "2025-07-08T14:08:58Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![random\_cauliflower](https://avatars.discourse-cdn.com/v4/letter/r/bbce88/32.png) [@random\_cauliflower](https://discuss.elastic.co/u/random_cauliflower)\
**Post date:** [July 8, 2025, 2:08pm UTC](https://discuss.elastic.co/t/snowflake-rsa-key-for-jdbc-auth-in-logstash/379920/1 "2025-07-08T14:08:58Z")

</div>

Hello!

I'm trying to use jdbc input plugin to connect to snowflake. The snowflake jdbc driver has a `private_key_file` parameter to specify an RSA key. This seems to be missing from the jdbc input configuration options at

> **[Jdbc input plugin | Logstash Plugins](https://www.elastic.co/docs/reference/logstash/plugins/plugins-inputs-jdbc#plugins-inputs-jdbc-options)**
>
> A component of the jdbc integration plugin, Integration version: v5.5.3, Released on: 2025-03-07, Changelog. For other versions, see the Versioned plugin...

How do I connect to snowflake via jdbc using an RSA key instead of a password?  
(apologies if there is some deeper misunderstanding, please correct my assumptions)

---

<div class="post-metadata">

**Author:** ![Badger](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/badger/32/25190_2.png) [@Badger](https://discuss.elastic.co/u/Badger)\
**Post date:** [July 8, 2025, 2:46pm UTC](https://discuss.elastic.co/t/snowflake-rsa-key-for-jdbc-auth-in-logstash/379920/2 "2025-07-08T14:46:55Z")

</div>

The snowflake [documentation](https://docs.snowflake.com/en/developer-guide/jdbc/jdbc-parameters) says that " You can set these parameters in the [JDBC connection string](https://docs.snowflake.com/en/developer-guide/jdbc/jdbc-configure.html#label-jdbc-connection-string) or in a Java `Properties` object".

The JDBC connection string page includes an example of passing the key file and password in the connection string

```
Connection connection = DriverManager.getConnection(
    "jdbc:snowflake://myorganization-myaccount.snowflake.com/?private_key_file=/tmp/rsa_key.p8&private_key_file_pwd=dummyPassword",
props);

```

I don't think the [jdbc input](https://github.com/logstash-plugins/logstash-integration-jdbc/blob/446e218f6bf3027fb5edc5fa3733f1be89188183/lib/logstash/plugin_mixins/jdbc/jdbc.rb#L127) will sprintf the connection string, so you will not be able to hide the password in the [logstash keystore](https://www.elastic.co/docs/reference/logstash/keystore), although someone who actually uses the jdbc input (I do not) may know better.
