Ler em inglês

Compartilhar via


Plug-ins KQL no Copilot da Segurança da Microsoft

Crie plug-ins avançados com consultas Linguagem de Consulta Kusto (KQL) para explorar os seus dados e descobrir padrões.

Configurações de habilidade do KQL

Configurações comuns

Essas configurações são comuns a todas as habilidades do KQL.

Settings:
  # What type of KQL endpoint to connect to.
  # One of { Defender, Sentinel, LogAnalytics, Kusto }
  Target: Sentinel
  # A URL to download the KQL query template from.
  # Specify either TemplatUrl or Template but not both.
  TemplateUrl: https://gist.githubusercontent.com/NitinKumarGoel/c862ba63878dd2624acb1b0e260f409a/raw/3a527014757b4ee1f00302a1b34a13e7b83ff77a/gistfile1.txt
  # An inline KQL query template.
  # Specify either TemplatUrl or Template but not both.
  Template: |-
    SigninLogs
    | where UserDisplayName == '{{user}}' or UserPrincipalName == '{{user}}'
    | project TimeGenerated, OperationName, UserDisplayName, UserPrincipalName, Location, ResourceDisplayName, ConditionalAccessStatus, IsInteractive
    | top 100 by TimeGenerated desc

A tabela a seguir mostra o settings que pode ser configurado para quaisquer destinos de habilidade do KQL:

Nome da configuração Tipo Descrição Obrigatório
Template string Modelo de prompt do KQL. Dá suporte a até 80.000 caracteres. Sim, se TemplateUrl não for especificado.
TemplateUrl string URL público para baixar o modelo de prompt do KQL (até 80.000 caracteres). Sim. Especifique o TemplateUrl ou o Template, mas não ambos.
PackageUrl string URL público para o arquivo zip com o modelo de prompt do KQL. Observação: isso é especificado no nível do SkillGroup. Semelhante ao packageurl de competências de GPT – exemplo. Sim, se Template ou TemplateUrl não forem especificados.
TemplateFile string Caminho relativo para o modelo de prompt do KQL (até 80.000 caracteres) no arquivo zip PackageUrl. Sim, se PackageUrl for especificado.

Configurações específicas do destino

Destino: Sentinel

Essas configurações são válidas para habilidades do KQL em que o Target é Sentinel.

Settings:
  # The ID of the AAD Organization that the Sentinel workspace is in.
  TenantId:
  # The id of the Azure Subscription that the Sentinel workspace is in.
  SubscriptionId:
  # The name of the Resource Group that the Sentinel workspace is in.
  ResourceGroupName:
  # The name of the Sentinel workspace.
  WorkspaceName:

Destino: Kusto

Essas configurações são válidas para habilidades do KQL em que o Target é Kusto.

Settings:
  # The Kusto cluster URL.
  Cluster: 
  # The Kusto database name.
  Database: 

Exemplo

Descriptor:
  Name: SampleDefenderKQL
  DisplayName: My Sample Defender KQL Plugin
  Description: Skills to query email logs in M365 Advanced Hunting

SkillGroups:
  - Format: KQL
    Skills:
      - Name: GetLatestEmailsByRecipient
        DisplayName: Get Latest Emails By Recipient
        Description: Fetches the latest emails received by the user with the specified email address
        Inputs:
          - Name: email
            Description: The email address of the recipient
            Required: true
        Settings:
          Target: Defender
          Template: |-
            EmailEvents
            | where RecipientEmailAddress =~ '{{email}}'
            | project Timestamp, NetworkMessageId, SenderFromAddress, SenderDisplayName, Subject, DeliveryLocation
            | top 100 by Timestamp desc