概要
Microsoft Fabric の Data Factory から Snowflake へアクセスする際の PUBLIC IP RANGE に関する調査結果を共有します。Microsoft Fabric 側からのアクセス元は DataFactory.{リージョン} の IP Range となるため、該当する IP Range を Snowflake のネットワークポリシーに追加する必要があります。
Microsoft Fabric の Data Factory からのアウトバウンドが DataFactory であることは、下記のドキュメントに記載されているようです。一方で、この記載は抽象度が高く、読み取り方によって解釈が分かれる可能性があります。そのため、筆者の理解に誤りがある可能性もあります。
出所: サービス タグ - Microsoft Fabric | Microsoft Learn
検証前は、Power BI の Snowflake マネージドネットワークルールに含まれている可能性を想定していましたが、現時点ではユーザー側で IP Range を設定する必要があることを確認しました。なお、Power BI の接続に関して Snowflake 側で管理できる点は運用上有用であり、同様の仕組みが Data Factory にも適用されることを筆者は望んでいます。
出所: ネットワークルール | Snowflake Documentation
手順
Snowflake にユーザーを作成
ロールを作成します。
USE ROLE SECURITYADMIN;
CREATE ROLE IF NOT EXISTS ROLE_FABRIC_PBI_TEST;
Warehouse、データベース、および、スキーマを作成します。
USE ROLE SYSADMIN;
CREATE WAREHOUSE IF NOT EXISTS WH_FABRIC_PBI_TEST
WAREHOUSE_SIZE = 'XSMALL'
AUTO_SUSPEND = 60
AUTO_RESUME = TRUE;
CREATE DATABASE IF NOT EXISTS FABRIC_TEST_DB;
CREATE SCHEMA IF NOT EXISTS FABRIC_TEST_DB.SCHEMA_01;
ロールに対して権限を付与します。
USE ROLE SECURITYADMIN;
GRANT USAGE ON WAREHOUSE WH_FABRIC_PBI_TEST TO ROLE ROLE_FABRIC_PBI_TEST;
GRANT USAGE ON DATABASE FABRIC_TEST_DB TO ROLE ROLE_FABRIC_PBI_TEST;
GRANT USAGE ON SCHEMA FABRIC_TEST_DB.SCHEMA_01 TO ROLE ROLE_FABRIC_PBI_TEST;
GRANT CREATE TABLE ON SCHEMA FABRIC_TEST_DB.SCHEMA_01 TO ROLE ROLE_FABRIC_PBI_TEST;
GRANT SELECT ON ALL TABLES IN SCHEMA FABRIC_TEST_DB.SCHEMA_01 TO ROLE ROLE_FABRIC_PBI_TEST;
GRANT SELECT
ON FUTURE TABLES IN SCHEMA FABRIC_TEST_DB.SCHEMA_01
TO ROLE ROLE_FABRIC_PBI_TEST;
USE ROLE ROLE_FABRIC_PBI_TEST;
USE WAREHOUSE WH_FABRIC_PBI_TEST;
USE DATABASE FABRIC_TEST_DB;
USE SCHEMA SCHEMA_01;
CREATE OR REPLACE TABLE TABLE_01 (
ID INT,
NAME STRING,
TS TIMESTAMP_NTZ
);
INSERT INTO TABLE_01 (ID, NAME, TS)
VALUES
(1, 'Alice', CURRENT_TIMESTAMP());
ユーザーを作成します。
USE ROLE SECURITYADMIN;
CREATE USER IF NOT EXISTS USER_FABRIC_PBI_TEST
PASSWORD = $$ReplaceWithStrongPassword12345$$
MUST_CHANGE_PASSWORD = FALSE
DEFAULT_ROLE = ROLE_FABRIC_PBI_TEST
DEFAULT_WAREHOUSE = WH_FABRIC_PBI_TEST;
GRANT ROLE ROLE_FABRIC_PBI_TEST TO USER USER_FABRIC_PBI_TEST;
Power BI の Azure 東日本リージョンからのアクセスを許可するネットワークポリシーを作成し、ユーザーに割り当てます。なお、このネットワークポリシーの付与は、POWERBI_{リージョン}_AZURE のネットワークポリシーに Microsoft Fabric のリソースからのアクセスが含まれているかを検証することを目的としています。
CREATE OR REPLACE NETWORK POLICY NP_FABRIC
ALLOWED_NETWORK_RULE_LIST = ('SNOWFLAKE.NETWORK_SECURITY.POWERBI_JAPANEAST_AZURE');
ALTER USER USER_FABRIC_PBI_TEST
SET NETWORK_POLICY = NP_FABRIC;
パイプラインからのアクセス検証がエラー
Fabric にて接続を作成し、テスト接続を実施するとエラーとなりました。エラーメッセージから、ネットワークポリシーによる制限が原因であることが推測できます。
Test connection operation failed.
Failed to open the database connection.
[Snowflake] 390422 (08004): Incoming request with IP/Token 20.191.165.11 is not allowed to access Snowflake. Contact your account administrator. For more information about this error, go to https://community.snowflake.com/s/ip-xxxxxxxxxxxx-is-not-allowed-to-access.
Data Factory タグの IP アドレスからのアクセスを許可
Snowflake にて Data Factory タグの IP アドレスからのアクセスを許可します。
ALTER NETWORK POLICY NP_FABRIC
SET ALLOWED_IP_LIST = (
'13.78.109.192/28',
'20.43.64.128/25',
'20.43.65.0/26',
'20.43.70.120/29',
'20.191.164.0/24',
'20.191.165.0/26',
'20.210.70.88/29',
'40.79.187.208/28',
'40.79.195.224/28',
'48.210.4.0/27'
);
上記の IP アドレスは 2026年2月11日時点での IP アドレスです。下記のリンク先から json をダウンロードして、 DataFactory の対象リージョンの値をセットしてください。
出所: Download Azure IP Ranges and Service Tags – Public Cloud from Official Microsoft Download Center
Fabric パイプラインの実行
テスト接続が正常終了することを確認します。
下記の SQL を実行するパイプラインを実行すると、想定通りに動作します。
INSERT INTO FABRIC_TEST_DB.SCHEMA_01.TABLE_01 (ID, NAME, TS)
VALUES
(2, 'B', CURRENT_TIMESTAMP());
その他の Data Factory 機能の検証
ミラーリング
STREAM を作成権限を付与後に、想定通りに動作しました。
GRANT CREATE STREAM ON SCHEMA FABRIC_TEST_DB.SCHEMA_01 TO ROLE ROLE_FABRIC_PBI_TEST;
コピージョブ
想定通りに動作しました。





















