PythonでSnowflakeネットワークポリシーを管理する¶
Pythonを使用してSnowflakeネットワークポリシーを管理し、Snowflakeサービスや内部ステージへのインバウンドアクセスを制御することができます。詳細については、 ネットワークポリシーを使用したネットワークトラフィックの制御 をご参照ください。
注釈
ALTER NETWORK POLICY は現在サポートされていません。
Snowflake Python APIs は、ネットワーク・ポリシーを2つのタイプに分けて表しています。
NetworkPolicy: ネットワークポリシーの名前、ネットワーク・ルール、許可およびブロックされた IP リストなどのプロパティを公開します。NetworkPolicyResource: 対応するNetworkPolicyオブジェクトを取得し、ネットワークポリシーを削除するために使用できるメソッドを公開します。
前提条件¶
このトピックの例では、Snowflakeと接続するコードを追加して Root オブジェクトを作成し、そこからSnowflake Python Snowflake Python APIs を使用することを想定しています。
たとえば、以下のコードでは、構成ファイルで定義された接続パラメーターを使用してSnowflakeへの接続を作成します。
出来上がった Session オブジェクトを使って、コードは API のタイプとメソッドを使う Root オブジェクトを作成します。詳細については、 Snowflake Python APIs によるSnowflakeへの接続 をご参照ください。
ネットワークポリシーの作成¶
ネットワークポリシーを作成するには、まず NetworkPolicy オブジェクトを作成して、 API Root オブジェクトから NetworkPolicyCollection オブジェクトを作成します。 NetworkPolicyCollection.create を使用して、新しいネットワークポリシーをSnowflakeに追加します。
次の例のコードは、指定された許可およびブロックされたネットワーク・ルールと IP アドレスを持つ my_network_policy という名前のネットワークポリシーを表す NetworkPolicy オブジェクトを作成します。
ネットワークポリシーの詳細を取得する¶
NetworkPolicy オブジェクトを返す NetworkPolicyResource.fetch メソッドを呼び出すことで、ネットワークポリシーに関する情報を取得できます。
次の例のコードは、 my_network_policy という名前のネットワークポリシーの情報を取得します。
ネットワーク・ポリシーを一覧表示する¶
NetworkPolicy オブジェクトの PagedIter 反復子を返す NetworkPolicyCollection.iter メソッドを使用して、ネットワークポリシーを一覧表示することができます。
次の例のコードは、名前が my で始まるネットワーク・ポリシーを一覧表示し、それぞれの名前を表示します。
ネットワークポリシーのドロップ¶
NetworkPolicyResource オブジェクトでネットワークポリシーをドロップできます。
次の例のコードは、 my_network_policy ネットワークポリシーリソースオブジェクトを取得し、ネットワークポリシーを削除します。