Leer en inglés

Compartir a través de


Complementos de KQL en Microsoft Copilot para seguridad

Cree complementos eficaces mediante consultas de Lenguaje de consulta Kusto (KQL) para explorar los datos y detectar patrones.

Configuración de aptitudes de KQL

Detección de configuración común

Esta configuración es común a todas las aptitudes de 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

En la tabla siguiente se muestra que settings se puede configurar para cualquier destino de aptitud de KQL:

Nombre de la configuración Tipo Descripción Obligatorio
Template string Plantilla de símbolo del sistema de KQL. Admite hasta 80 000 caracteres. Sí, si no se especifica TemplateUrl.
TemplateUrl string Dirección URL pública desde la que descargar la plantilla de símbolo del sistema de KQL (hasta 80 000 caracteres). Sí. Especifique TemplatUrl o Template, pero no ambos.
PackageUrl string Dirección URL pública del archivo ZIP con la plantilla de solicitud de KQL en él. Nota: Esto se especifica en el nivel SkillGroup. Similar a gpt skill packageurl: ejemplo. Sí, si no se especifica Template o TemplateUrl.
TemplateFile string Ruta de acceso relativa a la plantilla de símbolo del sistema de KQL (hasta 80 000 caracteres) en el archivo zip PackageUrl. Sí, si se especifica PackageUrl.

Configuración específica de destino

Destino: Sentinel

Esta configuración es válida para las aptitudes de KQL donde Target es 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

Esta configuración es válida para las aptitudes de KQL donde Target es Kusto.

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

Ejemplo

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