🔑

Snowflakeのパスワード認証終了にどう備えるべきか?Redash接続のマイベストプラクティス

に公開

背景

Snowflake において パスワード単体での認証が非推奨となり、将来的にサポートが廃止される ことが発表されました。

https://www.snowflake.com/en/blog/multi-factor-identification-default/

これを受け、弊社が運用する Redash 環境でも、Snowflake との接続方式を見直す必要が出てきました。

しかし、Redash は RSA 公開鍵認証などに対応しておらず、選択肢は限られています。そこで今回は、Snowflake の PAT(Programmatic Access Token)認証を用いた接続へと移行しました。

本記事では、Redash における PAT 認証の導入手順と、その際に考慮したポイントを紹介します。

なお、ここで紹介する方法は 弊社(シロク)のデータ基盤に最適化された一例です。Redash のパスワード認証見直しでお困りの方にとって、少しでも参考になれば幸いです。

また、別アプローチとして Key-Pair 認証を Redash に対応させる方法も存在します。詳細は、シンプルフォーム 山岸さんによる以下の記事をご参照ください。

https://zenn.dev/dataheroes/articles/20250411-redash-snowflake-keypair-authn


PAT(Programmatic Access Token)認証とは?

2025年4月末にSnowflake に新しく追加された認証方式で、パスワードではなくトークンを使用してプログラム的な接続を行う仕組みです。最大 365 日の有効期限があり、ユーザー単位で発行・制御が可能です。

https://docs.snowflake.com/en/release-notes/2025/other/2025-04-30-programmatic-access-tokens

今回、Redashでサービスユーザーを作成し、パスワード認証のものをPATに認証することで、接続方式を移行することが可能だと考えました。


1. Snowflake における Network Policy の設定

PAT を有効にするには、Snowflake にアクセスするクライアントの IP アドレスを明示的に許可する必要があります。

CREATE NETWORK POLICY allow_redash_public_policy
  ALLOWED_IP_LIST = ('19X.XXX.0.1');

DESC NETWORK POLICY allow_redash_public_policy;

Redash 用のサービスユーザーを作成し、このポリシーを適用します。

CREATE USER TEST
    TYPE = SERVICE
    DEFAULT_ROLE = PUBLIC;

ALTER USER TEST
  SET NETWORK_POLICY = allow_redash_public_policy;

2. PATトークンの発行と適用

Snowflake UI の User & Roles 画面にアクセスし、対象ユーザーの詳細を確認します。

「Missing network policy」の警告が表示されていないことを確認し、「Generate new Token」から PAT を作成します。

PAT作成画面

トークンは一度しか表示されないため、コピーを行い、機密性の高い管理ツールに保管をしてください。

トークン生成後の注意喚起


3. Redash 側の設定を PAT 認証に切り替える

Redash 管理画面にログインし、以下の手順で設定を更新します。

  1. メニューから Settings → Data Sources を開く
  2. Snowflake のデータソースを選択
  3. 以下の内容を入力
項目 設定内容
Username Snowflake のサービスユーザー名
Password 発行済みの PAT トークン文字列
Role ユーザーに割り当てたロール名(例:PUBLIC)
Data 従来どおり(Warehouse、Database、Schemaなど)
  1. 「Test Connection」をクリックし、接続テストを実施

Redash設定画面


おわりに

Snowflake の認証方式変更は、セキュリティ強化のための前向きな施策ですが、運用現場では影響が大きく、Redash のように対応が限定されているツールとの接続には工夫が必要です。

今回の PAT 認証への移行により、Redash との接続をセキュアに保ちながら、将来的な MFA 義務化にも備えることができました。

本記事が、同様の課題を抱える方々のヒントとなれば幸いです。


参考リンク


シロク エンジニアブログ

Discussion