Настройка безопасности сети и канала Direct Line
Когда вы создаете Copilot Studio агент, он сразу же становится доступен на каналах Демо-сайта и Пользовательского веб-сайта для всех, кто знает идентификатор агент. Эти каналы доступны по умолчанию, и их настройка не требуется.
Для приложения Microsoft Teams вы можете настроить расширенные параметры безопасности веб-канала.
Заметка
Если у вас есть только лицензия Teams, вы не можете создавать секреты для обеспечения безопасного доступа. Токены безопасного доступа создаются автоматически, а безопасный доступ включен по умолчанию.
Пользователи могут найти идентификатор агент непосредственно внутри Copilot Studio или получить его от кого-то. Однако в зависимости от возможностей агент и Важность это может быть нежелательно.
С безопасностью на основе Direct Line вы можете разрешить доступ только в те места, которые вы контролируете, включив безопасный доступ с секретами или токенами Direct Line.
Вы также можете менять и повторно создавать секреты и обновлять токены, а также легко отключать защищенный доступ, если вы больше не хотите его использовать.
Заметка
Copilot Studio использует Bot Framework Direct Line канал для подключения вашей веб-страницы или приложения к агент.
Включение или отключение безопасности веб-канала
Вы можете принудительно использовать секреты и токены для каждого отдельного агент.
После включения этого параметра каналам требуется, чтобы клиент аутентифицировал свои запросы либо с помощью секрета, или используя токен, который генерируется с использованием секрета, полученного во время выполнения.
Любой доступ к агент, не обеспечивающий эту меру безопасности, не будет работать.
Под вашим агент, в разделе Настройки выберите Безопасность. Затем выберите плитку Безопасность веб-канала.
Установите выключатель Требовать защищенного доступа в положение Включено.
Предупреждение
После включения или отключения параметра "Требовать защищенный доступ" системе может потребоваться до двух часов, чтобы применить настройки и ввести их в действие. До тех пор будет действовать предыдущая настройка. Вам не нужно публиковать агент, чтобы это изменение вступило в силу.
Вам следует планировать все заранее, чтобы избежать непреднамеренного разоблачения вашего агент.
Если вам нужно отключить параметр безопасности веб-канала, вы можете сделать это, переключив выключатель Требовать безопасный доступ в положение Отключено. Отключение защищенного доступа может занять до двух часов для распространения.
Использование секретов или токенов
Если вы создаете приложение для работы между службами, указание секрета в запросах заголовка авторизации может быть самым простым подходом.
Если вы создаете приложение, в котором клиент работает в веб-браузере или мобильном приложении, или его код как-то иначе может быть виден клиентам, вы должны изменить свой секрет на токен. Если вы не используете токен, ваш секрет может быть скомпрометирован. Когда вы делаете запрос на получение токена в своей службе, укажите секрет в заголовке авторизации.
Токены работают только для одного разговора, и их срок действия истечет, если они не будут обновлены.
Выберите модель безопасности, которая лучше всего подходит для вашей ситуации.
Предупреждение
Мы настоятельно не рекомендуем раскрывать секрет в любом коде, который выполняется в браузере, либо жестко закодированный, либо передаваемый через сетевой вызов.
Получение токена с использованием секрета в коде вашего сервиса — наиболее безопасный способ защитить ваш Copilot Studio агент.
Получение секретов
Вам требуется секрет, чтобы вы могли указать его в запросах заголовка авторизации вашего приложения или аналогичных.
В меню навигации в разделе Параметры выберите Безопасность. Затем выберите плитку Безопасность веб-канала.
Выберите Копировать для Секрет 1 или Секрет 2, чтобы скопировать его в буфер обмена. Выберите значок видимости , чтобы показать секрет. Перед тем, как вы сможете ее показать, появляется предупреждение.
Обмен секретов
Если вам необходимо изменить секрет, используемый вашим агент, вы можете сделать это без простоев или прерываний.
Copilot Studio предоставляет вам два секрета, которые работают одновременно. Вы можете поменять используемый секрет на другой. Как только секреты поменялись местами, и все ваши пользователи подключились с использованием нового секрета, вы можете безопасно повторно создать этот секрет.
Повторно создать секрет
Чтобы повторно создать секрет, выберите Повторно создать рядом с секретом.
Предупреждение
Любой пользователь, подключенный с использованием исходного секрета или токена, полученного из этого секрета, будет отключен.
Генерация токена
Вы можете сгенерировать токен, который можно использовать при запуске одного разговора агент. Для получения дополнительной информации см. раздел Получение Direct Line токена в Публикация агент в мобильных или пользовательских приложениях.
Выполните следующий запрос в своем служебном коде, чтобы обменять секрет на токен. Замените
<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 — Аутентификация.