Configurar filtros de painel
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:
Na página Editar painel, clique em Filtro para adicionar um filtro.
Na janela Gerenciar filtros, clique em Adicionar para incluir um novo filtro.
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.
No campo Nome do filtro, insira um nome para o filtro.
No campo Aplicar a, selecione os gráficos em que o filtro será aplicado.
Opcional: defina um valor padrão para o filtro.
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áusulasIN) 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:
- Abra a caixa de diálogo Gerenciar filtros em um painel.
- Selecione e Filtro avançado como Tipo de filtro.
- 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.
- Restrições de sintaxe da variável de token:o nome da variável de token só permite caracteres alfanuméricos e sublinhados (
- Selecione Gerar com base em consulta (resultados dinâmicos do YARA-L) ou Entrada manual (uma lista estática).
- Quando a opção Gerar com base na consulta está selecionada:
- Insira uma consulta e defina um período.
- Clique em Executar pesquisa.
- Escolha uma coluna no menu suspenso Selecionar coluna.
- Escolha um valor no menu suspenso Menu suspenso de filtro de visualização.
- Quando a Entrada manual estiver selecionada, digite um valor no campo Entrada manual e clique em Adicionar.
- Quando a opção Gerar com base na consulta está selecionada:
- 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$/.
- Se o token for usado em delimitadores de expressão regular na consulta YARA-L (por exemplo,
- Ative o botão Permitir a seleção de várias opções para definir um delimitador (por exemplo,
|para expressões regularesOR). - Selecione um Valor padrão no menu suspenso.
- Marque ou desmarque a caixa de seleção Aplicar prefixo/sufixo ao(s) valor(es) padrão.
- 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:
Na página Editar painel, clique em Filtro para adicionar um filtro.
Na janela Gerenciar filtros, selecione Filtro de período global na lista de filtros.
Clique no botão para ativar o filtro de hora global.
No campo Aplicar a, selecione os gráficos em que você quer aplicar o filtro de período global.
No campo Definir valores padrão, defina um período para ver os dados usando valores absolutos ou relativos.
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:
Na página Editar painel, clique em Voltar > Filtro para ver os filtros do painel.
Na janela Filtros do painel, selecione o filtro que você criou.
Insira um valor para o campo selecionado.
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:
Clique em Programar.
Na caixa de diálogo Filtro de período global, selecione o operador
pastoubetween.Selecione o período.
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.