RECOMMEND_NETWORK_POLICY

Gera uma lista de permissão recomendada para uma política de redes de entrada com base no acesso bem-sucedido dentro de uma janela de retrospectiva especificada.

Este procedimento armazenado visa a ser um ponto de partida se você não tem uma política de redes ou deseja reformular uma existente.

O procedimento analisa as solicitações de entrada bem-sucedidas, otimiza IPs individuais em blocos CIDR e retorna um SQL legível por humanos que os administradores podem revisar, refinar e executar.

Consulte também:

EVALUATE_CANDIDATE_NETWORK_POLICY

Sintaxe

SNOWFLAKE.NETWORK_SECURITY.RECOMMEND_NETWORK_POLICY(
  LOOKBACK_DAYS => <integer>
  [, USER_NAME => '<string>' ]
  )

Argumentos

Obrigatório:

LOOKBACK_DAYS => 'integer'

O número de dias de acesso de entrada bem-sucedido para análise.

Opcional:

USER_NAME => 'string'

Filtra a recomendação para incluir apenas o tráfego do usuário especificado.

Padrão: sem valor. Nenhum (inclui todos os usuários em uma conta).

Retornos

Retorna um texto legível por humanos com instruções SQL de exemplo. A saída inclui as seguintes informações:

  • Um resumo do número de endereços IP distintos analisados e do número de blocos CIDR produzidos.

  • Uma instrução CREATE OR REPLACE NETWORK RULE de exemplo para uma regra de rede de entrada.

  • Uma instrução CREATE OR REPLACE NETWORK POLICY de exemplo para uma política de redes que faz referência à regra.

Requisitos de controle de acesso

Um usuário deve ter no mínimo a função SECURITYADMIN para executar este procedimento armazenado.

Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.

Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.

Notas de uso

  • O procedimento é somente leitura no que se refere à configuração da conta. Ele não cria ou modifica nenhuma regra ou política de redes.

  • As recomendações são baseadas apenas na entrada bem-sucedida histórica. O acesso bloqueado ou com falha não é recomendado para a lista de permissão.

  • Este procedimento não pode determinar os endereços IP que estão corretos ou são seguros para sua organização. Você deve validar os resultados com as equipes de IT e de segurança antes de executar o SQL gerado.

  • O SQL é fornecido como texto para oferecer suporte a fluxos de trabalho «copiar e colar».

  • A saída pode variar dependendo do volume de tráfego e da janela de retrospectiva.

  • O filtro USER_NAME é opcional. Quando omitido, a recomendação abrange todos os usuários em uma conta.

  • O procedimento impõe um limite fixo de 1.000 blocos CIDR. Se a recomendação exceder esse limite, o procedimento retornará um erro. Para permanecer dentro do limite, tente uma janela de retrospectiva mais curta ou filtre por usuário.

Exemplos

Gerar uma política de redes recomendada com base no último dia de tráfego de um usuário específico:

USE ROLE SECURITYADMIN;

CALL SNOWFLAKE.NETWORK_SECURITY.RECOMMEND_NETWORK_POLICY(
  LOOKBACK_DAYS => 1,
  USER_NAME => 'user1'
  );

Gerar uma política de redes recomendada com base nos últimos 30 dias de tráfego de todos os usuários:

USE ROLE SECURITYADMIN;

CALL SNOWFLAKE.NETWORK_SECURITY.RECOMMEND_NETWORK_POLICY(
  LOOKBACK_DAYS => 30
  );
Recommended candidate network policy based on 1,000 distinct IP addresses,
optimized to 99 CIDR blocks from the last 30 days.

You can execute the following statements with appropriate privileges:

-- Create a network rule

CREATE OR REPLACE NETWORK RULE my_ingress_rule
  MODE = INGRESS
  TYPE = IPV4
  VALUE_LIST = ('203.0.113.0/24', ...);

-- Create a network policy

CREATE OR REPLACE NETWORK POLICY my_ingress_policy
  ALLOWED_NETWORK_RULE_LIST = ('my_ingress_rule');