Partager via


Plug-ins KQL dans Microsoft Copilot pour la sécurité

Créez des plug-ins puissants à l’aide de requêtes Langage de requête Kusto (KQL) pour explorer vos données et découvrir des modèles.

Paramètres de compétence KQL

Paramètres courants

Ces paramètres sont communs à toutes les compétences KQL.

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

Le tableau suivant présente les settings qui peuvent être configurés pour toutes les cibles de compétence KQL :

Nom du paramètre Type Description Obligatoire
Template string Modèle de requête KQL. Prend en charge jusqu’à 80 000 caractères. Oui, si TemplateUrl n’est pas spécifié.
TemplateUrl string URL publique à partir de laquelle télécharger le modèle de requête KQL (jusqu’à 80 000 caractères). Oui. Spécifiez TemplatUrl ou Template, mais pas les deux.
PackageUrl string URL publique du fichier zip contenant le modèle de requête KQL. Remarque : ceci est spécifié au niveau skillgroup. Similaire à packageurl de compétence GPT - exemple. Oui, si Template ou TemplateUrl ne sont pas spécifiés.
TemplateFile string Chemin d’accès relatif au modèle de requête KQL (jusqu’à 80 000 caractères) dans le fichier zip PackageUrl. Oui, si PackageUrl est spécifié.

Paramètres spécifiques de la cible

Cible : Sentinel

Ces paramètres sont valides pour les compétences KQL où le Target est Sentinel.

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}}'

Cible : Kusto

Ces paramètres sont valides pour les compétences KQL où le Target est Kusto.

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

Exemple

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