Freigeben über


KQL-Plug-Ins in Microsoft Security Copilot

Erstellen Sie leistungsstarke Plug-Ins mithilfe von KQL-Abfragen (Kusto-Abfragesprache), um Ihre Daten zu untersuchen und Muster zu ermitteln.

KQL-Fähigkeitseinstellungen

Allgemeine Einstellungen

Diese Einstellungen gelten für alle KQL-Fähigkeiten.

Settings:
  # What type of KQL endpoint to connect to.
  # One of { Defender, Sentinel, SentinelDataLake, 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

Die folgende Tabelle zeigt die settings, die für alle KQL-Fähigkeitsziele konfiguriert werden können:

Einstellungsname Typ Beschreibung Erforderlich
Template string KQL-Eingabeaufforderungsvorlage. Unterstützt bis zu 80.000 Zeichen. Ja, wenn TemplateUrl nicht angegeben ist.
TemplateUrl string Öffentliche URL zum Herunterladen der KQL-Eingabeaufforderungsvorlage (bis zu 80.000 Zeichen). Ja. Geben Sie "TemplateUrl" oder "Template" an, aber nicht beides.
PackageUrl string Öffentliche URL für die ZIP-Datei mit der darin enthaltenen KQL-Eingabeaufforderungsvorlage. Hinweis: Dies wird auf SkillGroup-Ebene angegeben. Ähnlich wie GPT skill packageurl - example. Ja, wenn Template oder TemplateUrl nicht angegeben sind.
TemplateFile string Relativer Pfad zur KQL-Eingabeaufforderungsvorlage (bis zu 80.000 Zeichen) in der PackageUrl-ZIP-Datei. Ja, wenn PackageUrl angegeben ist.

Zielspezifische Einstellungen

Ziel: Sentinel

Diese Einstellungen sind für KQL-Fähigkeiten gültig, bei denen der Target-Wert Sentinel ist.

Descriptor: Name: DisplayName: Description: Settings: - Name: TenantId Required: true - Name: WorkspaceName Required: true - Name: SubscriptionId Required: true - Name: ResourceGroupName Required: true SupportedAuthTypes: - None

SkillGroups:

  - Format: KQL
    Skills:
      - Name: 
        DisplayName: 
        Description: 
        Settings:
          Target: Sentinel
          # The ID of the AAD Organization that the Sentinel workspace is in.
          TenantId: '{{TenantId}}'
          # The id of the Azure Subscription that the Sentinel workspace is in.
          SubscriptionId: '{{SubscriptionId}}'
          # The name of the Resource Group that the Sentinel workspace is in.
          ResourceGroupName: '{{ResourceGroupName}}'
          # The name of the Sentinel workspace.
          WorkspaceName: '{{WorkspaceName}}'

Ziel: Kusto

Diese Einstellungen sind für KQL-Fähigkeiten gültig, bei denen der Target-Wert Kusto ist.

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

Beispiel

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

Descriptor:
  Name: Get sample data from Sentinel Data Lake
  DisplayName: Sentinel Data Lake Get sample data from Sentinel Graph
  Description: Query Sentinel Data Lake to get sample security data
SkillGroups:
  
  - Format: KQL
    Skills:
      - Name: GetInsightsfromMSG
        DisplayName: Get top 10 insights results from Sentinel Graph 
        Description: Querying Insights table to gather top 10 insights from Sentinel Graph
        Settings:
          Target: SentinelDataLake
          Template: |-
            InsightsMetrics
            | take 10