IntellijでSnowflakeのキーペア認証を使ってみる
はじめに
データ事業本部のkobayashiです。Intellijで使えるデータベースクライアントのDataGripでSnowflakeのキーペア接続を試してみたのでその内容をまとめます。
Snowflakeでキーペア認証用のユーザー作成
Snowflakeにキーペア認証でアクセスするユーザーを作成しますがはじめにキーペアを作成します。キーペアの作成方法はSnowflakeの公式ドキュメンに記載されいてるものを踏襲します。
秘密鍵・公開鍵の作成
$ openssl genrsa 2048 | openssl pkcs8 -topk8 -inform PEM -out rsa_key.p8
Enter Encryption Password: # パスフレーズを入力
Verifying - Enter Encryption Password: # 確認用パスフレーズを入力
$ openssl rsa -in rsa_key.p8 -pubout -out rsa_key.pub
これで秘密鍵としてrsa_key.p8、公開鍵としてrsa_key.pubが作成されます。
rsa_key.pubを確認すると以下のような形式になっているので公開鍵をコピーしておきます。
$ cat rsa_key.pub
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFNT
......
xmhj4=
-----END ENCRYPTED PRIVATE KEY-----
次にSnoflakeでユーザーを作成してコピーした公開鍵を割り当てます。
USE ROLE USERADMIN;
CREATE USER test_user DEFAULT_ROLE = SYSADMIN;
ALTER USER test_user SET RSA_PUBLIC_KEY = 'MIIFNT....xmhj4=';
これでSnowflakeにキーペア認証用のユーザーが作成できました。
DataGripでSnowflakeのキーペア接続してみる
それでは、Intellijで使えるデータベースクライアントのDataGripでSnowflakeのキーペア接続を設定します。
はじめにIntellijのデータベース接続設定でSnowflake接続を作成します。

次にSSH/SSLタブを開き以下の設定を行います。
Use SSLをチェックする- 先に作成した秘密鍵の.p8ファイルを
Client key fileボックスに入力し、秘密鍵のパスフレーズをClient key passwordに入力する

次にGeneralタブを開き以下の設定を行います。
Hostにホスト名を入力するAuthenticationにAuthenticatorを入力するAuthenticatorにSNOWFLAKE_JWTを入力するUserにユーザー名を入力するPasswordを空白のままにする

最後にAdvancedタブを開きprivate_key_fileやauthenticatorのカスタムプロパティが設定されていないことを確認します。
ここに値が設定されているとSSH/SSLタブで設定したClient key fileの値やGeneralタブで設定した値と競合して接続ができません。

これで設定が終わったのでTest Connectionを押下して接続が問題ないことを確認します。

まとめ
Intellijで使えるデータベースクライアントのDataGripでSnowflakeのキーペア接続を試してみました。2025年の11月にパスワードによる単一要素認証を使用したSnowflakeへのサインインができなくなるので今後はこちらの方式で接続設定を行う必要があります。
最後まで読んで頂いてありがとうございました。








