CREATE NETWORK POLICY

ネットワークポリシーを作成するか、既存のネットワークポリシーを置き換えます。

注釈

ネットワークポリシーを作成できるのは、セキュリティ管理者(つまり、 SECURITYADMIN ロールを持つユーザー)以上、 または グローバル CREATE NETWORK POLICY 権限のあるロールのみです。

こちらもご参照ください。

ALTER NETWORK POLICYDROP NETWORK POLICYSHOW NETWORK POLICIESDESCRIBE NETWORK POLICY

ALTER ACCOUNT

構文

CREATE [ OR REPLACE ] NETWORK POLICY <name>
   [ ALLOWED_NETWORK_RULE_LIST = ( '<network_rule>' [ , '<network_rule>' , ... ] ) ]
   [ BLOCKED_NETWORK_RULE_LIST = ( '<network_rule>' [ , '<network_rule>' , ... ] ) ]
   [ ALLOWED_IP_LIST = ( [ '<ip_address>' ] [ , '<ip_address>' , ... ] ) ]
   [ BLOCKED_IP_LIST = ( [ '<ip_address>' ] [ , '<ip_address>' , ... ] ) ]
   [ COMMENT = '<string_literal>' ]
Copy

必須パラメーター

name

ネットワークポリシーの識別子。アカウントに対して一意である必要があります。

識別子の値はアルファベット文字で始まる必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例: "My object")。二重引用符で囲まれた識別子も大文字と小文字が区別されます。

詳細については、 識別子の要件 をご参照ください。

オプションのパラメーター

ALLOWED_NETWORK_RULE_LIST = ( 'network_rule' [ , 'network_rule' , ... ] )

Snowflakeへのアクセスを許可されたネットワーク識別子を含んでいる ネットワークルール のリストを指定します。リスト内のネットワークルールの数に制限はありません。

BLOCKED_NETWORK_RULE_LIST = ( 'network_rule' [ , 'network_rule' , ... ] )

Snowflakeへのアクセスを拒否されたネットワーク識別子を含んでいるネットワークルールのリストを指定します。リスト内のネットワークルールの数に制限はありません。

ALLOWED_IP_LIST = ( [ ip_address ] [ , 'ip_address' , ... ] )

Snowflakeは、このパラメーターを使用するよりも、ネットワークポリシーと組み合わせてネットワークルールを使用することを推奨します。ALLOWED_NETWORK_RULE_LIST パラメーターを使用して、 IPv4 アドレスを含むネットワークルールを指定します。

Snowflakeアカウントへのアクセスを許可する IPv4 アドレスのリストを指定します。これは 許可リスト と呼ばれます。Snowflakeは、許可リストに含まれていないすべての IP アドレスを自動的にブロックします。

パラメーターが空のリストで指定されている場合、ネットワークポリシーは、 IPv4 アドレスがSnowflakeにアクセスすることを許可 しない ことに注意してください。

BLOCKED_IP_LIST = ( [ ip_address ] [ , 'ip_address' , ... ] )

Snowflakeは、このパラメーターを使用するよりも、ネットワークポリシーと組み合わせてネットワークルールを使用することを推奨します。BLOCKED_NETWORK_RULE_LIST パラメーターを使用して、 IPv4 アドレスを含むネットワークルールを指定します。

Snowflakeアカウントへのアクセスを拒否される IPv4 アドレスのリストを指定します。これは ブロックリスト と呼ばれます。

このパラメーターは、 IP アドレスの範囲(ALLOWED_IP_LIST で指定される)へのアクセスを許可するが、その範囲内の1つ以上の IP アドレスへのアクセスを拒否する場合にのみ設定します。

デフォルト: 値なし(つまり、 ALLOWED_IP_LIST の IP アドレスはブロックされない)

COMMENT = 'string_literal'

ネットワークポリシーのコメントを指定します。

デフォルト: 値なし

アクセス制御の要件

この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。

権限

オブジェクト

メモ

CREATE NETWORK POLICY

アカウント

Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.

指定された権限のセットを使用してカスタムロールを作成する手順については、 カスタムロールの作成 をご参照ください。

セキュリティ保護可能なオブジェクト に対して SQL アクションを実行するためのロールと権限付与に関する一般的な情報については、 アクセス制御の概要 をご参照ください。

使用上の注意

  • 既存のポリシーがアカウント、セキュリティ統合、またはユーザーに現在割り当てられている場合は、 CREATE OR REPLACE NETWORK POLICY コマンドを実行してそのネットワークポリシーを置き換えることはできません。

  • ip_address は、クラスレスドメイン間ルーティング(CIDR)表記を使用してアドレス範囲をカバーできます。

    ip_address[/optional_prefix_length]

    例:

    192.168.1.0/24

  • ネットワークポリシーに ALLOWED_IP_LISTBLOCKED_IP_LIST の両方の値が含まれている場合、Snowflakeは最初に ブロックリスト を適用します。

  • 0.0.0.0/0BLOCKED_IP_LIST に追加 しないでください。Snowflakeはブロックされたリストを最初に適用するため、ユーザー自身のアクセスがブロックされます。さらに、選択リストを除くすべての IP アドレスをブロックするには、IP アドレスを ALLOWED_IP_LIST に追加するだけですみます。Snowflakeは、許可リストに含まれていないすべての IP アドレスを自動的にブロックします。

  • ALLOWED_IP_LIST リストの最大文字数は100,000です。この文字制限を超えると、Snowflakeはエラーメッセージを返します。

  • ネットワークポリシーを作成した後、Snowflakeがポリシーを実施する前に、それをアカウントに関連付ける必要があります。SECURITYADMIN ロール(またはそれ以上)を持つユーザーが実行する必要がある ALTER ACCOUNT コマンドを使用して、アカウントにポリシーを関連付けることができます。

    例:

    USE ROLE SECURITYADMIN;
    
    ALTER ACCOUNT SET NETWORK_POLICY = <policy_name>;
    
    Copy

    詳細については、 パラメーター管理 をご参照ください。現在、 SECURITYADMIN ロールを持つユーザーが設定できるアカウントパラメータは NETWORK_POLICY のみです。

  • ネットワークポリシーをアカウントに関連付ける前に、現在の IP アドレスを ALLOWED_IP_LIST に含める必要があります。そうでない場合、 ALTER ACCOUNT コマンドはエラーを返します。また、現在の IP アドレスを BLOCKED_IP_LIST に含めることはできません。

  • メタデータについて。

    注意

    Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。

  • CREATE OR REPLACE <オブジェクト> ステートメントはアトミックです。つまり、オブジェクトが置き換えられると、単一のトランザクションで、古いオブジェクトが削除されて新しいオブジェクトが作成されます。

次のプロパティを使用して、 mypolicy1 という名前のネットワークポリシーを作成します。

  • 明示的にブロックされている 192.168.1.99 を除き、 192.168.1.0 から 192.168.1.255 (CIDR 表記 192.168.1.0/24 経由)の範囲にある IP アドレスすべてを許可します。

  • 他のすべての IP アドレスを拒否します。

CREATE NETWORK POLICY mypolicy1 ALLOWED_IP_LIST=('192.168.1.0/24')
                                BLOCKED_IP_LIST=('192.168.1.99');

DESC NETWORK POLICY mypolicy1;
Copy
+-----------------+----------------+
| name            | value          |
|-----------------+----------------|
| ALLOWED_IP_LIST | 192.168.1.0/24 |
| BLOCKED_IP_LIST | 192.168.1.99   |
+-----------------+----------------+

IP アドレス 192.168.1.0 および 192.168.1.100 のみがアカウントにアクセスできるようにする、 mypolicy2 という名前のネットワークポリシーを作成します。

CREATE NETWORK POLICY mypolicy2 ALLOWED_IP_LIST=('192.168.1.0','192.168.1.100');

DESC NETWORK POLICY mypolicy2;
Copy
+-----------------+---------------------------+
| name            | value                     |
|-----------------+---------------------------|
| ALLOWED_IP_LIST | 192.168.1.0,192.168.1.100 |
+-----------------+---------------------------+