【Snowflake】Snowflake ~ ネットワークポリシー ~

■ はじめに

Snowflake の ネットワークポリシー(Network policy)について
触れたので、メモ。

難しいのかなっと思ったが、シンプルで結構簡単に理解できた。

目次

【1】ネットワークポリシー
【2】SQL文
 1)CREATE NETWORK POLICY
 2)ALTER ACCOUNT
 3)ALTER NETWORK POLICY
【3】コマンド
 1)SHOW NETWORK POLICIES
 2)DESCRIBE NETWORK POLICY

【1】ネットワークポリシー

ネットワークポリシー(Network policy)により、
Snowflake への アクセス許可・ブロックを行うことができる

https://docs.snowflake.com/ja/user-guide/network-policies.html

【2】SQL

1)CREATE NETWORK POLICY

https://docs.snowflake.com/ja/sql-reference/sql/create-network-policy.html

-- ネットワークポリシーの作成
create network policy mypolicy1
  allowed_ip_list=('192.168.1.0/24')
  blocked_ip_list=('192.168.1.99')
  COMMENT = 'This is just a sample network policy'
;

補足:Web UIからのGUI操作

* Web UIからのGUI操作も可能。
 => 詳細は、以下の公式ドキュメントを参照のこと

https://docs.snowflake.com/ja/user-guide/network-policies.html#creating-network-policies

2)ALTER ACCOUNT

https://docs.snowflake.com/ja/sql-reference/sql/alter-account.html

ALTER ACCOUNT = アカウント情報を変更
だが、ネットワークポリシーの紐づけに使用する

https://docs.snowflake.com/ja/sql-reference/sql/alter-account.html#examples

-- アカウントからネットワークポリシーを関連付ける
alter account set network_policy = mypolicy1;

-- アカウントからネットワークポリシーの関連付けを削除
alter account unset network_policy;

3)ALTER NETWORK POLICY

https://docs.snowflake.com/ja/sql-reference/sql/alter-network-policy.html

-- ネットワークポリシーの変更
alter network policy mypolicy1
  set
    allowed_ip_list=('192.168.1.0/24','192.168.255.100')
    blocked_ip_list=('192.168.1.99')
;

【3】コマンド

* いつも通り、show/desc で、、、

1)SHOW NETWORK POLICIES

https://docs.snowflake.com/ja/sql-reference/sql/show-network-policies.html

-- ネットワークポリシー一覧表示
SHOW NETWORK POLICIES;

+-------------------------------+----------+---------+----------------------------+----------------------------+
| created_on                    | name     | comment | entries_in_allowed_ip_list | entries_in_blocked_ip_list |
|-------------------------------+----------+---------+----------------------------+----------------------------|
| 2016-04-29 13:22:34.034 -0700 | Policy1  |         |                          2 |                          1 |
| 2016-04-28 17:31:59.269 -0700 | Policy2  |         |                          1 |                          0 |
+-------------------------------+----------+---------+----------------------------+----------------------------+

-- LIKE 指定はない!?

補足:Web UIからのGUI操作

* 詳細(DESCRIBE)も含めて、Web UIからのGUI操作も可能。
 => [Account]-[Policies]から確認可能
 => 詳細は、以下の公式ドキュメントを参照のこと

https://docs.snowflake.com/ja/user-guide/network-policies.html#viewing-network-policies

2)DESCRIBE NETWORK POLICY

https://docs.snowflake.com/ja/sql-reference/sql/desc-network-policy.html

desc network policy mypolicy1;

+-----------------+----------------+
| name            | value          |
|-----------------+----------------|
| ALLOWED_IP_LIST | 192.168.1.0/24 |
| BLOCKED_IP_LIST | 192.168.1.99   |
+-----------------+----------------+

参考文献

https://blog.serverworks.co.jp/snowflake-restrict-source-ip-via-network-policy

関連記事

Snowflake ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/02/130111
Snowflake ~ 基本編 / ステージ ~
https://dk521123.hatenablog.com/entry/2022/09/01/220643
Snowflake ~ 基本編 / データロード ~
https://dk521123.hatenablog.com/entry/2021/11/15/221245
Snowflake ~ ウェアハウス / Warehouse ~
https://dk521123.hatenablog.com/entry/2022/12/04/000000
Snowflake ~ ウェアハウス負荷監視 ~
https://dk521123.hatenablog.com/entry/2022/12/06/191727