NTT DATA TECH
🙆‍♀️

地味だけど待望!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 TECH
NTT DATA TECH
設定によりコメント欄が無効化されています