Microsoft Copilot for Security 中的 KQL 外掛程式
使用 Kusto 查詢語言 (KQL) 查詢建立功能強大的外掛程式,以探索您的數據和探索模式。
這些設定是所有 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
下表顯示可針對任何 KQL 技能目標設定的 settings
:
設定名稱 | 類型 | 描述 | 必要項目 |
---|---|---|---|
Template |
字串 | KQL 提示範本。 最多支援 80,000 個字元。 | 是,如果未指定TemplateUrl。 |
TemplateUrl |
字串 | 下載 KQL 提示範本的公用 URL (最多 80,000 個字元)。 | 是。 指定 TemplatUrl 或 Template,但不指定兩者。 |
PackageUrl |
字串 | ZIP 檔案的公用 URL,其中包含 KQL 提示範本。 注意: 這是在 SkillGroup 層級中指定。 類似於 GPT 技能 packageurl - 範例。 | 是,如果未指定Template或TemplateUrl。 |
TemplateFile |
字串 | PackageUrl zip 檔案內的 KQL 提示範本的相對路徑 (最多 80,000 個字元)。 | 是,如果已指定 PackageUrl。 |
這些設定適用於 KQL 技能,其中 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:
這些設定適用於 KQL 技能,其中 Target
是 Kusto
。
Settings:
# The Kusto cluster URL.
Cluster:
# The Kusto database name.
Database:
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