Gerenciamento de políticas de rede Snowflake com Python¶
É possível usar Python para gerenciar políticas de rede Snowflake, que podem ser usadas para controlar o acesso de entrada ao serviço Snowflake e ao estágio interno. Para obter mais informações, consulte Controle do tráfego de rede com políticas de rede.
Nota
ALTER NETWORK POLICY não é compatível atualmente.
O Snowflake Python APIs representa políticas de rede com dois tipos separados:
NetworkPolicy: Expõe as propriedades de uma política de redes, como nome, regras de rede e listas de endereços IP permitidos e bloqueados.NetworkPolicyResource: Expõe métodos que podem ser usados para buscar um objetoNetworkPolicycorrespondente e descartar a política de redes.
Pré-requisitos¶
Os exemplos neste tópico pressupõem que você tenha adicionado código para se conectar ao Snowflake e criar um objeto Root a partir do qual usar o Snowflake Python APIs.
Por exemplo, o seguinte código usa parâmetros de conexão definidos em um arquivo de configuração para criar uma conexão com o Snowflake:
Usando o objeto Session resultante, o código cria um objeto Root para usar os tipos e métodos de API. Para obter mais informações, consulte Conexão ao Snowflake com o Snowflake Python APIs.
Criação de uma política de redes¶
Para criar uma política de redes, primeiro crie um objeto NetworkPolicy e, em seguida, crie um objeto NetworkPolicyCollection a partir do objeto Root da API. Usando NetworkPolicyCollection.create, adicione a nova política de redes ao Snowflake.
O código no exemplo a seguir cria um objeto NetworkPolicy que representa uma política de redes nomeada my_network_policy com as regras de rede e endereços IP permitidos e bloqueados especificados:
Como obter detalhes da política de redes¶
É possível obter informações sobre uma política de redes chamando o método NetworkPolicyResource.fetch, que retorna um objeto NetworkPolicy.
O código no exemplo a seguir obtém informações sobre uma política de redes nomeada my_network_policy:
Listagem de políticas de rede¶
É possível listar as políticas de rede usando o método NetworkPolicyCollection.iter, que retorna um iterador PagedIter de objetos NetworkPolicy.
O código no exemplo a seguir lista as políticas de rede cujos nomes começam com my e imprime o nome de cada uma:
Descarte de uma política de redes¶
É possível descartar uma política de redes com um objeto NetworkPolicyResource.
O código no exemplo a seguir obtém o objeto de recurso de política de redes my_network_policy e, em seguida, descarta a política de redes.