NTT DATA TECH
📖

SnowflakeのNWポリシー仕様が一時変更されて、OAuth認証でハマった実録

に公開

はじめに

SnowflakeのNWポリシー挙動が一時的に変更されたことにより、OAuth認証の接続テストで問題が発生しました。
Snowflakeサポートの協力を得て解決できたため、ここでは発生経緯・変更内容・現時点の接続条件を整理して共有します。

背景:
Snowflakeの「2025_06 バンドル BCR-2094」において、OAuth認証時のネットワークポリシー(NWポリシー)の適用ルールが一時的に変更されました。
この変更はロールバックされ、現在は延期扱いとなっています(2025年12月12日時点)。
この記事は、NTTデータ Snowflakeアドベントカレンダーの10日目です。

前提①:Snowflake のネットワークポリシーとは

Snowflake における NW ポリシー(Network Policy)とは、Snowflake へのアクセスを許可する IP アドレス範囲を制御する仕組みです。
設定対象は主に以下の3レベルであり、適用優先順位は次の通りです:

優先順位
1位:ユーザー
2位:セキュリティ統合
3位:アカウント

この優先順位は本記事の重要なポイントとなりますので、ぜひ意識しながら読み進めてください。

前提②:OAuth 認証とは

OAuth 2.0 は、業界標準の認可プロトコルです。
Snowflake では、「統合(Integration)」を通じてクライアントの OAuth 認証を有効化します。

Snowflake の OAuth 認証を利用すると、ユーザーがクライアント(例:Alteryx、Tableau など)の画面で「認証」ボタンを押すと、Snowflake の認証ページにリダイレクトされます。
そこでユーザーが Snowflake アカウントの認証情報を入力すると、クライアントは Snowflake からアクセストークンを取得し、Snowflake との接続が確立されます。

このとき、Snowflake の認証ページへのアクセスはユーザー端末から行われ、実際のデータアクセスはクライアントのサーバーから行われます。
つまり、接続を許可するためには、ユーザー端末の IP アドレスとクライアント側の IP アドレスの両方を NW ポリシーで許可する必要があります。

2025_06 バンドル BCR-2094で予定されていた仕様変更(現在延期中)

Snowflake 公式ドキュメント:https://docs.snowflake.com/ja/release-notes/bcr-bundles/un-bundled/bcr-2094
によると、2025_06 BCR-2094バンドルで予定されていた仕様変更は以下の通りです。

変更内容:
OAuth 認証時に、セキュリティ統合(Security Integration)に設定された NW ポリシーが適用されるよう仕様を変更。
従来の「ユーザー/アカウント」レベルでの適用から切り替える。

しかしこの変更は延期され、現在は「旧仕様(2025_06 バンドル BCR-2094 適用前)」の動作に戻っています。

仕様変更によりハマった実録

元々の仕様

✅ 接続成功条件
※こちらはドキュメントベースの条件ですので、推測を含みます。

  • ユーザー:端末IP・クライアント(SaaS)のIPを許可
  • セキュリティ統合:なし
  • アカウント:端末IPを許可

この時点では、OAuth 認証時にユーザー > セキュリティ統合 > アカウント の順で NW ポリシーが適用されていたため、ユーザーに対して「端末 IP」と「クライアント(SaaS)IP」を許可すれば接続可能だったと認識しています。

一時的に変更が適用された状態(2025年9月時点)

しかし、実際に接続しようとした際に、エラーが発生しました。
初構築・初エラーだったため、非常に焦りましたが、先輩に協力いただき、ログ調査・NW ポリシー設定を緩めるなど、調査を行いましたが、なかなか解決に至りませんでした。
最終的に Snowflake サポートへ問い合わせた結果、2025_06 バンドル BCR-2094適用による仕様変更が原因の可能性があると回答いただきました。
🔹 仕様変更による動作の違い

  • 2025_06 バンドル BCR-2094有効化前:
    アクセストークンを使用したアクセス時には、ユーザーレベルのネットワークポリシーが優先される。
  • 2025_06 バンドル BCR-2094有効化後:
    アクセストークンを使用したアクセス時には、ユーザーレベルのネットワークポリシーは評価されず、
    セキュリティ統合 > アカウント の順で評価されるように変更。

✅ 接続成功条件
※実際に検証を行った条件です。

  • ユーザー:端末IPを許可
  • セキュリティ統合:クライアント(SaaS)のIPを許可
  • アカウント:端末IPを許可

この時点で、クライアント(SaaS)が「アクセストークン」や「リフレッシュトークン」を取得する際の通信については、「セキュリティ統合」に設定されたNW ポリシーが評価されるようになったそうです。そのため、クライアント(SaaS)側の IP をセキュリティ統合に許可しないと接続できない状態でした。

この構成で疎通確認を行い、動作確認も完了した私は接続できて安堵しました。

現時点/2025年12月時点

安心も束の間、2025_06 バンドル BCR-2094の変更は延期され、再び旧仕様に戻ったため、上記パラメータでは接続できなくなってしまいました。
現時点の接続成功条件と、今後を見越した対応策をお伝えします。
サポートに問い合わせた結果、現状で接続するために必要なNW許可は以下の通りです。

✅ 接続成功条件
※実際に検証を行った条件です。

  • ユーザー:端末IP+SaaSのIP
  • セキュリティ:SaaSのIP
  • アカウント:端末IP

⭐今後を見越した対応策
上記の設定であれば、BCR-2094 の変更が適用された後でも通信に影響が出ることはないとサポートにも確認済みです。
そのため、現時点でエラーが出ている方、これからSaaSとSnowflake間のOAuth認証の設定を行う方は、上記の設定を行うと良いと思います。

まとめと今後の展望

  • 2025_06 バンドル BCR-2094で予定されていたOAuth認証時のNW ポリシー仕様変更は、リリース直後に一時的に適用された。
  • 現在は、旧仕様に戻っているが、いつかBCR-2094が有効化されるかもしれない。
  • 今後を見越した対応策として、現状および BCR-2094 の変更適用後、どちらも通信に影響が出ることがない設定も可能であること。

最後に

仕様変更によりエラーが発生し、対応に苦慮する場面も多くありましたが、その分多くの学びを得ることができました。
エラー原因の切り分けやサポートへの問い合わせ対応を通じて、非常に貴重な経験となりました。
特に、Snowflake サポートの迅速かつ的確なご対応により、問題を早期に解決できました。
先輩社員からもSnowflakeのサポート・ドキュメントは特に親切であると話を聞いており、実感する機会となりました。
この場を借りて心より感謝申し上げます。誠にありがとうございました。

NTT DATA TECH
NTT DATA TECH
設定によりコメント欄が無効化されています