CREATE NETWORK RULE

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

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

ALTER NETWORK RULEDROP NETWORK RULESHOW NETWORK RULESDESCRIBE NETWORK RULE

構文

CREATE [ OR REPLACE ] NETWORK RULE <name>
   TYPE = { IPV4 | AWSVPCEID | AZURELINKID | HOST_PORT }
   VALUE_LIST = ( '<value>' [, '<value>', ... ] )
   MODE = { INGRESS | INTERNAL_STAGE | EGRESS }
   [ COMMENT = '<string_literal>' ]
Copy

必須パラメーター

name

ネットワークルールの識別子。

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

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

TYPE = { IPV4 | AWSVPCEID | AZURELINKID | HOST_PORT }

許可またはブロックされるネットワーク識別子の型を指定します。ネットワークルールは1つの型のみ持つことができます。

  • IPV4 は、ネットワークルールがリクエスト元の IPv4 アドレスに基づいて、 ネットワークトラフィックを許可またはブロックすることを示します。

  • AWSVPCEID は、ネットワークルールが AWS PrivateLink 上のネットワークトラフィックを許可またはブロックすることを示します。

  • AZURELINKIDAzure Private Link 上のネットワークトラフィックを許可またはブロックするネットワークルールを示します。

  • HOST_PORT は、ネットワークルールがリクエスト先のドメインに基づいて、発信ネットワークトラフィックを許可することを示します。

    TYPE = HOST_PORT の場合は、 MODE パラメーターを EGRESS に設定する必要があります。

VALUE_LIST = ( 'value' [, 'value', ... ] )

許可またはブロックされるネットワーク識別子を指定します。

リストの有効な値は、ネットワークルールの型によって決まります。

  • TYPE = IPV4 の場合、各値は有効な IPv4 アドレスか アドレスの範囲 にする必要があります。

  • TYPE = AWSVPCEID の場合、各値は AWS S3エンドポイント の有効な VPCE ID にする必要があります。VPC IDs はサポートされていません。

  • TYPE = AZURELINKID の場合、各値はAzure プライベートエンドポイント の有効な LinkID にする必要があります。 SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS 関数を実行して、アカウントに関連付けられた LinkID を取得します。

  • TYPE = HOST_PORT の場合、各値は有効なドメインにする必要があります。オプションで、ポートまたはポートの範囲を含めることもできます。

    有効なポート範囲は1~65535です。ポートを指定しない場合、デフォルトは443です。外部ネットワークの場所が動的ポートをサポートしている場合は、可能なポートをすべて指定する必要があります。

    すべてのポートへのアクセスを許可するには、ポートを0として定義します。例: company.com:0

MODE = { INGRESS | INTERNAL_STAGE | EGRESS }

ネットワークルールによって制限されるものを指定します。

INGRESS

INGRESS モードの動作は、ネットワークルールの TYPE プロパティの値に依存します。

  • TYPE=IPV4 の場合、デフォルトでネットワークルールはSnowflakeサービスへのアクセスのみを制御します。

    アカウント管理者が ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES パラメーターを有効にした場合、 MODE=INGRESSTYPE=IPV4 は AWS 内部ステージも保護します。

  • TYPE=AWSVPCEID の場合、ネットワークルールはSnowflakeサービスへのアクセスのみを制御します。

INTERNAL_STAGE

Snowflakeサービスへのアクセスを制限することなく、 AWS 内部ステージへのリクエストを許可またはブロックします。このモードを使用するには、以下が必要です。

  • アカウント管理者は ENFORCE_NETWORK_RULES_FOR_INTERNAL_STAGES パラメーターを有効にする必要があります。

  • ネットワークルールの TYPE プロパティは AWSVPCEID にする必要があります。

EGRESS

Snowflakeが外部宛先にリクエストを送信できるようにします。

デフォルト: INGRESS

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

COMMENT = 'string_literal'

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

デフォルト: 値なし

アクセス制御の要件

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

権限

オブジェクト

メモ

CREATE NETWORK RULE

スキーマ

デフォルトでは、 ACCOUNTADMIN と SECURITYADMIN のロールとスキーマ所有者のみがこの権限を持ちます。権限は必要に応じて追加のロールに付与できます。

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

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

使用上の注意

  • ネットワークルールに IP アドレスを指定する場合、Snowflakeは クラスレスドメイン間ルーティング(CIDR)表記 を使用して IP アドレスの範囲をサポートします。

    たとえば、 192.168.1.0/24 は、 192.168.1.0192.168.1.255 の範囲内のすべての IPv4 アドレスを表します。

  • メタデータについて:

    注意

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

AWS S3エンドポイントから内部ステージへのトラフィックを許可またはブロックするためのネットワークルールを作成します。

CREATE NETWORK RULE corporate_network
  TYPE = AWSVPCEID
  VALUE_LIST = ('vpce-123abc3420c1931')
  MODE = INTERNAL_STAGE
  COMMENT = 'corporate privatelink endpoint';
Copy

IP アドレスの範囲からSnowflakeサービスおよび内部ステージへのトラフィックを許可またはブロックするために使用するネットワークルールを作成します。

CREATE NETWORK RULE cloud_network
  TYPE = IPV4
  VALUE_LIST = ('47.88.25.32/27')
  COMMENT ='cloud egress ip range';
Copy

Snowflakeが外部宛先にリクエストを送信するときに、ドメインとドメイン/ポートの組み合わせを許可するために使用するネットワークルールを作成します。

CREATE NETWORK RULE external_access_rule
  TYPE = HOST_PORT
  MODE = EGRESS
  VALUE_LIST = ('example.com', 'company.com:443');
Copy