Configurar filtros de painel

Compatível com:

Este documento explica como aplicar filtros aos campos da fonte de dados para refinar os dados mostrados nos gráficos aplicáveis.

Adicionar um filtro

Para adicionar um filtro, faça o seguinte:

  1. Na página Editar painel, clique em Filtro para adicionar um filtro.

  2. Na janela Gerenciar filtros, clique em Adicionar para incluir um novo filtro.

  3. No campo Campo para filtrar, insira o campo que você quer usar para filtrar os dados. Para mais informações sobre fontes de dados e campos compatíveis, consulte Fontes de dados compatíveis.

  4. No campo Nome do filtro, insira um nome para o filtro.

  5. No campo Aplicar a, selecione os gráficos em que o filtro será aplicado.

  6. Opcional: defina um valor padrão para o filtro.

  7. Clique em Concluído para adicionar o filtro e fechar a janela Gerenciar filtros.

Limitações do filtro de fonte de dados do SOAR

O painel do SOAR de monitoramento do fluxo de trabalho padrão do SOC e a fonte de dados do SOAR subjacente usam o próprio campo environment e não são mapeados diretamente para o campo principal.namespace usado pelas fontes de dados do SIEM.

Como resultado, um dashboard unificado que contém widgets de SIEM e SOAR não pode ser filtrado por ambiente usando um único filtro global mapeado para principal.namespace. Se você aplicar um filtro em principal.namespace, ele não será aplicado aos widgets do SOAR. Para filtrar os dois conjuntos de dados, talvez seja necessário definir filtros separados ou criar painéis personalizados em que a lógica de filtragem seja definida explicitamente para cada origem.

Filtragem avançada

O Google Security Operations oferece filtragem avançada na plataforma de painel integrada. Ao contrário dos filtros básicos, que estão vinculados a campos específicos, os filtros avançados funcionam como variáveis de consulta, também conhecidas como tokens. Com esse recurso, os analistas de segurança podem inserir valores dinâmicos, expressões regulares complexas ou lógica booleana diretamente nas consultas YARA-L durante a execução.

Principais recursos

  • Filtragem flexível:use uma única entrada de filtro (por exemplo, $token$) para filtrar simultaneamente com base em vários campos em vários gráficos em um painel.
  • Opções de menu suspenso dinâmico:preencha as opções de filtro dinamicamente usando os resultados de uma consulta YARA-L separada. Isso garante que os usuários sempre selecionem dados atualizados.
  • Formatação flexível:defina prefixos, sufixos e delimitadores personalizados (por exemplo, / para expressões regulares ou , para cláusulas IN) para formatar os valores selecionados pelo usuário antes de serem inseridos na consulta.
  • Valores padrão:configure valores padrão para garantir que os painéis carreguem dados imediatamente e para oferecer suporte a relatórios programados automatizados em que não há interação do usuário.
  • Suporte à seleção múltipla:permite que os usuários selecionem vários valores para um único token, unidos por um separador definido pelo usuário.

Segurança e permissões

A filtragem avançada usa as permissões atuais de controle de acesso baseado em função (RBAC), e não são necessárias novas permissões. As seguintes permissões do Identity and Access Management (IAM) são relevantes:

Permissão do IAM Finalidade
nativeDashboards.update Crie e configure filtros avançados em um painel.
nativeDashboards.get Consulte painéis e use os controles de entrada de filtro.
dashboardQueries.execute Execute as consultas finais resolvidas com tokens substituídos.

Para a aplicação do RBAC de dados, as consultas usadas para preencher menus suspensos dinâmicos são executadas no contexto do usuário que está visualizando. Isso garante que os usuários só vejam valores (como IPs específicos) que estão autorizados a acessar.

Como configurar e usar filtros avançados

As seções a seguir detalham o processo de configuração e uso de filtros avançados nos painéis do Google SecOps.

Criar um filtro avançado

Para criar um filtro avançado, faça o seguinte:

  1. Abra a caixa de diálogo Gerenciar filtros em um painel.
  2. Selecione e Filtro avançado como Tipo de filtro.
  3. Insira um Nome do filtro (rótulo) e uma Variável de token (por exemplo, token).
    • Restrições de sintaxe da variável de token:o nome da variável de token só permite caracteres alfanuméricos e sublinhados (^[a-zA-Z0-9_]+$).
    • Unicidade:os nomes dos tokens precisam ser exclusivos. Os conflitos impedem o salvamento do filtro.
  4. Selecione Gerar com base em consulta (resultados dinâmicos do YARA-L) ou Entrada manual (uma lista estática).
    1. Quando a opção Gerar com base na consulta está selecionada:
      1. Insira uma consulta e defina um período.
      2. Clique em Executar pesquisa.
      3. Escolha uma coluna no menu suspenso Selecionar coluna.
      4. Escolha um valor no menu suspenso Menu suspenso de filtro de visualização.
    2. Quando a Entrada manual estiver selecionada, digite um valor no campo Entrada manual e clique em Adicionar.
  5. Escolha um Prefixo e um Sufixo para incluir valores em uma lógica específica, como expressões regulares.
    • Se o token for usado em delimitadores de expressão regular na consulta YARA-L (por exemplo, principal.ip = /$token$/), geralmente não é necessário especificar um Prefix ou Suffix.
    • Se o token for usado sem delimitadores de expressão regular, mas for destinado a funcionar como uma expressão regular ancorada (por exemplo, principal.ip = $token$), defina o Prefixo como /^ e o Sufixo como $/.
  6. Ative o botão Permitir a seleção de várias opções para definir um delimitador (por exemplo, | para expressões regulares OR).
  7. Selecione um Valor padrão no menu suspenso.
  8. Marque ou desmarque a caixa de seleção Aplicar prefixo/sufixo ao(s) valor(es) padrão.
  9. Clique em Concluído.

Como usar tokens em consultas de gráficos

Os criadores de dashboards precisam inserir manualmente o token, entre símbolos $, na consulta do gráfico.

Exemplos:

  • principal.hostname = $hostname$
  • re.regex(target.ip, $ip_regex$)

Para validação de token, um banner de aviso amarelo é exibido se uma consulta usa um token indefinido. Nesses casos, o sistema trata o token como uma string literal.

Comportamento padrão ao carregar

Os filtros avançados nos painéis do Google SecOps funcionam exclusivamente por substituição de strings. Ao contrário dos filtros padrão, o sistema não interpreta a lógica para você, mas realiza uma operação de "localizar e substituir" do seu $token$ com o valor selecionado antes da compilação da consulta. A consulta funciona como um modelo, e o usuário é responsável por garantir que a consulta final, com substituição de token, esteja sintaticamente correta.

Valores padrão e validade da consulta

Como o sistema não ignora automaticamente um token se nenhuma entrada for fornecida, você precisa definir valores padrão que mantenham uma estrutura de consulta válida para cargas iniciais e relatórios programados.

Confira a seguir exemplos de configurações eficazes de Valor padrão:

Caso de uso Contexto da consulta Configuração de valor padrão Lógica resultante
Correspondência exata principal.hostname = $host$ Incorreto:deixar vazio resulta em sintaxe inválida (principal.hostname =). Correto:use um marcador de posição que mantenha a sintaxe válida. Exemplo com padrão vazio:falha porque principal.hostname = é uma YARA-L inválida.
Correspondência exata principal.hostname = "$host$" Deixe em branco Sucesso:avalia como principal.hostname = "", que não retorna resultados, mas é sintaticamente válido.
Caractere curinga (mostrar tudo) principal.hostname = /.*$host$.*/ .* Sucesso:avalia como principal.hostname = /.*/, uma expressão regular "catch-all" que retorna todos os resultados.
Expressão regular (mostrar tudo) principal.hostname = $host$ /.*/ Sucesso:avalia como principal.hostname = /.*/, que corresponde a todos os nomes de host.
Âncora de expressão regular metadata.product_name = /^$token$$/ .* Sucesso:avalia metadata.product_name = /^.*$/ no carregamento, correspondendo a todos os produtos.
Números inteiros (mostrar tudo) principal.host = $token$ 0 or 1=1 Sucesso:avalia como principal.host = 0 or 1=1, retornando todos os resultados.
Números inteiros (mostrar tudo) cast.as_string(principal.host) = $token$ /.*/ Sucesso:avalia como cast.as_string(principal.host) = /.*/, que corresponde a todas as representações de string de números inteiros de host.
Token de seleção única com lógica padrão de "tudo" $log = metadata.log_type \n $log = if($log$ = "", metadata.log_type, $log$)\n match: $log Deixar vazio (com prefixo: ", sufixo: ") Sucesso:com um padrão vazio, $log se torna "". A instrução if se torna $log = if("" = "", metadata.log_type, ""), que é simplificada para $log = metadata.log_type. A consulta corresponde a todos os tipos de registros.
Valor padrão único e específico $et = metadata.event_type \n $et = $et2$ \n match: $et EMAIL_TRANSACTION (com prefixo: ", sufixo: ") Sucesso:avalia como $et = "EMAIL_TRANSACTION" no carregamento, restringindo os resultados padrão a uma categoria de evento específica.
Expressão regular de seleção múltipla $log = metadata.log_type \n $log = $logs$ \n match: $log .* (com prefixo: /, sufixo: /, delimitador: |) Sucesso:avalia como $log = /.*/ no carregamento, correspondendo a todos os tipos de registro. Selecionar vários valores (por exemplo, DNS, DHCP) resulta em $log = /DNS|DHCP/.
Padrão sempre verdadeiro (mostrar tudo) $et = metadata.event_type \n $et = $et4$ \n match: $et "USER_LOGIN" or 1=1 (com delimitador: " or metadata.event_type = ", aplicar prefixo/sufixo ao(s) valor(es) padrão: desmarcado) Sucesso:avalia como $et = "USER_LOGIN" or 1=1 no carregamento, o que corresponde a todos os eventos. Selecionar opções específicas substitui a string por cláusulas de igualdade OR explícitas.
Injeção de cláusula completa (seleção múltipla) $et$ \n $et = metadata.event_type \n match: $et Deixar vazio (com prefixo: metadata.event_type = ", sufixo: ", delimitador: " or metadata.event_type = ", aplicar prefixo/sufixo ao(s) valor(es) padrão: desmarcado) Sucesso:o token injeta o predicado de campo de destino inteiro. Selecionar USER_LOGIN e NETWORK_DNS abre metadata.event_type = "USER_LOGIN" or metadata.event_type = "NETWORK_DNS".
Expressão regular padrão de captura de tudo $pet = metadata.product_event_type \n $pet = $pet$ \n match: $pet /.*/ (com prefixo: ", sufixo: ", aplicar prefixo/sufixo ao(s) valor(es) padrão: desmarcado) Sucesso:avalia $pet = /.*/ no carregamento, correspondendo a todos os tipos de eventos de produto. Selecionar um valor específico aplica aspas (por exemplo, $pet = "USER_LOGIN").

Considerações sobre a sintaxe de filtros avançados

O sistema não faz o escape automático de caracteres especiais, como aspas ou barras. Sempre verifique se o prefixo, o sufixo e o separador configurados estão alinhados com a sintaxe da linguagem de consulta (YARA-L) que você está usando.

Especificações da API

Para especificações detalhadas da API, consulte AdvancedFilterConfig.

Gerenciar o filtro de período global

O filtro de período global se aplica a todos os gráficos, independente da fonte de dados.

Para selecionar os gráficos em que o filtro de período global pode ser aplicado, faça o seguinte:

  1. Na página Editar painel, clique em Filtro para adicionar um filtro.

  2. Na janela Gerenciar filtros, selecione Filtro de período global na lista de filtros.

  3. Clique no botão para ativar o filtro de hora global.

  4. No campo Aplicar a, selecione os gráficos em que você quer aplicar o filtro de período global.

  5. No campo Definir valores padrão, defina um período para ver os dados usando valores absolutos ou relativos.

  6. Clique em Concluído para ativar o filtro e fechar a janela Gerenciar filtros.

Aplicar um filtro do painel

Para aplicar um filtro, faça o seguinte:

  1. Na página Editar painel, clique em Voltar > Filtro para ver os filtros do painel.

  2. Na janela Filtros do painel, selecione o filtro que você criou.

  3. Insira um valor para o campo selecionado.

  4. Clique em Aplicar. Os gráficos em que o filtro é aplicável são atualizados com novos dados.

Mudar o filtro de tempo global

Quando você abre um painel, o filtro de período global é aplicado aos gráficos relevantes com o intervalo padrão.

Para mudar o valor do filtro de período global, faça o seguinte:

  1. Clique em Programar.

  2. Na caixa de diálogo Filtro de período global, selecione o operador past ou between.

  3. Selecione o período.

  4. Clique em Aplicar. Os gráficos selecionados são atualizados com novos dados com base no filtro de período global.

Entender o operador "Past"

O operador past calcula um horário de início com base no valor e na unidade fornecidos. O horário de término é sempre o momento atual.

O cálculo do horário de início depende da unidade:

  • Segundos, minutos, horas:essas unidades calculam o horário de início subtraindo o número exato de segundos, minutos ou horas da marca de tempo atual.
  • Dias, semanas, meses, anos:essas unidades ajustam o horário de início para o começo do período atual ou anterior (por exemplo, o início do dia ou mês atual).

A tabela a seguir mostra exemplos com base em um carimbo de data/hora atual de 13h13 de 2 de julho de 2025:

Valor Unidade Horário de início do filtro
n Segundos 13:13:00 2 de julho de 2025 menos n segundos
n Minutos 13:13:00 2 de julho de 2025 menos n minutos
n Horas 13:13:00 2 de julho de 2025 menos n horas
1 Dia 00:00:00 2 de julho de 2025 (início do dia atual)
2 Dias 00:00:00 1º de julho de 2025 (início do dia anterior)
1 Semana 00:00:00 do primeiro dia da semana atual. O dia de início da semana depende das configurações de localidade do seu sistema.
1 Mês 00:00:00 1º de julho de 2025 (início do mês atual)
2 Meses 00:00:00 de 1º de junho de 2025 (início do mês anterior)
1 Ano 00:00:00 1º de janeiro de 2025 (início do ano atual)
2 Anos 00:00:00 1º de janeiro de 2024 (início do ano anterior)

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.