Настройка безопасности сети и канала Direct Line

Внимание

Возможности и функции Power Virtual Agents теперь являются частью Microsoft Copilot Studio после значительных инвестиций в генеративный искусственный интеллект и расширенную интеграцию с Microsoft Copilot.

Некоторые статьи и снимки экрана могут ссылаться на Power Virtual Agents, пока мы обновляем документацию и учебные материалы.

Когда вы создаете помощник Microsoft Copilot Studio, он сразу доступен в каналах Демо веб-сайт и Пользовательский веб-сайт для всех, кто знает идентификатор помощника. Эти каналы доступны по умолчанию, и их настройка не требуется.

Для приложения Microsoft Teams вы можете настроить расширенные параметры безопасности веб-канала.

Заметка

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

Пользователи могут найти идентификатор помощника прямо в Microsoft Copilot Studio или получив его от кого-то. Но в зависимости от возможностей и конфиденциальности помощника это может быть нежелательно.

С безопасностью на основе Direct Line вы можете разрешить доступ только в те места, которые вы контролируете, включив безопасный доступ с секретами или токенами Direct Line.

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

Заметка

Microsoft Copilot Studio использует канал Bot Framework Direct Line для подключения вашей веб-страницы или приложения к помощнику.

Включение или отключение безопасности веб-канала

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

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

Любой доступ к помощнику, который не обеспечивает эту меру безопасности, не будет работать.

  1. В помощнике в разделе Параметры выберите Безопасность. Затем выберите плитку Безопасность веб-канала.

    Снимок экрана с выделенной защитой веб-канала на всплывающем меню параметров.

  2. Установите выключатель Требовать защищенного доступа в положение Включено.

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

Предупреждение

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

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

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

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

Использование секретов или токенов

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

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

Токены работают только для одного разговора, и их срок действия истечет, если они не будут обновлены.

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

Предупреждение

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

Получение токена с использованием секрета в вашем сервисном коде — наиболее безопасный способ защитить ваш помощник Microsoft Copilot Studio.

Получение секретов

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

  1. В меню навигации в разделе Параметры выберите Безопасность. Затем выберите плитку Безопасность веб-канала.

  2. Выберите Копировать для Секрет 1 или Секрет 2, чтобы скопировать его в буфер обмена. Выберите значок видимости Значок «Видимость»., чтобы показать секрет. Перед тем, как вы сможете ее показать, появляется предупреждение.

Обмен секретов

Если вам нужно изменить секрет, используемый вашим помощником, вы можете сделать это без простоев или перерывов.

Microsoft Copilot Studio предоставляет вам два секрета, которые работают одновременно. Вы можете поменять используемый секрет на другой. Как только секреты поменялись местами, и все ваши пользователи подключились с использованием нового секрета, вы можете безопасно повторно создать этот секрет.

Повторно создать секрет

Чтобы повторно создать секрет, выберите Повторно создать рядом с секретом.

Предупреждение

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

Генерация токена

Вы можете сгенерировать токен, который можно использовать при запуске одного разговора с помощником. Для получения дополнительной информации см. раздел Получение токена Direct Line в статье Добавление помощника в мобильные и пользовательские приложения.

  1. Получите секрет.

  2. Выполните следующий запрос в своем служебном коде, чтобы обменять секрет на токен. Замените <SECRET> значением секрета, полученным на шаге 1.

    POST https://directline.botframework.com/v3/directline/tokens/generate
    Authorization: Bearer <SECRET>
    

Следующие фрагменты кода содержат примеры сгенерированного запроса токена и его ответа.

Пример запроса на создание токена

POST https://directline.botframework.com/v3/directline/tokens/generate
Authorization: Bearer RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0

Пример ответа на запрос на создание токена

HTTP/1.1 200 OK
[other headers]
{
  "conversationId": "abc123",
  "token": "RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn",
  "expires_in": 1800
}

Если запрос успешен, ответ содержит токен, действительный для одного разговора, и значение expires_in, указывающее количество секунд до истечения срока действия токена.

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

Обновление токена

Токен можно обновлять неограниченное количество раз, пока не истечет срок его действия.

Токен с истекшим сроком не может быть обновлен.

Чтобы обновить токен, выполните следующий запрос и замените <TOKEN TO BE REFRESHED> токеном, который вы хотите обновить.

POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer <TOKEN TO BE REFRESHED>

Следующие фрагменты кода содержат примеры запроса на обновление токена и его ответа.

Пример запроса на обновление

POST https://directline.botframework.com/v3/directline/tokens/refresh
Authorization: Bearer CurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xn

Пример ответа на запрос обновления

Если запрос успешен, ответ содержит новый токен, действительный для того же разговора, что и предыдущий токен, и значение expires_in, указывающее количество секунд до истечения срока действия нового токена.

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

HTTP/1.1 200 OK
[other headers]
{
  "conversationId": "abc123",
  "token": "RCurR_XV9ZA.cwA.BKA.y8qbOF5xPGfiCpg4Fv0y8qqbOF5x8qbOF5xniaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0",
  "expires_in": 1800
}

Подробнее об обновлении токена см. в разделе Обновление токена Direct Line в статье Direct Line API — Аутентификация.