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


Action groups

Если данные Azure Monitor указывают на потенциальную проблему в инфраструктуре или приложении, она активирует оповещение. Чтобы обеспечить своевременное реагирование, можно присоединить группы действий к этим оповещениям, которые являются коллекциями параметров уведомлений и автоматическими действиями.

Группы действий определяют, кто получает уведомление и какие действия выполняются при срабатывании оповещения. Они поддерживают несколько типов уведомлений, включая голосовой звонок, SMS, push-уведомления, электронную почту и автоматизированные действия (например, активацию веб-перехватчика или функции Azure). Эти группы используются в таких службах, как Azure Monitor, Работоспособности служб Azure и Помощнике по Azure.

Каждое действие состоит из:

  • Тип: тип уведомления или автоматизации.
  • Имя: уникальный идентификатор в группе действий.
  • Сведения: конкретная конфигурация на основе типа действия.

В этой статье показано, как создавать группы действий и управлять ими.

Глобальная доступность и устойчивость

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

Note

Региональные запросы полагаются на избыточность зоны доступности для удовлетворения требований конфиденциальности и предлагают аналогичное решение для аварийного восстановления.

Повторное использование и выполнение

  • В одно правило генерации оповещений можно добавить до пяти групп действий.
  • Действия групп выполняются одновременно, в произвольном порядке.
  • Несколько правил генерации оповещений могут использовать одну и ту же группу действий.
  • Группы действий определяются уникальным набором действий, а пользователи должны получать уведомления.
    Пример: Чтобы уведомить User1, User2 и User3 по электронной почте для двух разных правил генерации оповещений, необходимо создать только одну группу действий и применить ее к обоим правилам генерации оповещений.

Создать группу действий в портале Azure

  1. Переход на портал Azure.

  2. Найдите и выберите Monitor. В области Монитор объединены все параметры мониторинга и данные.

  3. Выберите Оповещения, а затем Группы действий.

    Снимок экрана страницы

  4. Выберите "Создать" на верхней панели действий.

  5. Настройте базовые параметры группы действий. В разделе сведений о проекте:

    • Выберите значения для параметров Подписка и Группа ресурсов.
    • Выберите регион.

    Note

    Оповещения о работоспособности служб поддерживаются только в общедоступных облаках в глобальном регионе. Чтобы группы действий правильно функционировали в ответ на оповещение о работоспособности служб, регион группы действий должен иметь значение Global.

    Option Behavior
    Global Служба групп действий решает, где хранить группу действий. Группа действий сохраняется как минимум в двух регионах для обеспечения региональной устойчивости. Обработка действий может выполняться в любом географическом регионе.

    Действия с голосовой связью, SMS и электронной почтой, выполняемые в результате оповещений о состоянии службы, устойчивы к инцидентам на живых сайтах Azure.
    Regional Группа действий сохраняется в выбранном регионе. Группа действий является зонально-избыточной. Используйте этот параметр, если вы хотите убедиться, что обработка группы действий выполняется в пределах определенной географической границы.

    Вы можете выбрать один из этих регионов для региональной обработки групп действий:
    • Восток США
    • Запад США
    • Восточная часть США2
    • Западная часть США2
    Юго-Центральный регион США
    • Северо-Центральный регион США
    • Центральная Швеция
    • Центральная Западная Германия
    • Центральная Индия
    • Южная Индия

    Мы постоянно добавляем дополнительные регионы для обработки региональных данных групп действий.

    Группа действий сохраняется в выбранной подписке, регионе и группе ресурсов.

  6. В разделе Сведения об экземпляре введите значения для Имя группы действий и Отображаемое имя. Отображаемое имя используется вместо полного имени группы действий, если эта группа используется для отправки уведомлений.

    Снимок экрана: диалоговое окно

  7. Configure notifications. Нажмите кнопку "Далее" или выберите вкладку "Уведомления" в верхней части страницы.

  8. Определите список уведомлений для отправки при срабатывании оповещения.

  9. Для каждого уведомления:

    1. Выберите тип уведомления и заполните соответствующие поля для этого уведомления. Доступные параметры:

      Notification type Description Fields
      Отправка электронных сообщений роли Azure Resource Manager Отправьте сообщение электронной почты членам подписки на основе их роли.
      See Email.
      Введите основной адрес электронной почты, настроенную для пользователя Microsoft Entra. See Email.
      Email Убедитесь, что фильтрация электронной почты и все службы защиты от вредоносных программ и нежелательной почты настроены соответствующим образом.

      Электронная почта будет отправляться на следующие адреса:
      [email protected]
      [email protected]
      [email protected]
      Введите сообщение электронной почты, в котором должно быть отправлено уведомление.
      SMS SMS-уведомления поддерживают двунаправленное взаимодействие. В СМС содержится следующая информация:
      • Короткое имя группы действий, в который было отправлено оповещение
      • Заголовок оповещения.

      Пользователь может ответить на SMS:
      • Отмена подписки на все оповещения SMS для всех групп действий или одной группы действий.
      • Повторная подписка на оповещения
      • Запросить помощь.

      Дополнительные сведения о поддерживаемых ответах SMS см. ответы SMS.
      Введите код страны и номер телефона получателя SMS. Если вы не можете выбрать код своей страны или региона на портале Azure, SMS для него не поддерживаются. Если код страны или региона недоступен, можно проголосовать за добавление вашей страны или региона на портале Поделитесь своими идеями. В качестве временного решения до тех пор, пока ваша страна не будет поддерживаться, настройте группу действий к вызову веб-перехватчика к стороннему поставщику SMS-сообщений, который поддерживает вашу страну/регион.
      Push-уведомления приложения Azure Отправка уведомлений в мобильное приложение Azure. В поле электронной почты учетной записи Azure введите адрес электронной почты, который вы используете в качестве идентификатора учетной записи при настройке мобильного приложения Azure.
      Voice Voice notification. Введите код страны и номер телефона получателя уведомления. Если вы не можете выбрать код страны или региона в портал Azure, голосовые уведомления не поддерживаются для вашей страны или региона. Если код страны или региона недоступен, можно проголосовать за добавление вашей страны или региона на портале Поделитесь своими идеями. В качестве обходного решения до тех пор, пока ваша страна не будет поддерживаться, настройте группу действий для вызова веб-перехватчика стороннему поставщику голосовых звонков, который поддерживает вашу страну или регион.
    2. Выберите, нужно ли включить схему распространенных оповещений. Общая схема оповещений — это одна расширяемая и унифицированная нагрузка оповещений, которую можно использовать во всех сервисах оповещений в Azure Monitor. Дополнительные сведения о общей схеме см. в разделе "Общая схема оповещений".

      Снимок экрана: вкладка

    3. Select OK.

  10. Configure actions. Нажмите кнопку "Далее": действия. или выберите вкладку "Действия " в верхней части страницы.

  11. Определите список действий, которые будут активированы при срабатывании предупреждения. Выберите тип действия и введите имя для каждого действия.

    Action type Details
    Automation Runbook Используйте Модуль Runbook службы автоматизации для автоматизации задач на основе метрик. Например, при достижении определенного порога в связанном бюджете завершить работу ресурсов. Сведения об ограничениях на полезную нагрузку runbook службы Автоматизации см. в разделе Automation limits.
    Event hubs Действие Центров событий публикует уведомления в Центрах событий. Это единственный тип действия, поддерживающий Частный канал Azure и периметр безопасности сети (NSP). Дополнительные сведения о Центрах событий см. в статье Центры событий Azure — платформа потоковой передачи больших данных и служба приема событий. Вы можете подписаться на потоковую передачу предупреждающих уведомлений из приемника событий.
    Functions Вызывает существующую конечную точку триггера HTTP в функциях. Дополнительные сведения см. в статье Функции Azure.

    При определении действия функции конечная точка триггера HTTP и ключ доступа функции сохраняются в определении действия, например https://azfunctionurl.azurewebsites.net/api/httptrigger?code=<access_key>. При изменении ключа доступа для функции необходимо удалить и повторно создать действие функции в группе действий.

    Конечная точка должна поддерживать метод HTTP POST.

    Функция должна иметь доступ к учетной записи хранения. Если у него нет доступа, ключи недоступны, и URI функции невозможно получить.

    Узнайте о восстановлении доступа к учетной записи хранения.
    ITSM Действие ITSM требует подключения ITSM. Чтобы узнать, как создать подключение ITSM, ознакомьтесь с интеграцией ITSM.
    Logic apps Azure Logic Apps можно использовать для создания и настройки рабочих процессов для интеграции и настройки оповещений.
    Secure webhook При использовании защищенного действия веб-перехватчика необходимо использовать Microsoft Entra ID для защиты подключения между вашей группой действий и конечной точкой, которая представляет собой защищенный веб-API. См. раздел "Настройка проверки подлинности для безопасного веб-перехватчика". Безопасный веб-хук не поддерживает базовую аутентификацию. Если вы используете основную проверку подлинности, используйте действие вебхука.
    Webhook Если вы используете действие веб-перехватчика, целевая конечная точка веб-перехватчика должна иметь возможность обрабатывать различные полезные данные JSON, которые выдают разные источники оповещений.

    Невозможно передать сертификаты безопасности через действие вебхука. Чтобы использовать базовую проверку подлинности, необходимо передать учетные данные через универсальный код ресурса (URI).
    Если конечная точка веб-перехватчика ожидает определенную схему, например схему Microsoft Teams, используйте тип действия Logic Apps для управления схемой оповещения для удовлетворения ожиданий целевого веб-перехватчика.

    Сведения о правилах, используемых для повторных попыток действий веб-перехватчика, см. в разделе Webhook.

    Снимок экрана: вкладка

  12. (Необязательно) Если вы хотите назначить пару "ключ-значение" группе действий, чтобы классифицировать ресурсы Azure, нажмите кнопку "Далее: Теги " или вкладка "Теги ". В противном случае пропустите этот шаг.

  13. Нажмите кнопку "Просмотр и создание ", чтобы просмотреть параметры. Этот шаг быстро проверяет входные данные, чтобы убедиться, что вы ввели все необходимые сведения. При наличии проблем здесь отобразятся сведения о них. После просмотра параметров нажмите кнопку "Создать ", чтобы создать группу действий.

    Note

    При настройке действия для уведомления пользователя по электронной почте или SMS они получают подтверждение, указывающее, что они были добавлены в группу действий.

Тестирование группы действий в портале Azure

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

  1. Создайте группу действий в портале Azure.

    Note

    Перед тестированием необходимо создать и сохранить группу действий. Если вы редактируете существующую группу действий, сохраните изменения в группе действий перед тестированием.

  2. На странице "Группы действий " выберите группу действий, а затем выберите "Тест" на верхней панели действий.

  3. Выберите тип выборки, укажите типы уведомлений и действий, которые необходимо протестировать. Затем выберите Тестировать.

    Снимок экрана, показывающий страницу

  4. Если закрыть окно или выбрать пункт Назад к настройке теста во время выполнения теста, тестирование будет остановлено и результаты теста не будут получены.

    Снимок экрана: страница

  5. По завершении теста появится индикатор состояния: успех или неудача. Если тест завершился сбоем, и вы хотите получить дополнительные сведения, выберите "Просмотреть сведения".

    Снимок экрана: страница

    Сведения, приведенные в разделе Сведения об ошибке, позволяют понять проблему. Затем вы можете изменить, сохранить изменения и снова протестировать группу действий.

    При выполнении теста и выборе типа уведомления вы получите сообщение со словом "Test" в теме. Тесты предоставляют способ проверить, работает ли группа действий должным образом, прежде чем включить ее в рабочей среде. Все подробности и ссылки в уведомлениях о тестовой электронной почте взяты из примерного справочного набора.

Требования к роли для тестовых групп действий

В следующей таблице описаны требования к членству в роли, которые необходимы для функциональности тестовых действий.

Role membership Существующая группа действий Существующая группа ресурсов и новая группа действий Новая группа ресурсов и новая группа действий
Subscription contributor Supported Supported Supported
Участник группы ресурсов Supported Supported Not applicable
Участник ресурсного вклада в группу действий Supported Not applicable Not applicable
Участник Azure Monitor Supported Supported Not applicable
Пользовательская роль 1 Supported Supported Not applicable

1 Пользовательская роль должна иметь добавлено разрешение Microsoft.Insights/ActionGroups/*, которое также позволит пользователю обновлять и удалять группу действий. Чтобы добавить ограничения, чтобы пользователь смог протестировать только группу действий, добавьте следующую команду на вкладке JSON для настраиваемой роли:

{
    "properties": {
        "roleName": "",
        "description": "",
        "assignableScopes": [
            "/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.Insights/ActionGroups/*"
                ],
                "notActions": [
                    "Microsoft.Insights/ActionGroups/write",
                    "Microsoft.Insights/ActionGroups/delete"
                ],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}

Note

Создание группы действий с помощью шаблона Resource Manager

Для настройки групп действий можно использовать шаблон Azure Resource Manager. С помощью шаблонов можно автоматически настроить группы действий, которые можно повторно использовать в определенных типах оповещений. С помощью этих групп действий обеспечивается уведомление соответствующих участников при активации оповещения.

Основными шагами являются:

  1. Создайте шаблон в виде JSON-файла, который описывает создание группы действий.
  2. Разверните шаблон, используя любой метод развертывания.

Шаблоны для группы действий Resource Manager

Чтобы создать группу действий с помощью шаблона Resource Manager, создайте ресурс типа Microsoft.Insights/actionGroups. Затем следует заполнить все связанные свойства. Ниже представлено два примера шаблонов для создания группы действий.

Template 1

В этом шаблоне описывается создание шаблона Resource Manager для группы действий, в которой определения действий жестко закодируются в шаблоне.

Развернуть, чтобы просмотреть шаблон
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "actionGroupName": {
      "type": "string",
      "metadata": {
        "description": "Unique name (within the Resource Group) for the Action group."
      }
    },
    "actionGroupShortName": {
      "type": "string",
      "metadata": {
        "description": "Short name (maximum 12 characters) for the Action group."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Insights/actionGroups",
      "apiVersion": "2021-09-01",
      "name": "[parameters('actionGroupName')]",
      "location": "Global",
      "properties": {
        "groupShortName": "[parameters('actionGroupShortName')]",
        "enabled": true,
        "smsReceivers": [
          {
            "name": "contosoSMS",
            "countryCode": "1",
            "phoneNumber": "5555551212"
          },
          {
            "name": "contosoSMS2",
            "countryCode": "1",
            "phoneNumber": "5555552121"
          }
        ],
        "emailReceivers": [
          {
            "name": "contosoEmail",
            "emailAddress": "[email protected]",
            "useCommonAlertSchema": true

          },
          {
            "name": "contosoEmail2",
            "emailAddress": "[email protected]",
            "useCommonAlertSchema": true
          }
        ],
        "webhookReceivers": [
          {
            "name": "contosoHook",
            "serviceUri": "http://requestb.in/1bq62iu1",
            "useCommonAlertSchema": true
          },
          {
            "name": "contosoHook2",
            "serviceUri": "http://requestb.in/1bq62iu2",
            "useCommonAlertSchema": true
          }
        ],
         "SecurewebhookReceivers": [
          {
            "name": "contososecureHook",
            "serviceUri": "http://requestb.in/1bq63iu1",
            "useCommonAlertSchema": false
          },
          {
            "name": "contososecureHook2",
            "serviceUri": "http://requestb.in/1bq63iu2",
            "useCommonAlertSchema": false
          }
        ],
        "eventHubReceivers": [
          {
            "name": "contosoeventhub1",
            "subscriptionId": "replace with subscription id GUID",
            "eventHubNameSpace": "contosoeventHubNameSpace",
            "eventHubName": "contosoeventHub",
            "useCommonAlertSchema": true
          }
        ]
      }
    }
  ],
  "outputs":{
      "actionGroupId":{
          "type":"string",
          "value":"[resourceId('Microsoft.Insights/actionGroups',parameters('actionGroupName'))]"
      }
  }
}

Template 2

Этот шаблон описывает, как создать шаблон, который принимает сведения о конфигурации веб-перехватчика в качестве входных параметров при развертывании шаблона.

Развернуть, чтобы просмотреть шаблон
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "actionGroupName": {
      "type": "string",
      "metadata": {
        "description": "Unique name (within the Resource Group) for the Action group."
      }
    },
    "actionGroupShortName": {
      "type": "string",
      "metadata": {
        "description": "Short name (maximum 12 characters) for the Action group."
      }
    },
    "webhookReceiverName": {
      "type": "string",
      "metadata": {
        "description": "Webhook receiver service Name."
      }
    },    
    "webhookServiceUri": {
      "type": "string",
      "metadata": {
        "description": "Webhook receiver service URI."
      }
    }    
  },
  "resources": [
    {
      "type": "Microsoft.Insights/actionGroups",
      "apiVersion": "2021-09-01",
      "name": "[parameters('actionGroupName')]",
      "location": "Global",
      "properties": {
        "groupShortName": "[parameters('actionGroupShortName')]",
        "enabled": true,
        "smsReceivers": [
        ],
        "emailReceivers": [
        ],
        "webhookReceivers": [
          {
            "name": "[parameters('webhookReceiverName')]",
            "serviceUri": "[parameters('webhookServiceUri')]",
            "useCommonAlertSchema": true
          }
        ]
      }
    }
  ],
  "outputs":{
      "actionGroupResourceId":{
          "type":"string",
          "value":"[resourceId('Microsoft.Insights/actionGroups',parameters('actionGroupName'))]"
      }
  }
}

Управление группами действий

После создания группы действий ее можно просмотреть на портале:

  1. Переход на портал Azure.

  2. На странице Монитор выберите Оповещения.

  3. Выберите группы действий.

  4. Выберите группу действий, которой необходимо управлять: You can:

    • добавлять, изменять или удалять действия;
    • Удалить группу действий.

Лимиты службы уведомлений

Номер телефона или электронная почта могут быть включены в группы действий во многих подписках. Azure Monitor использует ограничение скорости для приостановки уведомлений, когда слишком много уведомлений отправляются на определенный номер телефона, адрес электронной почты или устройство. Ограничение скорости гарантирует управляемость и действенность оповещений.

Ограничение скорости применяется к SMS, голосовой связи, push-уведомлениям и уведомлениям по электронной почте. Все остальные действия, связанные с уведомлениями, не ограничены. Ограничение частоты применяется ко всем подпискам Ограничение скорости применяется сразу после достижения порогового значения, даже если сообщения отправляются из нескольких подписок. Если адрес электронной почты ограничен по частоте, отправляется уведомление, чтобы сообщить о применении ограничения и времени истечения этого ограничения.

Сведения об ограничениях скорости см. в разделе об ограничениях службы Azure Monitor.

Электронная почта Azure Resource Manager

При использовании Azure Resource Manager для уведомлений по электронной почте вы можете отправлять электронные письма членам роли подписки. Сообщение электронной почты отправляется пользователю или членам группы microsoft Entra ID роли. Это включает поддержку ролей, назначенных через Azure Lighthouse.

Note

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

Если основной адрес электронной почты не получает уведомлений, настройте адрес электронной почты для роли Диспетчера ресурсов Электронной почты Azure:

  1. В портале Azure перейдите к Microsoft Entra ID.

  2. Выберите "Пользователи " в меню слева, чтобы отобразить список всех пользователей.

  3. Выберите пользователя, основной адрес электронной почты которого вы хотите просмотреть.

    Снимок экрана, показывающий страницу

  4. В профиле пользователя в разделе "Свойства" просмотрите контактные данные для значения электронной почты . Если поле пусто, выполните приведенные ниже действия.

    1. В верхней части страницы выберите "Изменить свойства".
    2. Введите адрес электронной почты.
    3. В верхней части страницы щелкните Сохранить.

    Снимок экрана: страница профиля пользователя в портал Azure. Кнопка

В одной группе действий может быть ограниченное число операций с электронной почтой. Чтобы проверить, какие ограничения применяются к вашей ситуации, см. лимиты службы Azure Monitor.

При настройке роли Resource Manager:

  • Назначьте сущность типа "Пользователь " или "Группа " роли.
  • Сделайте назначение на уровне подписки.
  • Убедитесь, что адрес электронной почты настроен для пользователя в профиле Microsoft Entra.

Note

Чтобы клиент начал получать уведомления после добавления новой роли Azure Resource Manager в подписку, может потребоваться до 24 часов.

SMS

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

Note

Если вы не можете выбрать код своей страны или региона на портале Azure, SMS для него не поддерживаются. Если код страны или региона недоступен, можно проголосовать за добавление вашей страны или региона на портале Поделитесь своими идеями. А пока в качестве обходного пути можно настроить группу действий так, чтобы она вызывала веб-хук для стороннего поставщика услуг SMS, который поддерживает вашу страну или регион.

SMS replies

Эти ответы поддерживаются для SMS-уведомлений. Получатель SMS может ответить на SMS со следующими значениями:

REPLY Description
ОТКЛЮЧИТЬ <Action Group Short name> Отключает дальнейшее получение SMS от группы действий
АКТИВИРУЙТЕ <Action Group Short name> Повторно включает получение SMS от группы действий
STOP Отключает отправку дальнейших SMS от всех групп действий
START Повторно включает SMS из всех групп действий
HELP Пользователю будет отправлен ответ со ссылкой на данную статью.

Note

Если пользователь отменяет подписку из оповещений SMS и добавляется в новую группу действий, он получает sms-оповещения для этой новой группы действий, но остается незаписанным из всех предыдущих групп действий.

В группе действий может быть ограниченное число действий приложения Azure.

Поддержка sms-уведомлений в странах и регионах

Развертывание для просмотра списка
Country code Country
61 Australia
43 Austria
32 Belgium
55 Brazil
1 Canada
56 Chile
86 China
420 Czech Republic
45 Denmark
372 Estonia
358 Finland
33 France
49 Germany
852 Специальный административный район Гонконга
91 India
353 Ireland
972 Israel
39 Italy
81 Japan
352 Luxembourg
60 Malaysia
52 Mexico
31 Netherlands
64 New Zealand
47 Norway
351 Portugal
1 Puerto Rico
40 Romania
7 Russia
65 Singapore
27 South Africa
82 South Korea
34 Spain
41 Switzerland
886 Taiwan
971 UAE
44 United Kingdom
1 United States

Voice

В каждой группе действий может быть ограниченное число голосовых команд. Важные сведения об ограничениях скорости см. в разделе об ограничениях службы Azure Monitor.

Note

Если вы не можете выбрать код своей страны или региона на портале Azure, голосовые звонки для него не поддерживаются. Если код страны или региона недоступен, можно проголосовать за добавление вашей страны или региона на портале Поделитесь своими идеями. А пока в качестве обходного пути можно настроить группу действий так, чтобы она вызывала веб-перехватчик для стороннего поставщика голосовых вызовов, который поддерживает вашу страну или регион. Если страна отмечена звездочкой (*), звонки поступают из номера телефона на основе США.

Поддержка голосовых уведомлений в странах и регионах

Развертывание для просмотра списка
Country code Country
61 Australia
43 Austria
32 Belgium
55 Brazil
1 Canada
56 Chile
86 China*
420 Czech Republic
45 Denmark
372 Estonia
358 Finland
33 France
49 Germany
852 Hong Kong*
91 India*
353 Ireland
972 Israel
39 Italy*
81 Japan*
352 Luxembourg
60 Malaysia
52 Mexico
31 Netherlands
64 New Zealand
47 Norway
351 Portugal
40 Romania*
7 Russia*
65 Singapore
27 South Africa
82 South Korea
34 Spain
46 Sweeden
41 Switzerland
886 Taiwan*
971 Объединённые Арабские Эмираты*
44 United Kingdom
1 United States

Сведения о ценах для поддерживаемых стран и регионов см. в разделе цен на Azure Monitor.

Webhook

Note

Если вы используете действие веб-перехватчика, целевая конечная точка веб-перехватчика должна иметь возможность обрабатывать различные полезные данные JSON, которые выдают разные источники оповещений. Конечная точка веб-перехватчика также должна быть общедоступной. Невозможно передать сертификаты безопасности через действие вебхука. Чтобы использовать базовую проверку подлинности, необходимо передать учетные данные через универсальный код ресурса (URI). Если конечная точка веб-перехватчика ожидает определенную схему оповещений (например, схему Microsoft Teams), используйте действие приложения логики для преобразования схемы оповещений в соответствии с ожиданиями целевого веб-перехватчика.

Группы действий веб-перехватчика обычно следуют этим правилам при вызове:

  • Когда вызывается веб-перехватчик, если первый вызов не удаётся, он повторяется как минимум ещё 1 раз, и до 5 раз в целом (5 повторных попыток) с различными интервалами задержки (5, 20, 40 секунд).

    Attempts Delay
    Между 1-й и 2-й 5 seconds
    Между 2-м и 3-м 20 seconds
    Между 3-м и 4-м 5 seconds
    Между 4-м и 5-м 40 seconds
    Между 5-м и 6-м 5 seconds
  • После того как повторные попытки вызвать веб-перехватчик не увенчались успехом, ни одна группа действий не вызывает конечную точку в течение 15 минут.

  • Логика повторных попыток предполагает, что вызов можно выполнить повторно. Коды состояния 408, 429, 503, 504 или HttpRequestException, WebException позволяют TaskCancellationException получить вызов.

Настройка проверки подлинности для защищённого веб-хука

Действие безопасного веб-перехватчика проходит проверку подлинности в защищенном API с помощью экземпляра субъекта-службы в клиенте Microsoft Entra приложения ВЕБ-перехватчика AAD AAD. Чтобы группа действий функционировала, эта учетная запись службы Microsoft Entra Webhook должна быть добавлена в качестве члена роли в целевом приложении Microsoft Entra, которое предоставляет доступ к целевой конечной точке.

Для получения общих сведений о приложениях и субъектах службы Microsoft Entra см. Microsoft identity platform (v2.0) overview. Выполните следующие действия, чтобы воспользоваться преимуществами функций безопасного веб-перехватчика.

Note

Базовая аутентификация не поддерживается для SecureWebhook. Чтобы использовать базовую проверку подлинности, необходимо использовать Webhook.

Если вы используете действие веб-перехватчика, целевая конечная точка веб-перехватчика должна иметь возможность обрабатывать различные полезные данные JSON, которые выдают разные источники оповещений. Если конечная точка веб-перехватчика ожидает определенную схему оповещений (например, схему Microsoft Teams), используйте действие приложения логики для преобразования схемы оповещений в соответствии с ожиданиями целевого веб-перехватчика.

Note

Модули Azure AD и MSOnline PowerShell устарели с 30 марта 2024 г. Дополнительные сведения см. в обновлении об отмене. После этой даты поддержка этих модулей ограничена поддержкой миграции в пакет SDK Для Microsoft Graph PowerShell и исправления безопасности. Устаревшие модули будут продолжать функционировать до 30 марта 2025 года.

Мы рекомендуем перейти на Microsoft Graph PowerShell для взаимодействия с идентификатором Microsoft Entra (ранее — Azure AD). Часто задаваемые вопросы о миграции см. в разделе "Вопросы и ответы о миграции". Примечание: Версии 1.0.x MSOnline могут испытывать сбои после 30 июня 2024 г.

  1. Создайте приложение Microsoft Entra для защищенного веб-API. Дополнительные сведения см. в разделе "Защищенный веб-API: регистрация приложений". Настройте защищенный API для вызова демон-приложением и раскрытия разрешений приложения, а не делегированных разрешений.

    Tip

    Настройте защищенный веб-API так, чтобы принимались маркеры доступа версии 2.0. Для получения дополнительной информации об этом параметре см. манифест приложения Microsoft Entra.

  2. Чтобы включить группу действий для использования приложения Microsoft Entra, используйте сценарий PowerShell, следующий за этой процедурой.

    Note

    • Чтобы выполнить этот скрипт, у вас должна быть назначена роль администратора приложений Microsoft Entra.

    • Субъект-служба должна быть назначена роль владельца приложения Microsoft Entra, чтобы иметь возможность создавать, изменять или тестировать действие безопасного веб-перехватчика в группе действий.

  3. Настройте действие безопасного вебхука.

    1. Скопируйте значение $myApp.ObjectId, которое находится в сценарии.
    2. В определении действия веб-перехватчика в поле Идентификатор объекта введите скопированное значение.

    Снимок экрана, показывающий диалоговое окно

Сценарий PowerShell для защищенного вебхука

Note

Предварительные требования. Установка пакета SDK Для Microsoft Graph PowerShell

Как запустить

  1. Скопируйте и вставьте следующий скрипт на компьютер.
  2. Замените tenantId и ObjectID в своей регистрации приложения.
  3. Сохранить как *.ps1
  4. Откройте команду PowerShell на компьютере и запустите скрипт *.ps1 .

Развертывание для просмотра скрипта
Write-Host "================================================================================================="
$scopes = "Application.ReadWrite.All"
$myTenantId = "<<Customer's tenant id>>"
$myMicrosoftEntraAppRegistrationObjectId = "<<Customer's object id from the app registration>>"
$actionGroupRoleName = "ActionGroupsSecureWebhook"
$azureMonitorActionGroupsAppId = "461e8683-5575-4561-ac7f-899cc907d62a" # Required. Do not change.

Connect-MgGraph -Scopes $scopes -TenantId $myTenantId

Function CreateAppRole([string] $Name, [string] $Description)
{
    $appRole = @{
        AllowedMemberTypes = @("Application")
        DisplayName = $Name
        Id = New-Guid
        IsEnabled = $true
        Description = $Description
        Value = $Name
    }
    return $appRole
}

$myApp = Get-MgApplication -ApplicationId $myMicrosoftEntraAppRegistrationObjectId
$myAppRoles = $myApp.AppRoles
$myActionGroupServicePrincipal = Get-MgServicePrincipal -Filter "appId eq '$azureMonitorActionGroupsAppId'"

Write-Host "App Roles before addition of new role.."
foreach ($role in $myAppRoles) { Write-Host $role.Value }

if ($myAppRoles.Value -contains $actionGroupRoleName)
{
    Write-Host "The Action Group role is already defined. No need to redefine.`n"
    # Retrieve the application again to get the updated roles
    $myApp = Get-MgApplication -ApplicationId $myMicrosoftEntraAppRegistrationObjectId
    $myAppRoles = $myApp.AppRoles
}
else
{
    Write-Host "The Action Group role is not defined. Defining the role and adding it."
    $newRole = CreateAppRole -Name $actionGroupRoleName -Description "This is a role for Action Group to join"
    $myAppRoles += $newRole
    Update-MgApplication -ApplicationId $myApp.Id -AppRole $myAppRoles

    # Retrieve the application again to get the updated roles
    $myApp = Get-MgApplication -ApplicationId $myMicrosoftEntraAppRegistrationObjectId
    $myAppRoles = $myApp.AppRoles
}

$myServicePrincipal = Get-MgServicePrincipal -Filter "appId eq '$($myApp.AppId)'"

if ($myActionGroupServicePrincipal.DisplayName -contains "AzNS AAD Webhook")
{
    Write-Host "The Service principal is already defined.`n"
    Write-Host "The action group Service Principal is: " + $myActionGroupServicePrincipal.DisplayName + " and the id is: " + $myActionGroupServicePrincipal.Id
}
else
{
    Write-Host "The Service principal has NOT been defined/created in the tenant.`n"
    $myActionGroupServicePrincipal = New-MgServicePrincipal -AppId $azureMonitorActionGroupsAppId
    Write-Host "The Service Principal is been created successfully, and the id is: " + $myActionGroupServicePrincipal.Id
}

# Check if $myActionGroupServicePrincipal is not $null before trying to access its Id property
# Check if the role assignment already exists
$existingRoleAssignment = Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $myActionGroupServicePrincipal.Id | Where-Object { $_.AppRoleId -eq $myApp.AppRoles[0].Id -and $_.PrincipalId -eq $myActionGroupServicePrincipal.Id -and $_.ResourceId -eq $myServicePrincipal.Id }

# If the role assignment does not exist, create it
if ($null -eq $existingRoleAssignment) {
    Write-Host "Doing app role assignment to the new action group Service Principal`n"
    New-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $myActionGroupServicePrincipal.Id -AppRoleId $myApp.AppRoles[0].Id -PrincipalId $myActionGroupServicePrincipal.Id -ResourceId $myServicePrincipal.Id
} else {
    Write-Host "Skip assigning because the role already existed."
}

Write-Host "myServicePrincipalId: " $myServicePrincipal.Id
Write-Host "My Azure AD Application (ObjectId): " $myApp.Id
Write-Host "My Azure AD Application's Roles"
foreach ($role in $myAppRoles) { Write-Host $role.Value }

Write-Host "================================================================================================="

Миграция действия плана Runbook с "Выполнение от имени учетной записи" на "Выполнение от имени управляемого удостоверения"

Note

Azure Automation Учетная запись запуска была прекращена 30 сентября 2023 года, что влияет на действия, созданные с типом действий Automation Runbook. Существующие действия, которые связываются с модулями Runbook выполнения от имени учетной записи, не будут поддерживаться после вывода из эксплуатации. Однако эти модули Runbook будут продолжать выполняться до истечения срока действия сертификата "Запуск от имени" учетной записи службы автоматизации.

Чтобы продолжить использование действий runbook, необходимо выполнить следующие действия:

  1. Измените группу действий, добавив новое действие с типом Runbook службы автоматизации действий и выберите тот же модуль Runbook из раскрывающегося списка.

    Note

    Все 5 модулей Runbook в раскрывающемся списке были перенастроены на серверной части для проверки подлинности с помощью управляемого удостоверения вместо учетной записи запуска от имени. Назначаемое системой управляемое удостоверение в учетной записи службы автоматизации будет включено с ролью участника виртуальной машины на уровне подписки, будет назначено автоматически.

    Снимок экрана: добавление действия Runbook в группу действий.

    Снимок экрана: настройка действия Runbook.

  2. Удалите старое действие Runbook, которое ссылается на runbook учетной записи запуска от имени .

  3. Сохраните группу действий.

Next steps