你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
某些信息与预发行产品有关,该产品在发布前可能会进行大幅修改。 Microsoft 不对此处提供的信息作任何明示或默示的担保。
使用 Microsoft Sentinel 模型上下文协议 (MCP) 服务器中的数据浏览工具集合,可以使用自然语言搜索相关表并从 Microsoft Sentinel 的数据湖中检索数据。
先决条件
若要访问数据浏览工具集合,需要满足以下先决条件:
- Microsoft Sentinel data lake
- 任何受支持的 AI 支持的代码编辑器和代理构建平台:
添加数据探索集合
若要添加数据浏览集合,必须先设置Microsoft Sentinel 的统一 MCP 服务器接口。 按照分步说明执行兼容 AI 驱动的代码编辑器和代理构建平台。
数据浏览集合托管在以下 URL 中:
https://sentinel.microsoft.com/mcp/data-exploration
数据探索集合中的工具
在表目录上进行语义搜索 (search_tables)
此工具可发现与给定自然语言输入相关的数据湖表,并返回架构定义以支持查询创作。 使用此工具可发现表、了解架构或为 Microsoft Sentinel 工作区生成有效的 Kusto 查询语言 (KQL) 查询。 还可以使用它来浏览不熟悉的数据源,或标识特定调查或分析任务的相关表。
有关此索引中表的完整列表,请参阅 按类别组织的 Azure Monitor Log Analytics 日志表。
| 参数 | Required? | Description |
|---|---|---|
query |
是的 | 此参数采用关键字来搜索连接的工作区中的相关表。 |
workspaceId |
否 | 此参数采用工作区标识符,将搜索限制为单个连接的 Microsoft Sentinel data Lake 工作区。 |
对 Microsoft Sentinel 数据湖执行 KQL(Kusto 查询语言)查询(query_lake)
此工具针对指定的 Microsoft Sentinel data Lake 工作区运行单个 KQL 查询,并返回原始结果集。 它专为重点调查或分析检索设计,而不是批量导出。 使用此工具推进调查或分析工作流,并检索安全事件、警报、资产、标识、设备或扩充数据。 还可以与该工具一起使用 search_tables ,以标识相关的表架构并生成有效的 KQL 查询。
| 参数 | Required? | Description |
|---|---|---|
query |
是的 | 此参数采用格式正确的 KQL 查询,从 Microsoft Sentinel data Lake 工作区中检索数据。 |
workspaceId |
否 | 此参数采用工作区标识符,将搜索限制为单个连接的 Microsoft Sentinel data Lake 工作区。 |
列出工作区 (list_sentinel_workspaces)
此工具列出了可供你使用的所有 Microsoft Sentinel 数据湖工作区名称及 ID 对。 包括工作区名称可以提供有用的上下文,以便更好地理解正在使用的是哪个工作区。 在使用任何其他Microsoft Sentinel 工具之前运行此工具,因为这些工具需要工作区 ID 参数才能正常运行。
实体分析器(预览版)
这些工具使用 AI 分析 Microsoft Sentinel data lake 中的组织数据。 它们提供有关 URL、域和用户实体的判断和详细见解。 它们有助于省去手动数据收集和复杂集成的工作,而这些工作通常是丰富和调查实体所必需的。
例如,analyze_user_entity 会对用户的身份验证模式、行为异常以及组织内的活动等进行推理,以提供判决和分析。 同时,analyze_url_entity 会结合来自 Microsoft 的威胁情报、你在 Sentinel 威胁情报平台 (TIP) 中的自定义威胁情报、组织内部 URL 的点击、电子邮件或连接活动,以及在 Sentinel 观察列表中的存在情况等信息进行推理,以类似方式提供判断结果和分析。
实体分析工具可能需要几分钟才能生成结果,因此存在能够启动每个实体分析的工具,以及用于监控分析结果的另一个工具。
开始分析(analyze_user_entity 和 analyze_url_entity)
| 参数 | Required? | Description |
|---|---|---|
| Microsoft Entra 对象 ID 或 URL | 是的 | 此参数接受您希望分析的用户或 URL。 |
| 回溯时间 | 否 | 此参数接受回溯时间范围。 默认值为 7 天。 |
workspaceId |
否 | 此参数采用工作区标识符,将搜索限制为单个连接的 Microsoft Sentinel data Lake 工作区。 |
这些工具将返回一个标识符值,可以将该标识符值作为输入提供给检索分析工具。
检索分析 (get_entity_analysis)
| 参数 | Required? | Description |
|---|---|---|
analysisId |
是的 | 此参数接收从启动分析工具收到的作业标识符。 |
虽然此工具会自动轮询几分钟,直到结果准备就绪,但其内部超时时间可能不足以支持长时间的分析操作。 可能需要多次运行它才能获取结果。
注释
包括提示(例如 render the results as returned exactly from the tool,这有助于确保提供分析器的响应,而无需 MCP 客户端进行其他处理)很有用。
其他信息
analyze_user_entity支持最长的 7 天时间窗口,以最大程度地提高结果的准确性。analyze_user_entity要求 Data Lake 中存在下表以确保分析的准确性:- AlertEvidence
- SigninLogs
- BehaviorAnalytics
- CloudAppEvents
- IdentityInfo (仅适用于具有 Microsoft Defender for Identity、Microsoft Defender for Cloud Apps 或 Microsoft Defender for Endpoint P2 许可的租户)
如果没有这些必需的表,
analyze_user_entity将生成一条错误消息,其中列出未载入的表以及指向相应载入文档的链接:analyze_user_entity在数据湖中同时存在以下表格时效果最佳,但即使该表格不可用,仍会继续运行并评估风险:analyze_url_entity在数据湖中有下列表格时,效果最好,但即使这些表格不可用,它仍然可以继续工作并评估风险:如果您没有任何这些表,
analyze_url_entity将生成一个响应,其中包含免责声明,列出您未载入的表,并附上指向相应载入文档的链接。
示例提示
以下示例提示展示了你可以使用数据探索集合执行的操作:
- 找到有风险的前三个用户,并解释他们面临风险的原因。
- 查找过去 24 小时内的登录失败,并简要总结关键发现。
- 识别那些显示了异常多的出站网络连接的设备。
- 帮助我了解用户对象 <ID> 是否遭到入侵。
- 调查过去七天内发出密码喷射警报的用户,告诉我其中是否有任何用户遭到入侵。
- 在威胁分析报告中查找所有 URL IOC,并对其进行分析,告诉我 Microsoft 对这些系统的所有了解。<>
Microsoft Sentinel MCP 工具如何与代理协同工作
让我们深入了解一下智能体是如何通过动态协调我们的工具来回复提示语的。
示例提示:Find the top three users that are at risk and explain why they are at risk.
典型响应(使用 Claude Sonnet 4 的 GitHub Copilot):
解释:
当代理收到提示时,它会搜索包含用户风险和安全信息的相关表。 它首先将提示解构为搜索关键字以查找表。
从示例提示符中,其搜索从用户有权访问的表范围内标识四个相关表:
-
AADNonInteractiveUserSignInLogs- 非交互式 Microsoft Entra ID 登录事件 -
BehaviorAnalytics- 用户和实体行为分析 (UEBA) 数据 -
SigninLogs- 互动 Microsoft Entra ID 登录活动 -
AADUserRiskEvents- 标识保护风险检测
-
代理使用表目录 () 工具
search_tables执行另一次搜索,这次使用更广泛的术语查找其他表,以便查询数据以影响其推理。代理标识相关表,然后使用Microsoft Sentinel data lake () 工具上的“执行 KQL”(Kusto 查询语言)查询来查询数据,并查找有风险的前三位用户。
query_lake第一次尝试失败,因为 KQL 查询存在语义错误。代理自行更正 KQL 查询,并成功从 Microsoft Sentinel 数据湖检索数据,从而发现有风险的用户。
代理再运行一个查询,以获取有关有风险的用户的详细信息,以提供有关他们面临风险的原因的更好上下文。
代理将其全面分析结果回复给用户。