ネットワークポリシー

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

ネットワークポリシーにより、ユーザー IP アドレスに基づいたアカウントへのアクセス制限ができるようになります。事実上、ネットワークポリシーを使用すると、 IP 許可リスト 、および必要に応じて IP ブロックリスト を作成できます。

このトピックの内容:

概要

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

十分な権限を持つ管理者は、任意の数のネットワークポリシーを作成できます。ネットワークポリシーは、アカウントまたは個々のユーザーレベルで アクティブ化 されるまで有効になりません。ネットワークポリシーをアクティブ化するには、アカウントまたはユーザーのプロパティを変更し、ネットワークポリシーをオブジェクトに割り当てます。アカウントまたは特定のユーザーに一度に割り当てることができるネットワークポリシーは1つだけです。

CIDR 表記

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

ip_address[/prefix_length]

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

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

Snowflakeでは、現在のIPアドレスをブロックするネットワークポリシーを設定することはできません。現在のIPアドレスをブロックするネットワークポリシーを作成しようとすると、エラーメッセージが表示されます。

以下は、Snowflakeネットワークポリシーを使用して許可およびブロックされるIPアドレスの範囲を定義する代表的な例です。

明示的にブロックされている 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
Copy

次の例では、 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
Copy

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

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

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

注釈

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

Snowsight、 Classic Console、または SQL を使用して、ネットワークポリシーを作成できます。

Snowsight
  1. Admin » Security » Network Policies をクリックします。

  2. ページの右上隅にある + Network Policy ボタンをクリックします。 New network policy ダイアログが開きます。

  3. 次のプロパティを指定します。

    プロパティ

    説明

    ポリシー名

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

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

    二重引用符で囲まれた識別子も大文字と小文字が区別されます。

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

    許可された IP アドレス

    Snowflakeアカウントへのアクセスが許可された、1つ以上の IPv4 アドレスのコンマ区切りリスト。これは 許可リスト と呼ばれます。Snowflakeは、許可リストに含まれていないすべての IP アドレスを自動的にブロックします。

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

    詳細については、 CIDR 表記 (このトピック内)をご参照ください。

    例については、 許可/ブロックされたアドレスリストの例 (このトピック内)をご参照ください。

    ブロックされた IP アドレス

    Snowflakeアカウントへのアクセスが拒否された、1つ以上の IPv4 アドレスのコンマ区切りリスト。これはブロックリストと呼ばれます。

    このパラメーターは、 Allowed IP Addresses リストにある IP アドレスの範囲へのアクセスを許可し、その範囲内の1つ以上の IP アドレスへのアクセスを拒否する場合にのみ設定します。

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

    詳細については、 CIDR 表記 (このトピック内)をご参照ください。

    例については、 許可/ブロックされたアドレスリストの例 (このトピック内)をご参照ください。

    コメント

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

  4. Create network policy ボタンをクリックします。

Classic Console
  1. Account Account tab » Policies をクリックします。 Policies ページが表示されます。

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

  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 をクリックします。

SQL

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

ネットワークポリシーの表示

Snowsight、 Classic Console、または SQL を使用して、ネットワークポリシーに関する情報を表示します。

注釈

ネットワークポリシーの詳細を表示できるのは、ネットワークポリシーの OWNERSHIP 権限を持つロールまたはそれ以上のロールのみです。

Snowsight

Select Admin » Security » Network Policies » <ポリシー名>

Classic Console

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

SQL

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

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

Snowflakeアカウントのすべてのユーザーにネットワークポリシーを適用するには、アカウントのネットワークポリシーをアクティブにします。

注釈

個々のユーザーに対してネットワークポリシーがアクティブ化されている場合は、ユーザーレベルのネットワークポリシーが優先されます。ユーザーレベルでのネットワークポリシーのアクティブ化については、 個々のユーザーに対するネットワークポリシーのアクティブ化 (このトピック内)をご参照ください。

注釈

このアクションは、次のロールの いずれか に限定されます。

  • セキュリティ管理者(つまり、 SECURITYADMIN ロールを持つユーザー)またはそれ以上のロール。

  • グローバル ATTACH POLICY 権限を付与されたロール。

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

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

現在の IP アドレスは、ポリシーの許可された IP アドレスリストに含まれている必要があることに注意してください。それ以外の場合は、ポリシーをアクティブ化するとSnowflakeがエラーを返します。また、現在の IP アドレスをブロックする IP アドレスリストに含めることはできません。

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

Snowsight
  1. Admin » Security » Network Policies をクリックします。

  2. 有効化するポリシー名の右側にある Activate Policy ボタンをクリックします。

Classic Console
  1. Account Account tab » Policies をクリックします。

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

  3. 右側のパネルの Activate ボタンをクリックします。

SQL

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

個々のユーザーに対するネットワークポリシーのアクティブ化

Snowflakeアカウントの特定のユーザーにネットワークポリシーを適用するには、そのユーザーのネットワークポリシーをアクティブにします。一度にアクティブにできるネットワークポリシーは、ユーザーごとに1つだけです。ただし、きめ細かい制御のために、ユーザーごとに異なるネットワークポリシーをアクティブ化できます。ネットワークポリシーをユーザーに関連付けると、現在関連付けられているネットワークポリシー(存在する場合)は自動的に削除されます。

注釈

個々のユーザーのネットワークポリシーをアクティブにできるのは、ユーザー および ネットワークポリシーの両方に対する OWNERSHIP 権限を持つロールまたはそれ以上のロールのみです。

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

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

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

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

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

ネットワークポリシープロパティの説明については、 ネットワークポリシーの作成 (このトピック内)をご参照ください。

Snowsight
  1. Admin » Security » Network Policies をクリックします。

  2. ネットワークポリシー » Edit Policy の行のアクション(...)ボタンをクリックします。 Edit Policy ダイアログが開きます。

  3. 任意のプロパティを編集します。

  4. Save changes ボタンをクリックします。

Classic Console
  1. Account Account tab » Policies をクリックします。

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

  3. 右側のパネルの Edit ボタンをクリックします。

  4. 必要に応じてフィールドを変更します。

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

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

  5. Save をクリックします。

SQL

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

アカウントまたはユーザーレベルでアクティブ化されたネットワークポリシーの特定

ネットワークポリシーが使用するアカウントまたは特定のユーザーに設定されているかどうかを確認するには、 SHOW PARAMETERS コマンドを実行します。

アカウント
SHOW PARAMETERS LIKE 'network_policy' IN ACCOUNT;
Copy
ユーザー
SHOW PARAMETERS LIKE 'network_policy' IN USER <username>;
Copy

例:

SHOW PARAMETERS LIKE 'network_policy' IN USER jsmith;
Copy

ネットワークポリシーでの複製の使用

Snowflakeは、ネットワークポリシーの複製とフェールオーバー/フェールバック、およびソースアカウントからターゲットアカウントへのそれらの割り当てをサポートしています。

詳細については、 複数のアカウントにわたるセキュリティ統合およびネットワークポリシーの複製 をご参照ください。