Criação de grafos personalizados assistidos por IA no Microsoft Sentinel (pré-visualização)

Utilize GitHub Copilot no Visual Studio Code com Microsoft Sentinel para criar, modificar e consultar gráficos de segurança personalizados com blocos de notas do Jupyter. Descreva o que pretende criar em linguagem natural, reveja o bloco de notas gerado e refine-o conforme necessário.

Utilize o Copilot para várias tarefas de criação de grafos, incluindo:

  • Criar um bloco de notas de criação de grafos completo a partir de uma descrição
  • Modificar ou depurar um gráfico existente
  • Compreender o código de gráfico gerado
  • Escrever e executar consultas de grafos

Como funciona a assistência de IA para gráficos personalizados

Quando você trabalha em um notebook do Jupyter conectado ao Microsoft Sentinel, o GitHub Copilot pode ajudar com tarefas de autoria de grafos usando prompts em linguagem natural.

Utilize o fluxo de trabalho seguinte para interagir com o Copilot para a criação de grafos:

  1. Descreva o gráfico ou a alteração que pretende fazer.
  2. O Copilot gera ou atualiza código relacionado com gráficos.
  3. Você revisa, executa e itera sobre os resultados.

Para cenários específicos de grafos, Microsoft Sentinel fornece auxiliares opcionais que dão ao Copilot contexto adicional sobre as APIs de grafos, os esquemas e a área de trabalho. Esses recursos auxiliares melhoram a precisão e a consistência, mas não são necessários para usar a assistência do Copilot.

Pré-requisitos

Antes de começar, verifique se você tem:

Criar e editar um gráfico personalizado com o Copilot

Utilize os seguintes passos para criar um novo gráfico ou modificar um existente com GitHub Copilot:

  1. Abra um bloco de notas jupyter existente (.ipynb) ou permita que o Copilot crie um.

  2. Abra o GitHub Copilot Chat (Ctrl+Shift+I no Windows, Cmd+Shift+I no macOS).

  3. Descreva o gráfico que pretende criar.

Para obter os melhores resultados ao criar ou modificar um grafo completo, use o assistente de criação de grafos do Sentinel incluindo @sentinel /graph-authoring no seu prompt. Isto fornece ao Copilot contexto adicional sobre APIs de grafos, esquemas e melhores práticas.

@sentinel /graph-authoring Create a graph that maps email senders to recipients and URLs using EmailEvents

O assistente gera um bloco de notas completo que segue o ciclo de vida de criação de gráficos padrão:

Etapa Descrição
Configuração do ambiente Verifica os pacotes necessários e as informações de ligação
Carregamento de dados Lê tabelas do lago de dados Sentinel
Transformação de dados Prepara dados de nó e aresta
Esquema de gráfico Define nós e arestas
Validação do esquema Valida a definição do gráfico
Compilação do grafo Materializa o gráfico
Consulta de grafos Executa consultas de grafos

Refinar o gráfico

Assim que o gráfico for criado, pode continuar a conversação para o refinar, por exemplo:

@sentinel Add an edge from User to IPAddress
@sentinel Filter the data to show only failed sign-ins

Modificar ou depurar um gráfico existente

Peça ao Copilot para atualizar ou corrigir partes específicas do seu bloco de notas. Por exemplo, você pode alterar filtros, ajustar colunas ou solucionar problemas de erros de build:

@sentinel Change the time range to the last 7 days

O prompt a seguir solicita que Copilot modifique uma célula de notebook específica adicionando um campo à saída:

@sentinel Update cell 3 to include the Subject column

O prompt a seguir solicita ao Copilot que solucione e corrija uma falha na etapa de compilação do grafo:

@sentinel Fix the error in the graph build step

Apenas as células afetadas são atualizadas. Outras células permanecem inalteradas.

Compreender o código do grafo e as consultas

Faça perguntas sobre o código gerado sem alterar o bloco de notas. Por exemplo, o prompt a seguir solicita ao Copilot que explique a finalidade de um método auxiliar específico da API Graph:

@sentinel What does show_schema() do?

O seguinte prompt solicita ao Copilot que esclareça como as chaves de aresta são modeladas em esquemas de grafo do Sentinel:

@sentinel Explain how edge keys are defined

O prompt a seguir solicita que Copilot explique a lógica de uma consulta de grafo passo a passo:

@sentinel How does this graph query work?

Procurar APIs e exemplos de grafos

Se quiser ajuda com as APIs de grafo do Sentinel, os parâmetros de método ou consultas de exemplo, você pode pedir explicações ao Copilot. Para obter respostas mais precisas e específicas do Sentinel, inclua o assistente de referência #Sentinel no seu prompt. Por exemplo, o prompt a seguir solicita ao Copilot informações em estilo de referência sobre a assinatura do método build_graph_with_data():

What parameters does build_graph_with_data() accept? #sentinel

O exemplo a seguir solicita que Copilot gere uma consulta de passagem de grafo entre dois tipos de entidade:

Write a graph query to find all paths between User and IPAddress #sentinel

Este assistente fornece ao Copilot a documentação oficial da API Graph do Sentinel. O #sentinel auxiliar de referência não modifica seu notebook.

Escolher como interagir com o Copilot

Utilize a tabela seguinte para escolher a melhor forma de interagir com o Copilot com base no seu objetivo:

O que pretende fazer Abordagem recomendada
Criar ou modificar um notebook de grafos Descreva o seu objetivo (utilize @sentinel para obter os melhores resultados)
Corrigir ou depurar um erro de gráfico Descrever o problema (utilizar @sentinel)
Perguntar sobre apIs ou parâmetros de grafos Fazer uma pergunta (incluir #sentinel)
Fazer uma pergunta geral Prompt simples do Copilot

Principais conceitos

Os conceitos a seguir são importantes para entender ao usar a criação de grafo assistida por IA.

Disponibilidade do espaço de trabalho e da tabela

A assistência de IA usa as tabelas visíveis no data lake do Sentinel. Apenas as tabelas às quais tem acesso são utilizadas no código gerado.

Importante

Se uma tabela não aparecer no data lake explorer, não pode ser utilizada para a criação de grafos.

Alterações no Notebook

Ao modificar um bloco de notas, apenas as células que precisam de ser alteradas são atualizadas. Pode anular as alterações com comandos de anulação do editor padrão.

Solução de problemas

A tabela a seguir lista problemas comuns e como resolvê-los.

Problema Resolução
Não existe nenhum bloco de notas aberto Abra ou crie um .ipynb ficheiro antes de iniciar a criação de grafos.
As tabelas estão em falta Verifique se o Sentinel data lake está ligado e se as tabelas esperadas aparecem no data lake explorer.
Os pacotes necessários estão em falta Certifique-se de que seu notebook está conectado a um pool de computação do Sentinel Spark compatível.
Uma célula inesperada foi modificada Anule a alteração e repita o pedido, especificando o número da célula.