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公式アカウントです。 技術を愛するNTT DATAの技術者が、気軽に楽しく発信していきます。 当社のサービスなどについてのお問い合わせは、 お問い合わせフォーム nttdata.com/jp/ja/contact-us/ へお願いします。