Pesquisar conteúdo em um conjunto de revisões com o Explorador de Conjunto de Revisão Avançado (versão prévia)

O Explorador de conjuntos de revisão avançado (versão prévia) no Descoberta Eletrônica do Microsoft Purview permite que os revisores executem análises de Big Data em tempo real no conteúdo do conjunto de revisão usando um subconjunto definido de Linguagem de Consulta Kusto (KQL). Com o Explorador de conjuntos de revisão avançado (versão prévia), você pode consultar, filtrar e visualizar dados do conjunto de revisão diretamente no portal do Microsoft Purview sem modificar o conteúdo subjacente. As consultas são executadas em conjunto completo de itens indexados e retornam resultados tabulares ou visualizações de gráfico.

Use o Gerenciador de Conjunto de Revisão Avançado (versão prévia) para:

  • Identifique os principais tipos de itens, identifique padrões e encontre tendências no conjunto de revisão.
  • Crie consultas avançadas com filtragem complexa, extração de texto baseada em padrões e análise de formato de dados.
  • Analise e encontre informações importantes específicas para seu caso ou organização.
  • Visualize os resultados da consulta usando gráficos para uma compreensão abrangente dos dados do conjunto de revisão.

Dica

Comece a usar o Microsoft Security Copilot para explorar novas maneiras de trabalhar de forma mais inteligente e rápida usando o poder da IA. Saiba mais sobre o Microsoft Security Copilot no Microsoft Purview.

Abra o Explorador de Conjunto de Revisão Avançada (versão prévia)

Para abrir o Explorador de Conjunto de Revisão Avançada (versão prévia), conclua as etapas a seguir:

  1. Acesse o portal do Microsoft Purview e entre com as credenciais de uma conta de usuário com permissões de Descoberta Eletrônica atribuídas.
  2. Selecione o card de solução de Descoberta Eletrônica e selecione Casos na navegação à esquerda.
  3. Selecione uma ocorrência e, em seguida, selecione a guia Conjuntos de revisão .
  4. Selecione um conjunto de revisão e, em seguida, selecione a guia Explorador de conjunto de revisão avançado (visualização).

A partir daqui, você pode gravar e executar consultas KQL diretamente nos dados do conjunto de revisão.

Dica

Se você preferir uma abordagem visual e sem código para filtrar o conteúdo do conjunto de revisão, consulte Pesquisar conteúdo em um conjunto de revisão com o construtor de condições de consulta.

O Gerenciador de conjuntos de revisão avançada (versão prévia) inclui um painel de navegação esquerdo e uma área de resultados para ajudá-lo a criar, descobrir e executar consultas KQL.

Dica

Se você for iniciante no KQL, comece com a guia Introdução para explorar padrões básicos de consulta e, em seguida, use as consultas de exemplo no painel esquerdo para uma análise mais direcionada.

Painel de navegação esquerdo

O painel de navegação esquerdo fornece três seções recolhíveis que permitem explorar o esquema do conjunto de revisões e inserir rapidamente elementos de consulta no editor:

  • Esquema: Exibe a tabela (ReviewSetTable) disponível para seu conjunto de revisão. Selecione o nome da tabela para inseri-lo no editor de consultas.
  • Operadores: lista todos os operadores KQL com suporte, incluindo count, distinct, extend, limit, orderprojectproject-keeprenderproject-awaymv-expandsummarizetakesorttope .where Selecione qualquer operador para adicioná-lo à sua consulta.
  • Consultas de exemplo: fornece modelos de consulta prontos para uso para tarefas comuns de análise de conjunto de revisão, como contagem de FileClass como gráfico de pizza, contagem de FileType, contagem de ItemClass, contagem de participantes, contagem de SensitivityLabel e contagem de origem. Selecione uma consulta de exemplo para carregá-la diretamente no editor de consultas.

Guia Introdução

A guia Introdução abaixo da área de resultados da consulta fornece uma referência rápida para a criação de consultas. Inclui exemplos selecionáveis organizados em duas categorias.

Selecione qualquer nome de consulta para carregar o exemplo diretamente no editor de consultas:

Categoria Consultas Descrição
Consultas básicas Limite Mostra 10 resultados da tabela especificada.
Where Filtra o conjunto de resultados por data e nomes de arquivo que terminam com ".jpg".
Count Conta o número de linhas que correspondem ao filtro especificado.
Top Organiza os resultados por data e mostra as primeiras 10 linhas.
Project Mostra apenas as colunas nome do arquivo, tipo de arquivo e data nos resultados.
Consultas avançadas Resuma Mostra as principais fontes de dados e conta o número de itens para cada fonte.
Extend Adiciona uma coluna para combinar os valores de título e autor.
mv-expand Expande a lista de participantes e conta as ocorrências por participante.
Renderizar Conta itens por classe de arquivo e renderiza os resultados como um gráfico de pizza.

Como o Explorador de Conjunto de Revisão Avançado (versão prévia) funciona em um conjunto de revisão

Cada consulta é executada nos dados do conjunto de revisão completo e retorna:

  • Uma lista tabular de itens correspondentes ou
  • Uma visualização de gráfico, dependendo da consulta.

As consultas seguem a sintaxe padrão do pipeline KQL, em que cada linha se baseia nos resultados da etapa anterior. O portal adiciona automaticamente o nome da ReviewSetTable tabela como a primeira linha. Cada linha de consulta subsequente deve começar com \|.

Por exemplo:

ReviewSetTable
| where SubjectTitle has "Case"
| summarize count() by FileClass

Observação

Todas as consultas no Gerenciador de Conjuntos de Revisão Avançada (versão prévia) são executadas nos itens indexados do conjunto de revisão atual. Você não precisa especificar um nome de tabela. O conjunto de revisão atua como a fonte de dados padrão.

Práticas recomendadas

Use as seguintes práticas recomendadas ao escrever consultas no Explorador de conjuntos de revisão avançados:

  • Comece com where filtros para restringir os dados antes de usar summarize ou render.
  • Use take para validar a lógica da consulta antes de executar agregações completas.
  • Evite padrões de regex excessivamente amplos em conjuntos de revisão grandes.
  • Use where isnotempty(ColumnName) para excluir itens com valores vazios para uma propriedade, o que ajuda a evitar linhas em branco inesperadas em seus resultados.

Outras considerações

O explorador de conjunto de revisão avançado (versão prévia) não dá suporte a todos os operadores e propriedades Kusto. Lembre-se das seguintes considerações ao criar consultas:

  • As consultas são somente leitura e não modificam o conteúdo do conjunto de revisão. Para obter mais informações sobre como trabalhar com conjuntos de revisão, consulte Gerenciar conjuntos de revisão na Descoberta Eletrônica.
  • Os resultados refletem o estado indexado atual do conjunto de revisão. Se você adicionar mais dados ao conjunto de revisão, a consulta poderá retornar resultados diferentes.
  • Nem todos os tipos de arquivo são consultáveis. Para saber mais, confira Tipos de arquivo com suporte na Descoberta Eletrônica.
  • Se a consulta retornar mais de 10.000 resultados, ela retornará somente os primeiros 10.000 resultados. Modifique a consulta para restringir os resultados.

Para obter a sintaxe e as referências do Kusto, consulte os seguintes artigos:

Operadores básicos com suporte

Dica

Para obter uma lista completa das propriedades disponíveis que você pode usar em consultas, consulte Campos de metadados de documentos na Descoberta Eletrônica.

Operador Where

Use o where operador para filtrar itens com base em metadados, como assunto, palavras-chave, classe de item, datas ou participantes.

O exemplo a seguir filtra o conjunto de revisões para retornar somente itens cujo Assunto contém o texto "Dia".

ReviewSetTable
| where SubjectTitle has "Day"

Essa consulta filtra o conjunto de revisões para incluir todos os itens relacionados ao calendário cujo ItemClass começa com IPM.Appointment, que abrange compromissos padrão e classes estendidas como IPM.AppointmentSnapshot.SkypeTeams.Call.

ReviewSetTable
| where ItemClass startswith "IPM.Appointment"

Operador de projeto

Use project para retornar somente as propriedades importantes para você. Por exemplo, a consulta a seguir executa duas ações:

  • Filtra itens por texto do assunto: a where SubjectTitle has "Day" cláusula limita os resultados apenas aos itens cujo SubjectTitle contém a palavra "Dia".
  • Projeta uma única coluna: Em seguida, a project SubjectTitle cláusula retorna apenas a propriedade SubjectTitle para esses itens filtrados, removendo todas as outras colunas da saída.
ReviewSetTable
| where SubjectTitle has "Day"
| project SubjectTitle

Operador de afastamento do projeto

O project-away operador remove colunas especificadas dos resultados da consulta, mantendo todas as outras colunas. Use-o quando quiser excluir algumas propriedades, em vez de listar todas as colunas que deseja manter.

O exemplo a seguir retorna todas as propriedades para itens no conjunto de revisão, exceto CompoundPath e InternetMessageId, que são excluídos da saída.

ReviewSetTable
| where SubjectTitle has "Day"
| project-away CompoundPath, InternetMessageId

Operador de manutenção de projeto

O project-keep operador mantém apenas as colunas que correspondem a um padrão ou lista especificado, removendo todo o resto. Ao contrário projectdo , project-keep preserva a ordem da coluna original e dá suporte a padrões curinga.

O exemplo a seguir mantém apenas colunas cujos nomes começam com "Remetente" ou "Destinatário", facilitando o foco nos participantes da comunicação sem listar cada propriedade individualmente.

ReviewSetTable
| where SubjectTitle has "Day"
| project-keep Sender*, Recipient*

Operador Mv-expand

O mv-expand operador expande propriedades de vários valores (como listas de participantes ou destinatários) em linhas separadas, com uma linha por valor. Isso é útil para analisar entradas individuais em campos que contêm vários valores.

O exemplo a seguir expande o campo Participantes para que cada participante apareça em sua própria linha e, em seguida, conta o número de itens associados a cada participante. Isso ajuda a identificar os participantes mais ativos no conjunto de revisão.

ReviewSetTable
| mv-expand Participants
| summarize count() by tostring(Participants)

Operador Extend

O extend operador adiciona uma ou mais colunas calculadas aos resultados da sua consulta criando novos valores derivados de campos existentes sem alterar os dados subjacentes.

O exemplo a seguir classifica os itens do conjunto de revisão em quatro categorias de tamanho - Pequeno (<1 MB),Médio (1 a 5 MB),Médio-Grande (5 a 10 MB) e Grande (>10 MB) - criando uma nova coluna SizeCategory usando a case() função e, em seguida, agrega a contagem de itens em cada categoria usando summarize. Isso ajuda os investigadores a entender rapidamente a distribuição dos tamanhos dos arquivos no conjunto de revisão para avaliação ou priorização de riscos.

ReviewSetTable
| extend SizeCategory = case(Size > 10485760, "Large (>10MB)", Size >= 5242880 and Size <= 10485760, "Medium-Large (5–10MB)", Size >= 1048576 and Size < 5242880, "Medium (1–5MB)", "Small (<1MB)")
| summarize count() by SizeCategory

Operador de resumo

O summarize operador agrega dados aplicando funções como count(), sum(), ou avg(), e agrupa os resultados com base em colunas especificadas.

O exemplo a seguir conta os itens agrupados por SubjectTitle para itens que contêm a palavra "Day".

ReviewSetTable
| where SubjectTitle has "Day"
| summarize count() by SubjectTitle

render barchart, render columnchart, render piechart

O render barchart operador pega os resultados tabulares da sua consulta e os exibe como um gráfico de barras. Isso facilita a visualização da distribuição ou comparação de valores agregados.

O exemplo a seguir renderiza a contagem de títulos de assunto como um gráfico de barras.

ReviewSetTable
| where SubjectTitle has "Day"
| summarize count() by SubjectTitle
| render barchart

Operador Take (limit)

O take operador limita a saída da consulta a um número especificado de linhas. Ele retorna apenas os primeiros n resultados do conjunto de dados. O limit operador é um sinônimo de take e você pode usá-los de forma intercambiável.

O exemplo a seguir retorna apenas os 10 primeiros itens correspondentes, para que você possa validar a lógica da consulta ou marcar o conteúdo antes de executar uma consulta completa. Essa abordagem ajuda ao lidar com grandes conjuntos de revisão ou filtros complexos, em que os resultados podem levar mais tempo para serem calculados e carregados sem take limitar a saída.

ReviewSetTable
| where SubjectTitle has "day"
| project SubjectTitle, SenderDomain, Custodian, Size
| take 10

Operador de classificação

O sort operador ordena os resultados da consulta com base em uma ou mais colunas especificadas em ordem crescente ou decrescente.

A consulta de exemplo a seguir calcula o número total de itens para cada NativeFileExtension no conjunto de revisão usando summarize count(). Em seguida, ele classifica esses grupos de extensão em ordem decrescente de contagem de itens para que você possa ver quais tipos de arquivo são mais predominantes.

ReviewSetTable
| summarize ItemCount = count() by NativeFileExtension
| sort by ItemCount desc

Operador distinto

O distinct operador retorna valores exclusivos para as colunas especificadas removendo linhas duplicadas dos resultados da consulta.

O exemplo a seguir usa distinct a remoção de duplicatas para que você veja apenas os guardiões exclusivos e, em seguida, usa sort by Custodian asc para ordená-las em ordem alfabética, facilitando a verificação ou exportação para relatórios.

ReviewSetTable
| distinct Custodian
| sort by Custodian asc

Operador de contagem

O count operador retorna o número total de linhas no conjunto de resultados da consulta, para que você possa ver rapidamente quantos itens estão no conjunto.

O exemplo a seguir conta o número de títulos de assunto exclusivos que contêm a palavra "Dia".

ReviewSetTable
| where SubjectTitle has "Day"
| summarize by SubjectTitle
| count

Operador superior

O top operador retorna as primeiras n linhas dos resultados da consulta, ordenadas por uma ou mais colunas especificadas. Use-a para obter os valores mais altos ou mais baixos com base em seus critérios de classificação.

O exemplo a seguir obtém os cinco principais itens maiores em seu conjunto de revisão.

ReviewSetTable
| top 5 by Size desc

Operador de lixeira

A bin() função arredonda um valor numérico ou de data e hora para baixo até o múltiplo mais próximo de um tamanho de compartimento especificado. Use essa função para agrupar dados em intervalos de tempo ou intervalos numéricos, como buckets de hora em hora ou intervalos de tamanho.

O exemplo a seguir agrupa itens no conjunto de revisão em buckets de tamanho de 1 MB usando bin(Size, 1048576), conta quantos itens cabem em cada bucket com summarize count(), e classifica os buckets em ordem crescente para que você possa ver a distribuição de tamanhos de arquivo do menor para o maior.

ReviewSetTable
| summarize ItemCount = count() by bin(Size, 1048576)
| sort by bin(Size, 1048576) asc

Cenários comuns

Os cenários a seguir demonstram como as consultas Kusto no Explorador de Conjunto de Revisão Avançado (versão prévia) podem ajudá-lo a analisar e entender melhor os dados do conjunto de revisão.

Cenário 1: comunicações entre dois usuários

Encontre itens trocados exclusivamente entre dois usuários específicos - John e David - sem outros participantes. Essa consulta isola suas comunicações diretas um para um e mostra apenas três propriedades: assunto, título, remetente e destinatários.

ReviewSetTable
| where isnotempty(Participants)
| extend ParticipantEmails = extract_all(@"\<(\[^\>\]+)\>", tostring(Participants))
| extend ParticipantCount = array_length(ParticipantEmails)
| where ParticipantCount == 2
| where ParticipantEmails has "John@contoso.com" and ParticipantEmails has "David@contoso.com"
| project SubjectTitle, SenderAuthor, Recipients

Cenário 2: emails enviados externamente

Localize todos os itens do conjunto de revisão que incluem pelo menos um destinatário externo (fora da sua organização contoso.com) e liste esses endereços de email externos para cada item.

ReviewSetTable
| where isnotempty(Recipients)
| extend Emails = extract_all(@"\<(\[^\>\]+)\>", tostring(Recipients))
| mv-expand Email = Emails
| extend Email = tostring(Email)
| where Email !contains "@contoso.com"
| summarize ExternalRecipients = make_set(Email) by ImmutableId, SubjectTitle

Cenário 3: Identificar padrões de data e hora no conjunto de revisão

A visualização de dados ao longo do tempo ajuda os investigadores a identificar picos ou anomalias na comunicação ou na criação de documentos, como um aumento repentino de emails que podem se correlacionar com um incidente conhecido. As exibições trimestrais se alinham aos ciclos de negócios, facilitando a correlação das descobertas com períodos de relatórios financeiros, auditorias internas ou mudanças de políticas.

O exemplo a seguir analisa como os itens do conjunto de revisão são distribuídos ao longo do tempo, agrupando itens por ano e trimestre e exibindo os resultados como um gráfico de colunas. Ele filtra os itens por intervalo de datas, extrai o ano e o trimestre do campo Data de cada item, conta os itens em cada combinação de ano-trimestre, cria um rótulo legível (por exemplo, 2º trimestre de 2024) e renderiza os resultados como um gráfico de colunas.

ReviewSetTable
| where Date > datetime(2015-01-01) and Date < datetime(2025-08-31)
| extend Year = datetime_part("year", Date), Quarter = datetime_part("quarter", Date)
| summarize EventCount = count() by Year, Quarter
| sort by Year asc, Quarter asc
| extend QuarterLabel = strcat("Q", tostring(Quarter), " ", tostring(Year))
| project QuarterLabel, EventCount
| render columnchart

Cenário 4: Visualizar os tipos de mensagem do Microsoft Teams no conjunto de revisão

O exemplo a seguir categoriza e visualiza os tipos de mensagem do Microsoft Teams no conjunto de revisão por classe de item, ajudando você a entender a distribuição de diferentes formatos de mensagem.

ReviewSetTable
| where ItemClass startswith "IPM.SkypeTeams.Message."
| project SubjectTitle, Date, SenderAuthor, FileClass, ItemClass, InternetMessageId
| summarize ItemCount = count() by ItemClass
| sort by ItemCount desc
| render piechart

Usar regex no Explorador de Conjunto de Revisão Avançada (versão prévia)

O Explorador de conjuntos de revisão avançada (versão prévia) dá suporte a expressões regulares (regex) para uma correspondência de padrões avançada em campos de texto. O suporte a Regex permite que você pesquise sequências complexas de caracteres, como combinações alfanuméricas, caracteres especiais ou padrões estruturados, além da simples correspondência de palavras-chave. Use regex para:

  • Identifique itens com formatos específicos, como IDs, códigos ou tokens estruturados.
  • Detecte padrões que os operadores padrão gostam has ou startswith não conseguem capturar.
  • Execute filtragem avançada para investigações forenses ou de conformidade.

Dicas para escrever regex em KQL

  • Escape de barras invertidas corretamente (\\) quando necessário.
  • Use âncoras (^ para início, $ para fim) para posicionamento exato.
  • Teste os padrões de forma incremental para evitar correspondências muito amplas.
  • Combine com outros operadores (por exemplo, and, or) para consultas precisas.
  • Referência: sintaxe Regex.

Sintaxe

Use o matches regex operador em sua where cláusula:

where <PropertyName> matches regex "<pattern>"

Exemplo: Corresponder a um padrão complexo em Palavras-chave

A consulta a seguir localiza itens cujo campo Palavras-chave corresponde a um padrão de 10 caracteres de palavra, 10 dígitos e 10 caracteres de não-palavra:

ReviewSetTable
| where Keywords matches regex "\\w{10}\\d{10}\\W{10}"
| project SubjectTitle, CompoundPath, Date, SenderAuthor, FileClass, ItemClass, InternetMessageId
  • Filtra itens em que a propriedade Palavras-chave contém:

    • caracteres de 10 palavras (\w)
    • Seguido de 10 dígitos (\d)
    • seguidos por 10 caracteres que não são de palavra (\W)
  • Retorna os principais campos de metadados conforme especificado para revisão.

Corrigir erros comuns de sintaxe KQL

Ao criar consultas no Advanced Review Set Explorer (versão prévia), você pode encontrar erros de sintaxe.

A tabela a seguir lista erros comuns e como corrigi-los:

Erro Motivo Correção
sort O operador requer um nome de coluna Usando sort sem especificar pelo que classificar. Adicione um nome de coluna após sort by. Por exemplo, sort by Date desc.
Esperado ) ou , Parêntese de fechamento ausente ou argumentos de função incorretos. Verifique se todos os parênteses de abertura têm parênteses de fechamento correspondentes e se os argumentos da função estão separados por vírgulas.
Função desconhecida Usar um nome de função que não tem suporte ou está escrito incorretamente. Verifique o nome da função na documentação do KQL. Exemplos comuns incluem count(), tostring(), e datetime().
Token esperado: \ | Uma linha de consulta não tem o operador de tubo no início. Certifique-se de que todas as linhas depois ReviewSetTable comecem com \ | .
Coluna não encontrada Referenciar um nome de propriedade que não existe no esquema do conjunto de revisões. Verifique os nomes de coluna disponíveis em seu conjunto de revisão. Os nomes de propriedades diferenciam maiúsculas de minúsculas.
summarize requer uma by cláusula Usando summarize com uma coluna de agregação, mas sem agrupamento. Adicione uma by cláusula com uma ou mais colunas. Por exemplo, summarize count() by FileClass.
Fim inesperado da consulta A consulta está incompleta ou tem um tubo à direita sem operador. Remova qualquer vestuário \ | no final da consulta ou adicione o operador pretendido depois dela.

Observação

Alguns conjuntos de revisão mais antigos podem não dar suporte a determinadas propriedades KQL se essas propriedades não estiverem disponíveis quando o conjunto de revisão foi criado e os dados foram gerados. Consultar uma propriedade sem suporte em um conjunto de revisão mais antigo resulta em um erro de coluna não encontrada. Para resolver esse erro, crie um novo conjunto de revisão e use o processo Adicionar ao conjunto de revisão para regenerar os dados com as propriedades suportadas mais recentes.