❄️
【Snowflake】ECDSA対応したKey-pairを試そう
本記事で参考になるケース
- 遂にSnowflakeのKey-pair認証がElliptic Curve Digital Signature Algorithms (ECDSA) : 楕円曲線DSA に対応したので利用したい
[Aug 25, 2025-Aug 28, 2025] Support for keys generated with Elliptic Curve Digital Signature Algorithms (ECDSA)
For Snowflake authentication methods that use a cryptographic key (key-pair authentication and External OAuth), you can now generate keys using Elliptic Curve Digital Signature Algorithms (ECDSA) algorithms ES256(P-256), ES384 (P-384), and ES512 (P-512). These signatures use the SHA-256, SHA-384, and SHA-512 hash algorithms, respectively.
Key-Pairで利用してみよう
ES512(P-512)で作成する
秘密Keyの作成
>> openssl ecparam -name secp521r1 -genkey -noout -out private_key.pem
>> ls
private_key.pem
公開Keyの作成
>> openssl ec -in private_key.pem -pubout -out public_key.pem
read EC key
writing EC key
>> ls
private_key.pem public_key.pem
参考(ES256, ES384の場合)
ES256の場合は "prime256v1"、ES384 の場合は "secp384r1"、ES512 の場合は "secp521r1"
Snowflake Userに設定
公開Keyを確認
>> cat public_key.pem
-----BEGIN PUBLIC KEY-----
MIGbMBAG.......................
...............................
.........................VOYRI=
-----END PUBLIC KEY-----
Snowflake内でUserオブジェクトに設定
ALTER USER userName SET RSA_PUBLIC_KEY='MIGbMBAG........VOYRI=';
注意点?
202509 現在、snowflake-connector-python:4.0.0
では未対応に見える
snowflake.connector.errors.ProgrammingError: 251008: Private key type (ECPrivateKey) not supported.
Please provide a valid rsa private key in DER format as bytes object
また、SnowSQL
はそもそも将来使えなくなるので注意

Snowflake データクラウドのユーザ会 SnowVillage のメンバーで運営しています。 Publication参加方法はこちらをご参照ください。 zenn.dev/dataheroes/articles/db5da0959b4bdd
Discussion