ネットワークポリシー

ネットワークポリシーは、Snowflakeサービスにネットワーク構成を管理するためのオプションを提供します。

現在、ネットワークポリシーでは、ユーザー IP アドレスに基づいてアカウントへのアクセスを制限できます。事実上、ネットワークポリシーを使用すると、 IP ホワイトリスト 、および必要に応じて IP ブラックリスト を作成できます。

アカウントレベルのネットワークポリシー管理は、ウェブインターフェイスまたは SQL を介して実行できます。

ユーザーレベルのネットワークポリシー管理は、 SQL を使用して形成できます。

ユーザーがアカウントレベルとユーザーレベルの両方のネットワークポリシーに関連付けられている場合、ユーザーレベルのポリシーが優先されます。

注釈

ネットワークポリシーを作成、変更、またはドロップできるのは、アカウント管理者とセキュリティ管理者(つまり、 ACCOUNTADMIN または SECURITYADMIN ロールを持つユーザー)のみです。

このトピックの内容:

概要

デフォルトでは、Snowflakeはユーザーが任意のコンピューターまたはデバイス IP アドレスからサービスに接続できるようにします。セキュリティ管理者(またはそれ以上)は、単一の IP アドレスまたはアドレスのリストへのアクセスを許可または拒否するネットワークポリシーを作成できます。ネットワークポリシーは現在、 IPv4 (インターネットプロトコルバージョン4)アドレスのみをサポートしています。

重要

ウェブインターフェイスを使用してネットワークポリシーを作成または編集する場合は、 ネットワークポリシープロパティ を一重引用符で囲む必要はありません。ただし、 SQL を使用する場合は、ネットワークポリシープロパティを一重引用符で囲む必要があります。

詳細については、 CREATE NETWORK POLICYALTER NETWORK POLICYALTER ACCOUNT、 および ALTER USER をご参照ください。

ネットワークポリシーのプロパティ

ネットワークポリシーは、次のプロパティで構成されます。

許可された IPs

(必須)

Snowflakeアカウントへのアクセスが許可されている IPv4 アドレスのリスト(オプションのサブネットを含む)。

ブロックされた IPs

(オプション)

Snowflakeアカウントへのアクセスを拒否されている IPv4 アドレスのリスト(オプションのサブネットを含む)。許可された IP リストに含まれていないアドレスは自動的にブロックされるため、このリストは不要です。ブロックされた IP リストは、主に許可された IP リスト内のアドレス範囲内の特定のアドレスを拒否するために使用されます。

両方のアドレスリストは、次の形式のコンマ区切りの文字列として表されます。

IPアドレス[/サブネット] , IPアドレス[/サブネット] , ...

ネットワークポリシーに指定できるプロパティの詳細については、 CREATE NETWORK POLICY をご参照ください。

CIDR 表記

Snowflakeは、 CIDR (クラスレスドメイン間ルーティング)表記を使用した IP アドレスの範囲の指定をサポートしています。CIDR 表記では、オプションのサブネットはプレフィックス長を表す10進数として表されます。

IPアドレス[/プレフィックス長]

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

許可/ブロックされたアドレスリストの例

次の例では、 CIDR 表記を使用して、明示的にブロックされている 192.168.1.99 を除く 192.168.1.0 から 192.168.1.255 の範囲内のすべての IP アドレスを許可します。さらに、他のすべての IP アドレスがブロックされます。

- Allowed IP Addresses: 192.168.1.0/24
- Blocked IP Addresses: 192.168.1.99

次の例では、 192.168.1.0 および 192.168.1.100 IP アドレスのみがアカウントにアクセスできます。

- Allowed IP Addresses: 192.168.1.0,192.168.1.100
- Blocked IP Addresses: N/A

ネットワークポリシーのアクティブ化

アカウントレベルでネットワークポリシーを有効にするには、 ALTER ACCOUNT を使用して、アカウントの NETWORK_POLICY パラメーターを設定します。

個々のユーザーのネットワークポリシーをアクティブにするには、 ALTER USER を使用して、ユーザーの NETWORK_POLICY パラメーターを設定します。

ネットワークポリシーのバイパス

DESCRIBE USER を実行して表示できるユーザーオブジェクトプロパティ MINS_TO_BYPASS_NETWORK_POLICY を構成することにより、設定された分数の間ネットワークポリシーを一時的にバイパスすることが可能です。このオブジェクトプロパティの値を設定できるのはSnowflakeだけです。このプロパティの値を設定するには、Snowflakeサポートに連絡してください。

アカウントレベルのネットワークポリシーの管理

アカウントレベルのネットワークポリシーの作成

ウェブインターフェイスまたは SQL を使用してネットワークポリシーを作成できます。

ウェブインターフェイス

Account Account tab » Policies をクリックします

SQL

CREATE NETWORK POLICY ステートメントを実行します。

ウェブインターフェイスで、

  1. Policies ページが表示されます

    Snowflake Policies page
  2. Create ボタンをクリックします。 Create Network Policy ダイアログが表示されます。

    Snowflake Create Network Policy dialog
  3. Name フィールドに、ネットワークポリシーの名前を入力します。

  4. Allowed IP Addresses フィールドに、このSnowflakeアカウントへのアクセスを許可する1つ以上の IPv4 アドレスをコンマで区切って入力します。

    注釈

    特定のアドレスセット 以外 のすべての IP アドレスをブロックするには、許可された IP アドレスリストのみを定義する必要があります。Snowflakeは、許可リストに含まれていないすべての IP アドレスを自動的にブロックします。

  5. Blocked IP Addresses フィールドに、オプションで、このSnowflakeアカウントへのアクセスを拒否される1つ以上の IPv4 アドレスをコンマで区切って入力します。このフィールドは必須ではなく、許可リストのアドレス範囲内にある特定のアドレスを拒否するために主に使用します。

    ご用心

    • ネットワークポリシーに許可されたIPアドレスとブロックされた IP アドレスリストの両方の値が含まれている場合、Snowflakeは最初に ブロックされた IP アドレスリストを適用します。

    • ブロックされた IP アドレスリストには、 0.0.0.0/0 を追加 しない でください。 0.0.0.0/0 は、「ローカルマシン上のすべての IPv4 アドレス」と解釈されます。Snowflakeはこのリストを最初に解決するため、これによりユーザー自身のアクセスがブロックされます。また、許可された IP アドレスリストにこの IP アドレスを含める必要はありません。

  6. 必要に応じて、ネットワークポリシーの他の情報を入力し、 Finish をクリックします。Snowflakeは成功メッセージを表示します。

ネットワークポリシーを作成したら、Snowflakeがポリシーを実施する前にアクティブ化する必要があります。詳細については、 アカウントレベルのネットワークポリシーのアクティブ化 (このトピック)をご参照ください。

注釈

ネットワークポリシーをアクティブにするには、現在の IP アドレスを Allowed IP Addresses リストに含める必要があります。そうでない場合、 Activate ボタンをクリックするとエラーが返されます。また、現在の IP アドレスを Blocked IP Addresses リストに含めることはできません。

アカウントレベルのネットワークポリシーのアクティブ化

ネットワークポリシーを作成したら、Snowflakeがポリシーを実施する前に、アカウントに関連付けてアクティブ化する必要があります。

ポリシーがアカウントに関連付けられると、Snowflakeは許可された IP アドレスリストとブロックされた IP アドレスリストに基づいて、アカウントへのアクセスを制限します。ルールによって制限されている IP アドレスからログインしようとするユーザーは、アクセスを拒否されます。さらに、ネットワークポリシーがアカウントに関連付けられている場合、既にSnowflakeにログインしている制限されたユーザーは、それ以上のクエリを実行できません。

セキュリティ管理者(またはそれ以上)は、複数のネットワークポリシーを作成できます。ただし、一度に1つのネットワークポリシーのみをアカウントに関連付けることができます。ネットワークポリシーをアカウントに関連付けると、現在関連付けられているネットワークポリシー(存在する場合)は自動的に削除されます。

ウェブインターフェイスまたは SQL を使用して、ネットワークポリシーをアカウントに関連付けることができます。

ウェブインターフェイス

Account Account tab » Policies をクリックします

SQL

NETWORK_POLICY アカウントパラメーターを使用してネットワークポリシーを設定する ALTER ACCOUNT ステートメントを実行します。

ウェブインターフェイスで、

  1. ポリシーをクリックして選択し、右側のサイドパネルに入力します。

    Snowflake Policies page
  2. 右側のパネルの Activate ボタンをクリックします。Snowflakeは成功メッセージを表示します。

アカウントレベルのネットワークポリシーの変更

ネットワークポリシーは、ウェブインターフェイスまたは SQL を使用して変更できます。具体的には、許可およびブロックされたアドレスのリストから IP アドレスを追加または削除します。

ウェブインターフェイス

Account Account tab » Policies をクリックします

SQL

ALTER NETWORK POLICY ステートメントを実行します。

ウェブインターフェイスで、

  1. ポリシーをクリックして選択し、右側のサイドパネルに入力します。

    Snowflake Policies page
  2. 右側のパネルの Edit ボタンをクリックします。

    Snowflake network policy edit panel
  3. 必要に応じてフィールドを変更します。

    • Allowed IP Addresses または Blocked IP Addresses リストから IP アドレスを削除するには、エントリの横にある x をクリックします。

    • いずれかのリストに IP アドレスを追加するには、適切なフィールドに1つ以上のコンマ区切りの IPv4 アドレスを入力し、 Add ボタンをクリックします。

  4. Save をクリックします。Snowflakeは成功メッセージを表示します。

アカウントレベルのネットワークポリシーの表示

ウェブインターフェイスまたは SQL を使用して、アカウントのネットワークポリシーに関する情報を表示できます。

ウェブインターフェイス

Account Account tab » Policies » <ポリシー名> をクリックします

SQL

次のステートメントのいずれかを実行します。

ロールへのネットワークポリシー権限の付与

次のネットワークポリシー権限をロールに付与できます。

  • ネットワークポリシーの作成

  • ネットワークポリシーの削除

  • ネットワークポリシーの変更

ロールの所有者は、ネットワークポリシーの権限をロールに付与した後、将来の使用のために新しいネットワークポリシーを設定したり、使用されなくなった既存のネットワークポリシーを廃止したりするなど、ネットワークポリシーでネットワーク管理操作を実行できます。

ネットワークポリシー権限をロールに付与するには、ウェブインターフェイスまたは SnowSQLで次の SQL ステートメントを実行します。

grant create network policy on account to role my_role;

ユーザーレベルのネットワークポリシーの管理

ユーザーレベルのネットワークポリシーはアカウントレベルのネットワークポリシーより優先され、ユーザーレベルのネットワークポリシーの管理は SQL を使用して実行できます。

ユーザーレベルのネットワークポリシーの作成

CREATE NETWORK POLICY ステートメントを実行することにより、 SQL を使用してユーザーレベルのネットワークポリシーを作成できます。

ネットワークポリシーを作成した後、Snowflakeがそのポリシーを実施する前にアクティブ化する必要があります。詳細については、 ユーザーレベルのネットワークポリシーのアクティブ化 (このトピック内)をご参照ください。

注釈

ネットワークポリシーをアクティブにするには、現在の IP アドレスを Allowed IP Addresses リストに含める必要があります。また、現在の IP アドレスを Blocked IP Addresses リストに含めることはできません。

ユーザーレベルのネットワークポリシーのアクティブ化

ネットワークポリシーを作成したら、Snowflakeがポリシーを実施する前に、ユーザーに関連付けてアクティブ化する必要があります。

ポリシーがユーザーに関連付けられると、Snowflakeは許可された IP アドレスリストとブロックされた IP アドレスリストに基づいて、ユーザーへのアクセスを制限します。有効化されたユーザーレベルのネットワークポリシーを持つユーザーが、ルールによって制限されている IP アドレスからログインしようとすると、そのユーザーはSnowflakeへのアクセスを拒否されます。

さらに、ユーザーレベルのネットワークポリシーがユーザーに関連付けられていて、ユーザーがすでにSnowflakeにログインしている場合、ユーザーの IP アドレスがユーザーレベルのネットワークポリシールールに一致しないと、Snowflakeはユーザーがそれ以上クエリを実行できないようにします。

セキュリティ管理者(またはそれ以上)は、複数のネットワークポリシーを作成できます。ただし、一度に1つのネットワークポリシーのみをユーザーに関連付けることができます。ネットワークポリシーをユーザーに関連付けると、現在関連付けられているネットワークポリシー(存在する場合)は自動的に削除されます。

個々のユーザーのネットワークポリシーをアクティブにするには、 ALTER USER を使用して、ユーザーの NETWORK_POLICY パラメーターを設定します。

ユーザーレベルのネットワークポリシーの変更

ALTER NETWORK POLICY ステートメントを実行することにより、 SQL を使用してネットワークポリシーを変更できます。

ユーザーレベルのネットワークポリシーの表示

次のいずれかのステートメントを実行すると、 SQL を使用してユーザーのネットワークポリシーに関する情報を表示できます。

ユーザーに対するユーザーレベルのネットワークポリシー権限の付与

ネットワークポリシー権限をユーザーに付与することはできません。