智能 Microsoft Security Copilot 副驾驶® 中的Azure逻辑应用插件

逻辑应用是一个基于云的平台,可让你将业务流程自动化为工作流。 在 Microsoft Azure 中创建和部署逻辑应用资源,然后使用工作流设计器按所需的顺序排列预生成连接器

将逻辑应用与 智能 Microsoft Security Copilot 副驾驶® 集成后,可以将自动化功能扩展到安全作,从而更轻松地触发调查、运行 playbook 以及直接从Security Copilot响应事件。

Security Copilot提示和提示簿等功能可以通过逻辑应用中的 Security Copilot 连接器以绑定方式使用。 可以从Security Copilot外部的服务提交提示。 通过此增强功能,现在可以将逻辑应用工作流作为可调用的工具, (技能) 或功能。 定义工作流并生成技能组清单后,可以从Security Copilot提示、提示簿或代理内部调用这些基于逻辑应用的工具。

本文档介绍如何使用提示从Security Copilot调用出站逻辑应用工作流。

应用场景

以下是一些出站逻辑应用方案:

  • 使用 Security Copilot 中的提示创建Sentinel/Jira/ServiceNow 事件。

  • 创建 一个提示簿 ,用于分析有风险的用户、报告该用户,然后在确认后发送包含两个选项的电子邮件:

    • 在 Microsoft Sentinel 或 中将用户添加到监视列表中

    • 根据独特的条件,使用各种不同的逻辑更新Microsoft Entra

术语

术语 描述
操作 作是在工作流中执行特定任务的作。 作在触发器激活或完成其他作后运行。
Trigger 触发器是在满足特定条件时发生的事件。 满足条件时,触发器会自动激活。 例如,当计时器过期或数据变为可用时。
工作流 定义任务、业务流程或工作负荷的一系列作。 每个工作流始终以单个触发器作开头,之后必须添加一个或多个作作。

先决条件

  1. 用于Security Copilot的租户必须是逻辑应用所在的同一租户,并且必须有权访问它。 否则,无法从 Security Copilot 调用逻辑应用。

  2. 为Security Copilot预配的 SCU

调用逻辑应用工作流的步骤

本快速入门教程演示如何使用 Security Copilot 触发逻辑应用工作流。 创建具有 HTTP 请求触发器的逻辑应用,该触发器采用 JSON 请求正文中的单个 GroupId 参数,并使用内置 AAD 连接器列出该组的属性。

步骤 1:创建逻辑应用工作流

  1. 转到Azure 门户并创建新的逻辑应用资源。 有关消耗计划以及创建资源和示例的详细信息,请参阅 逻辑应用

  2. 转到新创建的逻辑应用资源,打开逻辑应用设计器,然后创建工作流。

  • 添加 HTTP 请求触发器。

    显示设计器屏幕上添加请求触发器的图像

  • 技能输入作为 HTTP 请求正文的顶级字段传递。 此技能接受名为 的 GroupId输入。

  • Request Body JSON Schema按如下所示设置触发器的 :

    
        {
          "properties": {
            "GroupId": {
              "type": "string"
            }
          },
          "type": "object"
        }
    

    显示添加请求 JSON 有效负载的图像

    注意

    目前,所有Security Copilot逻辑应用技能都需要使用 HTTP 请求触发器。 我们还在为逻辑应用开发一个新的Security Copilot触发器,该触发器将更加易于使用,并且会自动将逻辑应用注册为Security Copilot技能。

  1. 添加 Get Group Properties 作。

    显示添加作的图像

  2. Get Group Properties 作采用 AAD Object Id 组的 作为参数。 将 设置为 GroupId 触发器步骤中的变量。

    显示从 Entra 添加对象 ID 的图像

    显示添加 groupId 输入参数的图像

  3. 保存工作流。 已完成的工作流应与此类似。

    显示已完成的逻辑应用工作流的图像

步骤 2:创建技能集清单

创建新的技能集清单文件 skillset.yaml ,并为步骤 1 中定义的逻辑应用指定以下参数 Settings

SubscriptionId,ResourceGroup,WorkflowName,TriggerName

可以选择以下两个选项之一来配置清单:

  • 选项 1:可以让用户提供 、、、ResourceGroupWorkflowNameTriggerNameSubscriptionId设置的配置值。 Settings在清单的 节中添加 Descriptor ,并在 节中Skills引用它们作为变量。 上传后,可以在平台中提供值。

  • 选项 2:可以为工作区中的用户硬编码这些配置,其中值在清单本身中配置。

选项 1Descriptor 级别

  
  Descriptor:
    Name: SampleLogicApp
    DisplayName: My Sample Logic App Skillset
    Description: Skills to query AAD group properties
    Settings:
      - Name: SubscriptionId
        Label: SubscriptionId
        Description: Subscription Id
        HintText: The subscription Id 
        SettingType: String
        Required: true
  
      - Name: ResourceGroup
        Label: ResourceGroup
        Description: Resource group 
        HintText: The resource group 
        SettingType: String
        Required: true
  
      - Name: WorkflowName
        Label: WorkflowName
        Description: Workflow Name 
        HintText: The workflow name 
        SettingType: String
        Required: true
  
      - Name: TriggerName
        Label: TriggerName
        Description: Trigger Name
        HintText: The Trigger name 
        SettingType: String
        Required: true
  
  SkillGroups:
    - Format: LogicApp
      Skills:
        - Name: GetAadGroupProperties
          DisplayName: Get AAD Group Properties
          Description: Queries properties of an AAD group by its ObjectId
          Inputs:
            - Name: GroupId
              Description: AAD ObjectId of the group to query
              Required: true
          Settings:
            SubscriptionId: "{{SubscriptionId}}"
            ResourceGroup: "{{ResourceGroup}}"
            WorkflowName: "{{WorkflowName}}"
            TriggerName: "{{TriggerName}}"
  

选项 2Skill 级别

  
  Descriptor:
    Name: SampleLogicApp
    DisplayName: My Sample Logic App Skillset
    Description: Skills to query AAD group properties
  
  SkillGroups:
    - Format: LogicApp
      Skills:
        - Name: GetAadGroupProperties
          DisplayName: Get AAD Group Properties
          Description: Queries properties of an AAD group by its ObjectId
          Inputs:
            - Name: GroupId
              Description: AAD ObjectId of the group to query
              Required: true
          Settings:
            SubscriptionId: a5testabc-89df-460e-8cd7-abcdefg
            ResourceGroup: sample-logic-app-skill-rg
            WorkflowName: sample-logic-app-skill
            TriggerName: testTrigger
  

步骤 3:上传技能组清单

按照上传说明将清单作为插件上传到Security Copilot。

如果在步骤 2 的级别指定了设置 Descriptor ,则必须在上传后提供设置值并保存它们。 可以随时编辑这些设置值,无论在清单中指定了这些值,都将使用它。

步骤 4:通过提示测试逻辑应用功能

从 Microsoft 获取 groupId Azure:若要测试逻辑应用插件,需要 groupId

  • Azure门户中,搜索Microsoft Entra ID

  • 导航到“管理 > 组”。 Object Id选择要用作groupId输入的 。

选择技能

  • 在Security Copilot,导航到提示栏。

  • 键入技能名称或技能显示名称以调用技能。 此处,它是 GetAadGroupProperties,它是 Skills.Name YAML 中的 或 Get AAD Group Properties,即 。Skills.DisplayName

    显示如何调用技能的图像

  • 如果在步骤 2 中使用选项 1 (描述符级别) 配置清单,则必须提供设置。

  • 导航到 “逻辑应用” ,获取以下项的值:

    • SubscriptionId以及ResourceGroup“概述”页中的详细信息
    • WorkflowName 是逻辑应用工作流
    • TriggerNametestTrigger
  • 填充所需的技能输入参数。 在此处输入 groupId

  • 可以尝试提示“是否可以共享 AAD 组 groupId的属性?”。

    下图显示了触发逻辑应用工作流时提示执行的结果。 对于输入 groupId,从 Entra 检索了三个属性: GroupIdNameMail

    显示提示执行结果的图像

  • 选择“在Azure门户中查看”,查看Azure中的工作流。

  • 还可以选择通过提示簿测试功能。

用于在 Sentinel 中创建事件的示例 YAML

下面是使用提示在 Microsoft Sentinel 中创建事件的 YAML 示例。 执行提示时,将调用逻辑应用工作流。

显示创建事件 YAML 的图像

提示

在清单中提供说明时,请具有描述性。