Поделиться через


подключаемый модуль Azure Logic Apps в Microsoft Security Copilot

Logic Apps — это облачная платформа, которая позволяет автоматизировать бизнес-процессы как рабочие процессы. Вы создаете и развертываете ресурс приложения логики в Microsoft Azure, а затем используете конструктор рабочих процессов, чтобы упорядочить предварительно созданные соединители в нужной последовательности.

Интеграция Logic Apps с Microsoft Security Copilot позволяет расширить возможности автоматизации для операций безопасности, упрощая запуск расследований, запуск сборников схем и реагирование на инциденты непосредственно из Security Copilot.

Security Copilot возможности, такие как запросы и книги подсказок, можно использовать через соединитель Security Copilot в Logic Apps в связях. Запросы от служб можно отправлять за пределами Security Copilot. Благодаря этому улучшению рабочие процессы приложения логики теперь можно использовать в качестве вызываемых инструментов (навыков) или возможностей. После определения рабочего процесса и создания манифеста набора навыков эти средства на основе приложения логики можно вызывать из Security Copilot запросов, модулей командной строки или агентов.

В этом документе объясняется, как вызвать рабочий процесс исходящего приложения логики из Security Copilot с помощью запроса.

Сценарии

Ниже приведено несколько сценариев для исходящего приложения логики.

  • Создайте инцидент Sentinel,Jira/ServiceNow с помощью запроса в Security Copilot.

  • Создайте модуль командной строки , который анализирует пользователя, подверженного риску, сообщает о нем, а затем при подтверждении отправляет сообщение электронной почты с двумя вариантами:

    • Добавление пользователя в список отслеживания в Microsoft Sentinel или

    • Обновление Microsoft Entra с помощью различных логики в зависимости от уникальных условий.

Терминология

Термин Описание
Действие Действие — это операция, которая выполняет определенную задачу в рабочем процессе. Действия выполняются после активации триггера или завершения другого действия.
Триггер Триггер — это событие, которое происходит при выполнении определенного условия. Триггеры автоматически активируются при выполнении условия. Например, когда срок действия таймера истекает или данные становятся доступными.
Рабочий процесс Ряд операций, определяющих задачу, бизнес-процесс или рабочую нагрузку. Каждый рабочий процесс всегда начинается с одной операции триггера, после которой необходимо добавить одну или несколько операций действия.

Предварительные условия

  1. Клиент, используемый для Security Copilot, должен быть тем же клиентом, в который находится приложение логики, и у вас должен быть доступ к нему. В противном случае вы не сможете вызвать приложение логики из Security Copilot.

  2. Подготовленные SKU для Security Copilot.

Действия по вызову рабочего процесса приложения логики

В этом кратком руководстве показано, как активировать рабочий процесс приложения логики с помощью Security Copilot. Вы создаете приложение логики с триггером HTTP-запроса, который принимает один GroupId аргумент в тексте запроса JSON и использует встроенный соединитель AAD для перечисления свойств этой группы.

Шаг 1. Создание рабочего процесса приложения логики

  1. Перейдите к портал Azure и создайте ресурс приложения логики. Дополнительные сведения о плане потребления и создании ресурса и примеров см. в разделе Logic Apps.

  2. Перейдите к только что созданному ресурсу приложения логики, откройте конструктор приложения логики и создайте рабочий процесс.

  • Добавьте триггер HTTP-запроса.

    Изображение: добавление триггера запроса на экране конструктора

  • Входные данные навыка передаются в виде полей верхнего уровня текста HTTP-запроса. Этот навык принимает входные данные с именем GroupId.

  • Request Body JSON Schema Задайте для триггера следующим образом:

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

    Изображение с добавлением полезных данных JSON запроса

    Примечание.

    В настоящее время для использования триггера HTTP-запроса требуются все навыки приложения логики Security Copilot. Мы также работаем над новым триггером Security Copilot для Logic Apps, который будет еще проще использовать и автоматически зарегистрирует приложение логики в качестве навыка в Security Copilot.

  1. Get Group Properties Добавить действие.

    Изображение, показывающее добавление действия

  2. Действие Get Group Properties принимает группу AAD Object Id в качестве параметра. Задайте значение переменной GroupId на шаге триггера.

    Изображение, показывающем добавление идентификатора объекта из Entra

    Изображение добавления входного параметра groupId

  3. Сохраните рабочий процесс. Завершенный рабочий процесс должен выглядеть примерно так.

    Изображение завершенного рабочего процесса приложения логики

Шаг 2. Создание манифеста набора навыков

Создайте файл skillset.yaml манифеста набора навыков и укажите следующие параметры для Settings приложения логики, определенного на шаге 1:

SubscriptionId,ResourceGroup,WorkflowName,TriggerName

Вы можете выбрать один из двух вариантов настройки манифеста:

  • Вариант 1. Вы можете разрешить пользователям предоставлять значения конфигурации для таких параметров, как SubscriptionId, ResourceGroup, WorkflowName, . TriggerName Settings Добавьте в Descriptor раздел манифеста и составьте их в качестве переменных в Skills разделе . Вы можете указать значения на платформе после отправки.

  • Вариант 2. Эти конфигурации можно жестко закодировать для пользователей в рабочей области, где значения настраиваются в самом манифесте.

Вариант 1: Descriptor уровень

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

Вариант 2. Skill Уровень

  
  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.

Если вы указали параметры на Descriptor уровне на шаге 2, необходимо указать значения параметров после отправки и сохранения. Эти значения параметров можно изменить в любое время, и они будут использоваться везде, где они указаны в манифесте.

Шаг 4. Тестирование возможности приложения логики с помощью запроса

Получение groupId от Microsoft Azure. Чтобы протестировать подключаемый модуль приложения логики, вам потребуется groupId.

  • На портале Azure выполните поиск Microsoft Entra ID.

  • Перейдите в раздел Управление группами > . Выберите объект , Object Id который будет использоваться в groupId качестве входных данных.

Выберите навык:

  • На Security Copilot перейдите к панели запросов.

  • Введите имя навыка или отображаемое имя навыка, чтобы вызвать навык. Здесь это , GetAadGroupPropertiesкоторый является Skills.Name из YAML, или Get AAD Group Properties, который является .Skills.DisplayName

    Изображение вызова навыка

  • Если вы настроили манифест с помощью варианта 1 (уровень дескриптора) на шаге 2, необходимо указать параметры.

  • Перейдите к Logic Apps , чтобы получить значения для:

    • SubscriptionIdи ResourceGroup сведения на странице "Обзор"
    • WorkflowName — это рабочий процесс приложения логики.
    • TriggerName есть testTrigger
  • Заполните необходимые входные параметры навыка. Здесь введите groupId.

  • Вы можете попробовать запрос "Можно ли предоставить общий доступ к свойствам группы groupIdAAD?".

    На следующем рисунке показаны результаты выполнения запроса при активации рабочего процесса приложения логики. Для входных данных groupIdбыли получены три свойства: GroupId, Nameи Mail из Entra.

    Изображение, показываю результаты выполнения запроса

  • Выберите Вид на портале Azure, чтобы просмотреть рабочий процесс в Azure.

  • Вы также можете протестировать эту возможность с помощью модуля командной строки.

Пример YAML для создания инцидента в Sentinel

Ниже приведен пример YAML для создания инцидента в Microsoft Sentinel с помощью запроса. При выполнении запроса вызывается рабочий процесс приложения логики.

Изображение, показывавшее yaml для создания инцидента

Совет

Будьте описательными при указании описания в манифесте.