Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os blocos de notas do Jupyter fornecem um ambiente interativo para explorar, analisar e visualizar dados no Microsoft Sentinel data lake e tabelas federadas. Com os blocos de notas, pode escrever e executar código, documentar o fluxo de trabalho e ver resultados, tudo num único local. Esse ambiente de notebook tudo-em-um facilita a exploração de dados, a construção de soluções avançadas de análise e o compartilhamento de insights com outras pessoas. Ao tirar partido do Python e do Apache Spark no Visual Studio Code, os blocos de notas ajudam-no a transformar dados de segurança não processados em inteligência acionável.
Este artigo mostra-lhe como explorar e interagir com dados do data lake com blocos de notas do Jupyter no Visual Studio Code.
Pré-requisitos
Integrando-se ao Microsoft Sentinel Data Lake
Para usar notebooks no data lake do Microsoft Sentinel, primeiro você deve integrar-se ao data lake. Se você ainda não tiver feito a integração ao Microsoft Sentinel data lake, consulte Integração ao Microsoft Sentinel data lake. Se você tiver integrado recentemente ao data lake, pode levar um tempo até que um volume suficiente de dados seja ingerido antes que você possa criar análises significativas usando notebooks.
Permissões necessárias para notebooks data lake
As funções do Microsoft Entra ID fornecem amplo acesso a todos os espaços de trabalho em todo o data lake. Como alternativa, você pode conceder acesso a áreas de trabalho individuais usando funções RBAC do Azure. Os usuários com permissões RBAC do Azure para workspaces do Microsoft Sentinel podem executar notebooks nesses workspaces na camada do data lake. Para obter mais informações, veja Funções e permissões no Microsoft Sentinel.
Opcionalmente, o escopo do Microsoft Sentinel ou o RBAC em nível de linha podem ser configurados para restringir ainda mais o acesso aos dados em um espaço de trabalho. Quando ativado, o âmbito ao nível da linha limita os dados devolvidos pelas consultas com base no âmbito atribuído pelo utilizador. Se o âmbito ao nível da linha não estiver configurado, o modelo de permissão ao nível da área de trabalho existente aplica-se inalterado. Para obter mais informações, consulte Configurar a delimitação de escopo do Microsoft Sentinel (RBAC em nível de linha) (versão prévia).
Para criar novas tabelas personalizadas na camada de análise, a identidade gerida do data lake tem de ser atribuída à função Contribuidor do Log Analytics na área de trabalho do Log Analytics.
Para atribuir a função, siga os passos abaixo:
- No portal do Azure, navegue para a área de trabalho do Log Analytics à qual pretende atribuir a função.
- Selecione Controlo de acesso (IAM) no painel de navegação esquerdo.
- Selecione Adicionar atribuição de função.
- Na tabela Função , selecione Contribuidor do Log Analytics e, em seguida, selecione Seguinte
- Selecione Identidade gerida e, em seguida, selecione Selecionar membros.
- Sua identidade gerenciada do data lake é uma identidade gerenciada atribuída pelo sistema chamada
msg-resources-<guid>. Selecione a identidade gerida e, em seguida, selecione Selecionar. - Selecione Revisar e atribuir.
Para obter mais informações sobre como atribuir funções a identidades geridas, veja Atribuir funções de Azure com o portal do Azure.
Instalar Visual Studio Code e a extensão Microsoft Sentinel
Se ainda não tiver Visual Studio Code, transfira e instale Visual Studio Code para Mac, Linux ou Windows.
A extensão Microsoft Sentinel para Visual Studio Code (VS Code) é instalada a partir do marketplace de extensões. Para instalar a extensão, siga estes passos:
- Selecione o Marketplace de Extensões na barra de ferramentas esquerda.
- Procure Sentinel.
- Selecione a extensão Microsoft Sentinel e selecione Instalar.
- Após a instalação da extensão, a imagem Microsoft Sentinel
aparece na barra de ferramentas à esquerda.
Instale a extensão GitHub Copilot para Visual Studio Code para ativar a conclusão de código e sugestões em blocos de notas.
- Procure GitHub Copilot no Marketplace de Extensões e instale-o.
- Após a instalação, inicie sessão no GitHub Copilot com a sua conta do GitHub.
Explorar tabelas de nível do data lake
Depois de instalar a extensão Microsoft Sentinel, pode começar a explorar tabelas de camadas do data lake e a criar blocos de notas do Jupyter para analisar os dados.
Iniciar sessão na extensão Microsoft Sentinel
Para entrar na extensão Microsoft Sentinel, siga estas etapas:
Selecione a imagem Microsoft Sentinel
na barra de ferramentas esquerda.É apresentada uma caixa de diálogo com o seguinte texto A extensão "Microsoft Sentinel" quer iniciar sessão com a Microsoft. Selecione Permitir.
Selecione o nome da sua conta para concluir o login.
Se você tiver várias contas de convidado associadas ao seu login, poderá alternar facilmente entre elas. Para alternar entre contas, selecione o nome da conta no canto inferior esquerdo da janela Visual Studio Code. Só é possível selecionar uma conta de cada vez.
Importante
Alternar entre contas desliga todas as sessões ativas do pyspark.
Ver tabelas e tarefas do data lake
Depois que você se conectar, a extensão do Sentinel exibirá uma lista de Tabelas do lake e Trabalhos no painel esquerdo. As tabelas são agrupadas pela base de dados e categoria. As tabelas federadas são apresentadas na categoria Tabelas federadas em Tabelas de sistema. Selecione uma tabela para ver as definições de coluna.
Para informações sobre como agendar trabalhos de cadernos, veja Criar e gerenciar trabalhos e cronogramas de cadernos neste artigo. Para obter mais informações sobre tabelas federadas, veja Using federated tables in the Microsoft Sentinel data lake (Utilizar tabelas federadas no data lake do Microsoft Sentinel).
Criar um novo bloco de notas
Para criar um novo notebook Jupyter no Visual Studio Code, siga estes passos:
Para criar um novo bloco de notas, utilize um dos seguintes métodos.
Introduza > na caixa de pesquisa ou prima Ctrl+Shift+P e, em seguida, introduza Criar Novo Jupyter Notebook.
Selecione Arquivo > Novo Arquivo e escolha Jupyter Notebook na lista suspensa.
No novo bloco de notas, cole o seguinte código na primeira célula.
from sentinel_lake.providers import MicrosoftSentinelProvider data_provider = MicrosoftSentinelProvider(spark) table_name = "EntraGroups" df = data_provider.read_table(table_name) df_filtered = df.select("displayName", "groupTypes", "mail", "mailNickname", "description", "tenantId").show(100, truncate=False) # Transform the dataframe df_transformed = df.filter(df.mail.isNotNull()).select("displayName", "groupTypes", "mail", "mailNickname", "description", "tenantId") write_options = { 'mode': 'overwrite' } # Save to a new table data_provider.save_as_table(df_transformed, "EntraGroups_Processed_SPRK", write_options=write_options)O editor oferece preenchimento de código com IntelliSense tanto para a classe
MicrosoftSentinelProviderquanto para os nomes das tabelas no data lake.Selecione o triângulo Executar para executar o código no bloco de notas. Os resultados são apresentados no painel de saída abaixo da célula de código.
Selecione Microsoft Sentinel na lista para obter uma lista de conjuntos de runtime.
Selecione Medium para executar o notebook no pool de tempo de execução médio. Para obter mais informações sobre os diferentes runtimes, consulte Selecionar o pool de runtime apropriado.
Observação
Selecionar o kernel inicia a sessão do Spark e executa o código no bloco de notas. Depois de selecionar o pool, a sessão pode levar de 3 a 5 minutos para começar. As execuções subsequentes são mais rápidas, pois a sessão já está ativa.
Quando a sessão é iniciada, o código no bloco de notas é executado e os resultados são apresentados no painel de saída abaixo da célula de código, por exemplo:
Para notebooks de exemplo que demonstram como interagir com o data lake do Microsoft Sentinel, consulte Notebooks de exemplo para o data lake do Microsoft Sentinel.
Monitorar o estado do notebook na barra de status
A barra de status na parte inferior do bloco de notas fornece informações sobre o estado atual do bloco de notas e a sessão do Spark. A barra de status inclui as seguintes informações:
A porcentagem de utilização de vCore para o pool do Spark selecionado. Passe o cursor sobre a porcentagem para ver o número de vCores usados e o número total de vCores disponíveis no pool. Os percentuais representam o uso atual entre cargas de trabalho interativas e de trabalho da conta conectada.
O status da conexão da sessão do Spark, por exemplo
Connecting,ConnectedouNot Connected.
Definir tempos limite de sessão
Pode definir o tempo limite da sessão e avisos de tempo limite para blocos de notas interativos. Estas definições são mantidas nas definições da extensão para que sejam preservadas em todas as sessões.
Para alterar o tempo limite, selecione o status de ligação na barra de status na parte inferior do bloco de notas. Escolha dentre as seguintes opções:
Definir o período de tempo limite da sessão: define o tempo em minutos antes de a sessão exceder o limite de tempo. A predefinição é 30 minutos.
Repor o período de tempo limite da sessão: repõe o tempo limite da sessão para o valor predefinido de 30 minutos.
Definir o período de aviso de tempo limite da sessão: define o tempo em minutos antes do tempo limite em que é apresentado um aviso de que a sessão está prestes a exceder o limite de tempo. A predefinição é 5 minutos.
Repor o período de aviso de tempo limite da sessão: repõe o aviso de tempo limite da sessão para o valor predefinido de 5 minutos.
Usar o GitHub Copilot em notebooks
Utilize GitHub Copilot para o ajudar a escrever código em blocos de notas. GitHub Copilot fornece sugestões de código e conclusão automática com base no contexto do seu código. Para utilizar GitHub Copilot, certifique-se de que tem a extensão GitHub Copilot instalada no Visual Studio Code.
Copie o código dos Notebooks de exemplo para o data lake do Microsoft Sentinel e salve-o na pasta de notebooks para fornecer contexto ao GitHub Copilot. O GitHub Copilot poderá então sugerir complementos de código com base no contexto do seu notebook.
O exemplo seguinte mostra GitHub Copilot a gerar uma revisão de código.
Use a classe Microsoft Sentinel Provider
Para ligar ao Microsoft Sentinel data lake, utilize a MicrosoftSentinelProvider classe .
A MicrosoftSentinelProvider classe faz parte do sentinel_lake.providers módulo e fornece métodos para interagir com o data lake. Para conectar seu notebook Spark às tabelas do data lake Microsoft Sentinel, importe a classe e crie uma instância usando uma spark sessão. O código a seguir inicializa o provedor de dados do Sentinel Lake para que o notebook possa consultar tabelas do Microsoft Sentinel do Spark:
from sentinel_lake.providers import MicrosoftSentinelProvider
data_provider = MicrosoftSentinelProvider(spark)
Para obter mais informações sobre os métodos disponíveis, veja Microsoft Sentinel Provider class reference (Referência da classe fornecedor de Microsoft Sentinel).
Selecione o pool de ambientes de execução apropriado
Existem três conjuntos de runtime disponíveis para executar os seus blocos de notas do Jupyter na extensão Microsoft Sentinel. Cada conjunto foi concebido para diferentes cargas de trabalho e requisitos de desempenho. A escolha do conjunto de runtime afeta o desempenho, o custo e o tempo de execução dos trabalhos do Spark.
| Pool de runtime | Casos de Utilização Recomendados | Características |
|---|---|---|
| Small | Desenvolvimento, testes e análise exploratória simples. Pequenas cargas de trabalho com transformações simples. Eficiência de custos priorizada. |
Adequado para cargas de trabalho pequenas Transformações simples. Custo mais baixo, tempo de execução mais longo. |
| Medium | Tarefas ETL com associações, agregações e preparação de modelos de ML. Cargas de trabalho moderadas com transformações complexas. |
Desempenho aprimorado em relação ao Small. Processa o paralelismo e operações moderadas de memória intensiva. |
| Large | Aprendizagem profunda e cargas de trabalho de ML. Mistura de dados extensa, associações grandes ou processamento em tempo real. Tempo de execução crítico. |
Memória elevada e poder de computação. Atrasos mínimos. Melhor para cargas de trabalho grandes, complexas ou sensíveis ao tempo. |
Observação
Quando acedido pela primeira vez, as opções de kernel podem demorar cerca de 30 segundos a carregar.
Após selecionar um pool de tempo de execução, a sessão pode levar de 3 a 5 minutos para iniciar.
Ver mensagens, registos e erros
Os registos de mensagens e as mensagens de erro são apresentados em três áreas do Visual Studio Code.
O painel de Saída.
- No painel Saída, selecione Microsoft Sentinel na lista suspensa.
- Selecione Depurar para incluir entradas de registo detalhadas.
As mensagens em linha no bloco de notas fornecem feedback e informações sobre a execução de células de código. Estas mensagens incluem atualizações de status da execução, indicadores de progresso e notificações de erro relacionadas ao código na célula anterior
Um pop-up de notificação no canto inferior direito do Visual Studio Code, também conhecido como uma mensagem de notificação do sistema, fornece alertas e atualizações em tempo real sobre o status das operações no notebook e na sessão do Spark. Estas notificações incluem mensagens, avisos e alertas de erro, como ligação bem-sucedida a uma sessão do Spark e avisos de tempo limite.
Criar e gerenciar trabalhos e agendamentos do notebook
Você pode agendar tarefas para serem executadas em horários ou intervalos específicos usando a extensão do Microsoft Sentinel para o Visual Studio Code. Os trabalhos permitem automatizar tarefas de processamento de dados para resumir, transformar ou analisar dados no data lake do Microsoft Sentinel. Os jobs também são usados para processar dados e gravar resultados em tabelas personalizadas na camada do data lake ou na camada de análise. Para obter mais informações sobre como criar e gerir tarefas, veja Criar e gerir tarefas de blocos de notas do Jupyter.
Parâmetros de serviço e limites para os Notebooks do VS Code
A secção seguinte lista os parâmetros de serviço e os limites do Microsoft Sentinel data lake ao utilizar blocos de notas do VS Code.
| Categoria | Parâmetro/limite |
|---|---|
| Tabela personalizada na camada de análise | As tabelas personalizadas na camada de análise não podem ser eliminadas de um bloco de notas; Utilize o Log Analytics para eliminar estas tabelas. Para obter mais informações, consulte Adicionar ou excluir tabelas e colunas no Azure Monitor Logs |
| Tempo limite do soquete da Web do gateway | 2 horas |
| Tempo limite da consulta interativa | 2 horas |
| Tempo limite de inatividade da sessão interativa | 20 minutos |
| Linguagem | Python |
| Graph query timeout (Tempo limite de consulta de gráficos) | 7,5 minutos |
| Tempo limite do trabalho do notebook | 8 horas |
| Máximo de tarefas simultâneas do bloco de notas | 3, os trabalhos subsequentes são enfileirados |
| Máximo de utilizadores em simultâneo na consulta interativa | 8 a 10 no pool grande |
| Tempo de arranque da sessão | A sessão de computação do Spark demora cerca de 5 a 6 minutos a ser iniciada. Pode ver o status da sessão na parte inferior do seu Bloco de Notas do VS Code. |
| Bibliotecas suportadas | Apenas as bibliotecas 3.4 do Azure Synapse e a biblioteca Microsoft Sentinel Provider para funções abstraídas são compatíveis com a consulta ao data lake. As instalações do Pip ou bibliotecas personalizadas não são suportadas. |
| Limite do VS Code UX para exibir registros | 100.000 linhas |
Solução de problemas
Para obter erros comuns e soluções ao trabalhar com blocos de notas, veja Resolução de problemas de blocos de notas no data lake do Microsoft Sentinel.
Conteúdo relacionado
- Solucionar problemas em notebooks no data lake do Microsoft Sentinel
- Criar e gerir tarefas de blocos de notas
- Notebooks de exemplo para o Microsoft Sentinel Data Lake
- Referência da classe Provedor do Microsoft Sentinel
- descrição geral do data lake do Microsoft Sentinel
- Funções e permissões do Data Lake do Microsoft Sentinel