地味だけど待望!Snowflake-managed Network Rules を試してみる
1. はじめに
2025年、Snowflake がまた一つ地味だけど待望のアップデートを出してきました。
それが Snowflake-managed network rules です。
見た目はかなり地味なんですが、Snowflake を日々触っている身としては
「あ、これは助かるやつだ…!」 と心の中でガッツポーズした機能でもあります。
Snowflake を外部 SaaS と組み合わせて使うとき、
IP アドレスの許可設定がとにかく面倒。なのに重要! という場面がずっとありました。
そこで登場したのが managed network rules。
一言で言えば、
外部 SaaS の IP 管理を Snowflake 側に任せられるようにする仕組み
です。
Modern Data Stack の構成が一般的となり、
様々な SaaS と Snowflake を組み合わせるのが当たり前になった今、
この仕組みはかなり時代に合った機能だと感じています。
本記事では、Snowflake-managed network rules の概要と、
実際に Power BI を使って検証した結果を紹介していきます。
この記事は、NTTデータ Snowflakeアドベントカレンダーの9日目です。
2. Snowflake-managed network rules の概要
Snowflake-managed network rules は、Snowflake が管理・更新する
外部 SaaS の IP / CIDR / ドメインの集合(ネットワークルール) を提供する機能です。
ユーザーは network policy にこの rule 名を指定するだけで、
常に最新のSaaSの IP 許可リストを適用できます。
対応サービス(2025年時点)
本記事を執筆した2025/12時点で、対応しているサービスは以下の通りです。
- dbt Platform
- Microsoft Power BI
- Qlik
- Tableau
- GitHub Actions
サービス側の IP 更新は Snowflake が自動反映するため、
ユーザーが差分を追従する必要はありません。
3. なぜ必要なのか?背景と課題
Modern Data Stack 化により、Snowflake と外部 SaaS の連携が増加しました。
その一方で、次のような課題がありました。
外部サービスの IP 登録が手間だった
- SaaS の公開 IP リストを収集して登録
- CIDR ミスで通信断・広げすぎるとセキュリティリスク
- SaaS が増えるほど管理対象が肥大化
IP の更新を追い続ける必要があった
SaaS の IP は意外と頻繁に変更されるため、
- 公開 IP の定期チェック
- Snowflake 側への手動反映
- 漏れがあると通信不可 or セキュリティホール
と、運用負荷が大きい領域でした。
Power BI は特に負荷が大きかった
Microsoft が公開する巨大な IP リスト JSON を追い続ける必要があり、
追従を諦め、通信不可が発生してから対応するケースすらありました。
4. managed network rules が解決すること
managed network rules を使うことで、
- SaaS の IP 収集 → 不要
- IP 更新の監視 → 不要
- Snowflake 内のルール指定だけで OK
- Power BI の変動 IP にも自動対応
となり、外部 SaaS と Snowflake の接続管理を大幅に簡素化できます。
5. Power BI × managed network rules 接続検証
ここからは、実際に managed network rules を利用し、
Power BI Desktop / Service の接続挙動を確認した検証内容を紹介します。
5.1. Power BI 接続専用ロールの作成
Power BI から Snowflake に接続する際に使用するロールを作成します。
USE ROLE SECURITYADMIN;
CREATE ROLE IF NOT EXISTS ROLE_ADVENT_PBI;
5.2. 検証リソースの作成
Power BI が参照するための基本リソースを準備します。
USE ROLE SYSADMIN;
CREATE WAREHOUSE IF NOT EXISTS WH_ADVENT_PBI
WAREHOUSE_SIZE = 'XSMALL'
AUTO_SUSPEND = 60
AUTO_RESUME = TRUE;
CREATE DATABASE IF NOT EXISTS ADVENT_DB;
CREATE SCHEMA IF NOT EXISTS ADVENT_DB.ADVENT_SCHEMA;
5.3. ロールへの権限付与
専用ロールに対してリソース利用権限を付与します。
USE ROLE SECURITYADMIN;
GRANT USAGE ON WAREHOUSE WH_ADVENT_PBI TO ROLE ROLE_ADVENT_PBI;
GRANT USAGE ON DATABASE ADVENT_DB TO ROLE ROLE_ADVENT_PBI;
GRANT USAGE ON SCHEMA ADVENT_DB.ADVENT_SCHEMA TO ROLE ROLE_ADVENT_PBI;
GRANT SELECT, INSERT, UPDATE, DELETE
ON FUTURE TABLES IN SCHEMA ADVENT_DB.ADVENT_SCHEMA
TO ROLE ROLE_ADVENT_PBI;
5.4. Power BI 接続用ユーザ作成 → PAC 発行
Power BI Desktop / Service の両方から接続するための Snowflake ユーザを作成します。
認証に利用する PAT を発行します。
CREATE USER IF NOT EXISTS USER_ADVENT_PBI
TYPE = SERVICE
LOGIN_NAME = 'USER_ADVENT_PBI'
DEFAULT_ROLE = ROLE_ADVENT_PBI
DEFAULT_WAREHOUSE = WH_ADVENT_PBI;
GRANT ROLE ROLE_ADVENT_PBI TO USER USER_ADVENT_PBI;
ALTER USER IF EXISTS USER_ADVENT_PBI ADD PROGRAMMATIC ACCESS TOKEN pbi_token
DAYS_TO_EXPIRY = 365
ROLE_RESTRICTION = 'ROLE_ADVENT_PBI';
5.5. network policy 設定(社内 IP のみ許可)
最初は社内 IP のみ許可しておきます。
CREATE NETWORK POLICY NP_ADVENT_PBI
ALLOWED_NETWORK_RULE_LIST = ('<社内IPのnetwork rule>');
ALTER USER USER_ADVENT_PBI
SET NETWORK_POLICY = NP_ADVENT_PBI;
5.6. 検証用テーブル MERRY_CHRISTMAS の作成
接続確認用データとして利用するテーブルです。
USE ROLE SYSADMIN;
USE WAREHOUSE WH_ADVENT_PBI;
USE DATABASE ADVENT_DB;
USE SCHEMA ADVENT_SCHEMA;
CREATE OR REPLACE TABLE MERRY_CHRISTMAS (
COL1 STRING,
COL2 STRING
);
INSERT INTO MERRY_CHRISTMAS (COL1, COL2)
VALUES ('MERRY', 'CHRISTMAS');
5.7. Power BI Desktop による接続とレポート作成
Power BI Desktop からの接続は社内IPによる接続となるため成功し、レポート作成まで問題なく行えました。
接続時に設定した項目
| 項目 | 設定値 |
|---|---|
| Server | <account>.<region>.snowflakecomputing.com |
| Warehouse | WH_ADVENT_PBI |
| 認証方法 | Snowflake |
| ユーザー名 | USER_ADVENT_PBI |
| パスワード | 発行したPATを入力 |



接続完了。

DirectQuery を選択し、シンプルなテーブルを配置したレポートを作成。


作成した PBIX は Power BI Service にインポートしました。
5.8. Desktop は成功するが Service は失敗
Service でレポートを開くと、IP 20.43.65.231 からの接続が許可されていないため接続エラーとなりました。

Snowflake 側のログイン履歴でも、Azure IP が network policy により拒否されていることが確認できます。
SELECT
EVENT_TIMESTAMP,
USER_NAME,
CLIENT_IP,
IS_SUCCESS,
ERROR_MESSAGE
FROM TABLE(INFORMATION_SCHEMA.LOGIN_HISTORY())
ORDER BY EVENT_TIMESTAMP DESC
LIMIT 20;

5.9. managed network rules を確認
ここから、Power BI Service の IP を許可するために必要な managed rule を確認します。
USE ROLE SECURITYADMIN;
SHOW NETWORK RULES IN SCHEMA SNOWFLAKE.NETWORK_SECURITY;

詳細確認:
SELECT NAME, OWNER, CREATED, LAST_ALTERED, MODE, TYPE, VALUE_LIST
FROM SNOWFLAKE.ACCOUNT_USAGE.NETWORK_RULES
WHERE DATABASE = 'SNOWFLAKE'
AND SCHEMA = 'NETWORK_SECURITY'
AND NAME LIKE 'POWERBI%';

POWERBI_JAPANEAST_AZURE の VALUE_LIST の中に、実際に拒否されていた接続元 IP「20.43.65.231」 が含まれていました
→ managed rule が最新の Power BI Service の IP レンジを保持していることを確認
また、CREATED と LAST_ALTERED で差があるルールも存在し、
Snowflake が managed rule を 継続的に自動更新している ことがうかがえました。
Power BI 側 UI によるホームリージョン確認
Power BI Service のホームリージョンは 東日本(東京・埼玉) であることも確認でき、
今回利用すべき managed rule は POWERBI_JAPANEAST_AZURE であると判断しました。

5.10. network policy に managed rule を追加
Power BI Service の Azure IP を許可するよう policy を更新します。
USE ROLE SECURITYADMIN;
ALTER NETWORK POLICY NP_ADVENT_PBI
ADD ALLOWED_NETWORK_RULE_LIST = (
'SNOWFLAKE.NETWORK_SECURITY.POWERBI_JAPANEAST_AZURE'
);
5.11. 再読み込み → Service 接続成功
network policy 更新後、Power BI Service の接続は正常に成功しました!

INSERT INTO MERRY_CHRISTMAS (COL1, COL2)
VALUES ('HAPPY', 'NEWYEAR');
レポート側にも反映されることを確認。

5.12. 検証まとめ
- Desktop → 問題なし
- Service → network policy により拒否
- managed rule 追加後 → Service も成功
- VALUE_LIST に実 IP が含まれていた
- Snowflake が継続的に rule を更新していることも確認
特に 変動 IP を Snowflake が自動管理してくれるメリット は非常に大きいと感じます。
6. 今後の展望:よりシンプルなネットワーク管理へ
Snowflake-managed network rules は、Snowflake の思想である
「複雑さは Snowflake が引き受け、ユーザーはよりシンプルに使えるようにする」
という理念をネットワーク領域に広げる取り組みです。
今後期待したいポイント:
- 対応 SaaS の拡充(特に Fivetran などModern Data Stackのサービス)
- サービス ID / API ID ベースの制御への進化
- SaaS 間の信頼関係を Snowflake が仲介するモデルの登場
これらが実現すれば、
ユーザーは「どのサービスをつなぐか」だけを考えればよい
“つなげば動く、安全でシンプルなデータ基盤” に近づきます。
managed network rules は、その未来に向けた確かな一歩です。
7. まとめ
Snowflake-managed network rules により、
外部 SaaS の変動 IP 管理という大きな負荷から解放され、
より安全でシンプルなネットワーク制御が実現しつつあります。
Power BI との検証でも、Snowflake が最新の IP 情報を保持し自動更新していることが確認でき、
クラウドサービス連携の運用において強力な武器となることが分かりました。
今後の対応サービス拡充にも期待しつつ、
実運用でも積極的に活用していきたい機能です。
NTT DATA公式アカウントです。 技術を愛するNTT DATAの技術者が、気軽に楽しく発信していきます。 当社のサービスなどについてのお問い合わせは、 お問い合わせフォーム nttdata.com/jp/ja/contact-us/ へお願いします。