[新機能]GitHub Actions などのサードパーティ サービスからのネットワークアクセス制御に使える Snowflake-managed network rules が一般提供となりました
はじめに
2025年10月のリリースで、Snowflake-managed network rules が一般提供となりました。
こちらの機能について試した内容を、本記事でまとめます。
アップデートの概要
Snowflake 利用時は、他 SaaS と連携するのが一般的と思います。例えば、データパイプライン関連では dbt Cloud, GitHub Actions、BI ツールでは Tableau Cloud や PowerBI などが代表的なサードパーティの SaaS として名が挙がると思います。
この際、上記のような SaaS はその稼働する IP 範囲を公開しているケースがありますが、その範囲が広範囲であったり、定期的に更新される可能性があるなど、ネットワークアクセス制御に関して、これまでサードパーティSaaSの IP アドレス変更への対応がセキュリティ管理の負荷となる場面がありました。
Snowflake-managed network rules は、対応するサービスの IP アドレスの変更を自動的に取得し、ビルトインのネットワークルールとして、継続的に更新しながら提供してくれる機能となります。
これにより、ユーザー側は、Snowflake 管理のルールを既存または新規のネットワークポリシーにALLOW_NETWORK_RULE_LIST として追加するだけで、いつでも最新の正確な IP アドレス範囲を適用できるようになります。
執筆時点では、以下の SaaS アプリケーションがサポートされています。
- dbt Platform(旧 dbt Cloud)
- Microsoft Power BI
- Qlik
- Tableau Cloud
- GitHub Actions
また、あわせて Snowflake からの Egress 向けのネットワークルールとしてSNOWFLAKE.EXTERNAL_ACCESS.PYPI_RULEも追加されています。
詳細は以下をご参照ください。
試してみる
Managed network rule の確認
以下では一部省略していますが、Managed network rules は、SNOWFLAKE.NETWORK_SECURITYスキーマから確認できます。
>SHOW NETWORK RULES IN SNOWFLAKE.NETWORK_SECURITY;
+-------------------------------+----------------------------------+---------------+------------------+-----------+---------+------+---------+----------------------+-----------------+
| created_on | name | database_name | schema_name | owner | comment | type | mode | entries_in_valuelist | owner_role_type |
|-------------------------------+----------------------------------+---------------+------------------+-----------+---------+------+---------+----------------------+-----------------|
| 2025-10-29 16:19:00.974 +0900 | DBT_APAC_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 3 | APPLICATION |
| 2025-10-29 16:19:01.182 +0900 | DBT_EMEA_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 3 | APPLICATION |
| 2025-10-29 16:19:01.378 +0900 | DBT_EMEA_AZURE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:19:01.580 +0900 | DBT_EMEA_GCP | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:19:01.797 +0900 | DBT_JAPAN_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 3 | APPLICATION |
| 2025-10-29 16:19:01.998 +0900 | DBT_NORTHAMERICA_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 6 | APPLICATION |
| 2025-10-29 16:19:02.204 +0900 | DBT_NORTHAMERICA_AZURE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:19:02.408 +0900 | DBT_NORTHAMERICA_GCP | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:19:19.081 +0900 | GITHUBACTIONS_GLOBAL | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 4299 | APPLICATION |
・
・
| 2025-10-29 16:19:07.633 +0900 | POWERBI_EASTASIA_AZURE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 14 | APPLICATION |
| 2025-10-29 16:19:08.260 +0900 | POWERBI_EASTUS2EUAP_AZURE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 12 | APPLICATION |
| 2025-10-29 16:19:08.066 +0900 | POWERBI_EASTUS2_AZURE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 17 | APPLICATION |
| 2025-10-29 16:19:07.844 +0900 | POWERBI_EASTUS_AZURE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 14 | APPLICATION |
| 2025-10-29 16:19:09.047 +0900 | POWERBI_GERMANYN_AZURE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 8 | APPLICATION |
| 2025-10-29 16:19:09.260 +0900 | POWERBI_GERMANYWC_AZURE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 8 | APPLICATION |
| 2025-10-29 16:19:09.462 +0900 | POWERBI_INDONESIACENTRAL_AZURE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 7 | APPLICATION |
| 2025-10-29 16:19:09.785 +0900 | POWERBI_ISRAELCENTRAL_AZURE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 8 | APPLICATION |
・
・
| 2025-10-29 16:19:02.600 +0900 | QLIK_AE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 12 | APPLICATION |
| 2025-10-29 16:19:02.825 +0900 | QLIK_AP | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 12 | APPLICATION |
| 2025-10-29 16:19:03.024 +0900 | QLIK_DE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 12 | APPLICATION |
| 2025-10-29 16:19:03.211 +0900 | QLIK_EU | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 12 | APPLICATION |
| 2025-10-29 16:19:03.413 +0900 | QLIK_IL | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 12 | APPLICATION |
| 2025-10-29 16:19:03.617 +0900 | QLIK_IN | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 12 | APPLICATION |
| 2025-10-29 16:19:03.862 +0900 | QLIK_JP | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 12 | APPLICATION |
| 2025-10-29 16:19:04.060 +0900 | QLIK_SE | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 12 | APPLICATION |
| 2025-10-29 16:19:04.229 +0900 | QLIK_SG | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 12 | APPLICATION |
| 2025-10-29 16:19:04.445 +0900 | QLIK_UK | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 12 | APPLICATION |
| 2025-10-29 16:19:04.635 +0900 | QLIK_US | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 12 | APPLICATION |
| 2025-10-29 16:18:56.808 +0900 | TABLEAU_APNORTHEAST1_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:57.019 +0900 | TABLEAU_APNORTHEAST2_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:57.257 +0900 | TABLEAU_APNORTHEAST3_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:57.460 +0900 | TABLEAU_APSOUTH1_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:57.653 +0900 | TABLEAU_APSOUTH2_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:57.855 +0900 | TABLEAU_APSOUTHEAST1_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:58.059 +0900 | TABLEAU_APSOUTHEAST2_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:58.237 +0900 | TABLEAU_APSOUTHEAST3_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:58.429 +0900 | TABLEAU_CACENTRAL1_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:58.622 +0900 | TABLEAU_EUCENTRAL1_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:58.807 +0900 | TABLEAU_EUCENTRAL2_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:58.977 +0900 | TABLEAU_EUNORTH1_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:59.151 +0900 | TABLEAU_EUSOUTH1_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:59.335 +0900 | TABLEAU_EUWEST2_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:59.512 +0900 | TABLEAU_EUWEST3_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:59.718 +0900 | TABLEAU_ILCENTRAL1_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:18:59.952 +0900 | TABLEAU_MECENTRAL1_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:19:00.139 +0900 | TABLEAU_SAEAST1_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:19:00.360 +0900 | TABLEAU_USEAST1_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:19:00.581 +0900 | TABLEAU_USEAST2_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
| 2025-10-29 16:19:00.778 +0900 | TABLEAU_USWEST2_AWS | SNOWFLAKE | NETWORK_SECURITY | SNOWFLAKE | | IPV4 | INGRESS | 1 | APPLICATION |
+-------------------------------+----------------------------------+---------------+------------------+-----------+---------+------+---------+----------------------+-----------------+
以下は dbt Platform の例ですが、実際に登録されている値も確認できました。
>SELECT *
FROM SNOWFLAKE.ACCOUNT_USAGE.NETWORK_RULES
WHERE DATABASE = 'SNOWFLAKE' AND SCHEMA = 'NETWORK_SECURITY'
->> SELECT NAME, MODE, TYPE, VALUE_LIST FROM $1 WHERE NAME LIKE 'DBT_%';
;
+------------------------+---------+------+----------------------------------------------------------------------------------+
| NAME | MODE | TYPE | VALUE_LIST |
|------------------------+---------+------+----------------------------------------------------------------------------------|
| DBT_EMEA_AZURE | ingress | IPv4 | 20.13.190.192/26 |
| DBT_JAPAN_AWS | ingress | IPv4 | 13.115.236.233,35.76.76.152,54.238.211.79 |
| DBT_NORTHAMERICA_GCP | ingress | IPv4 | 34.33.2.0/26 |
| DBT_EMEA_GCP | ingress | IPv4 | 34.33.2.0/26 |
| DBT_APAC_AWS | ingress | IPv4 | 13.239.155.206,3.106.40.33,52.65.89.235 |
| DBT_NORTHAMERICA_AZURE | ingress | IPv4 | 20.10.67.192/26 |
| DBT_NORTHAMERICA_AWS | ingress | IPv4 | 3.214.191.130,34.233.79.135,52.22.161.231,52.3.77.232,52.45.144.63,54.81.134.249 |
| DBT_EMEA_AWS | ingress | IPv4 | 3.123.45.39,3.126.140.248,3.72.153.148 |
+------------------------+---------+------+----------------------------------------------------------------------------------+
dbt Platform 側でも同じ IP 範囲の記載があります。
検証用ユーザーの作成
ここでは専用のサービスユーザーを作成し、以下のプラットフォームからの Managed network rules による接続を試してみます。
- GitHub Actions
- dbt Platform
サービスユーザーを作成します。
--サービス ユーザーを作成
CREATE OR REPLACE USER test_user
DEFAULT_ROLE = PUBLIC
DEFAULT_SECONDARY_ROLES = ()
TYPE = SERVICE
;
ALTER USER test_user SET RSA_PUBLIC_KEY = 'MII・・・';
ユーザーには、各種権限を付与しておきます。
GitHub Actions
基本的な流れは以下の記事に沿って Snowflake アカウントと GitHub Actions の連携を行いました。
ワークフローは以下のようにしました。
name: Deploy data pipeline
on:
push:
branches:
- main
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
env:
REPO_NAME: "governance.integrations.snowflake_extensions"
SNOWFLAKE_CONNECTIONS_WORKFLOW_ACCOUNT: ${{ secrets.SNOWFLAKE_ACCOUNT }}
SNOWFLAKE_CONNECTIONS_WORKFLOW_USER: ${{ secrets.SNOWFLAKE_USER }}
SNOWFLAKE_CONNECTIONS_WORKFLOW_PRIVATE_KEY_RAW: ${{ secrets.SNOWFLAKE_PRIVATEKEY }}
SNOWFLAKE_CONNECTIONS_WORKFLOW_WAREHOUSE: "compute_wh"
SNOWFLAKE_CONNECTIONS_WORKFLOW_ROLE: "sysadmin"
SNOWFLAKE_CONNECTIONS_WORKFLOW_AUTHENTICATOR: "SNOWFLAKE_JWT"
ENV: "wf"
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install snowflake-cli
uses: Snowflake-Labs/snowflake-cli-action@v1.5
with:
cli-version: "latest"
default-config-file-path: ".snowflake/config.toml"
- name: Get and log current IP address
run: |
CURRENT_IP=$(snow sql -q "select current_ip_address();" --format CSV)
echo "Current Snowflake Access IP Address: $CURRENT_IP"
- name: Fetch repository changes
run: |
set -e
snow git fetch "${REPO_NAME}"
- name: Deploy data pipeline to main
run: |
set -e
snow git execute "@${REPO_NAME}/branches/main/" \
--database governance \
--schema integrations \
--variable "environment='$ENV'"
サービスユーザーに、GitHub Actions 向けのネットワークルールを指定するネットワークポリシーを適用します。
-- ネットワークポリシーを作成
CREATE OR REPLACE NETWORK POLICY github_actions_network_policy ALLOWED_NETWORK_RULE_LIST = (
'SNOWFLAKE.NETWORK_SECURITY.GITHUBACTIONS_GLOBAL'
);
-- ユーザーレベルでポリシーを適用
ALTER USER test_user SET NETWORK_POLICY = github_actions_network_policy;
設定後、ワークフローを実行します。
問題なく実行できました。

この環境での実行時の IP アドレスを確認すると、以下のactionsに含まれる IP アドレスとなっていました。
dbt Platform
同じサービスユーザーでこのまま dbt Platform に接続してみます。この場合、意図した通り、エラーとなります。

サービスユーザーのネットワークルールを dbt Platform のものに変更します。
-- ネットワークポリシーを作成
CREATE OR REPLACE NETWORK POLICY dbt_cloud_northamerica_aws_network_policy ALLOWED_NETWORK_RULE_LIST = (
'SNOWFLAKE.NETWORK_SECURITY.DBT_NORTHAMERICA_AWS'
);
-- ユーザーレベルでポリシーを適用
ALTER USER test_user UNSET NETWORK_POLICY;
ALTER USER test_user SET NETWORK_POLICY = dbt_cloud_northamerica_aws_network_policy;
再度テストすると問題なく接続できました。

さいごに
Snowflake-managed network rules を試してみました。現時点で利用できる範囲ですと、特に GitHub Actions と Power BI サービスは範囲も広く使用場面も多いのではと思います。
こちらの内容が何かの参考になれば幸いです。







