Configurar la seguridad de la web y el canal Direct Line

Importante

Las capacidades y características de Power Virtual Agents son ahora parte de Microsoft Copilot Studio tras importantes inversiones en IA generativa e integraciones mejoradas en Microsoft Copilot.

Algunos artículos y capturas de pantalla pueden hacer referencia a Power Virtual Agents mientras actualizamos la documentación y el contenido de capacitación.

Al crear un copiloto de Microsoft Copilot Studio, está disponible de inmediato en los canales Sitio web de demostración y Sitio web personalizado para cualquiera que conozca el id. del copiloto. Estos canales están disponibles de forma predeterminada y no se necesita configuración.

Para la aplicación Microsoft Teams, puede configurar opciones avanzadas de seguridad del canal web.

Nota

Si tiene una Licencia exclusiva para equipos, no puede generar secretos para habilitar el acceso seguro. Los tokens de acceso seguro se crean automáticamente para usted y el acceso seguro está habilitado de forma predeterminada.

Los usuarios pueden encontrar el id. del copiloto directamente en Microsoft Copilot Studio o recibirlo de alguien. Pero, en función de la capacidad y la sensibilidad del copiloto, esto podría no ser deseable.

Con la seguridad basada en Direct Line puede habilitar el acceso únicamente a las ubicaciones que controla habilitando el acceso protegido mediante secretos o símbolos de Direct Line.

También puede intercambiar y regenerar secretos, y actualizar símbolos, y puede deshabilitar fácilmente el acceso protegido si ya no desea usarlo.

Nota

Microsoft Copilot Studio usa el canal de Direct Line de Bot Framework para conectar su página web o aplicación al copiloto.

Habilitar o deshabilitar la seguridad de canales web

Puede imponer el uso de secretos y símbolos para cada copiloto individual.

Cuando esta opción está habilitada, los canales necesitarán que el cliente autentique sus solicitudes mediante un secreto o mediante un símbolo que se genera a partir del secreto, obtenido en tiempo de ejecución.

Cualquier acceso al copiloto que no proporcione esta medida de seguridad no funcionará.

  1. Bajo de su copiloto, en Configuración, seleccione Seguridad. A continuación, seleccione el mosaico Seguridad de canales web.

    Captura de pantalla que muestra resalta la seguridad de canales web en el control flotante Configuración.

  2. Pase el conmutador Exigir acceso protegido a Habilitado.

    Captura de pantalla que muestra la página de seguridad de canales web.

Advertencia

Una vez habilitada o deshabilitada la opción "Exigir acceso protegido", el sistema puede tardar hasta dos horas en propagar y aplicar la configuración. Mientras, estará vigente la configuración anterior. No es necesario publicar el copiloto para que este cambio surta efecto.

Debe planificar con antelación para evitar exponer el copiloto accidentalmente.

Si tiene que deshabilitar la opción de seguridad del canal web, puede hacerlo cambiando Exigir acceso protegido a Deshabilitado. Al deshabilitar el acceso protegido, la nueva configuración puede tardar hasta dos horas en propagarse.

Captura de pantalla que muestra un mensaje de confirmación al deshabilitar el acceso protegido que dice que esta acción hace disponibles el sitio web de demostración y cualquier canal de Direct Line que no use un secreto o un símbolo. Esta acción puede tardar hasta dos horas en surtir efecto.

Utilizar secretos o símbolos

Si está creando una aplicación de servicio a servicio, el enfoque más sencillo puede ser especificar el secreto en las solicitudes de encabezado de autorización.

Si va a escribir una aplicación en la que el cliente se ejecuta en un explorador web o una aplicación móvil, o en la que el código pueda ser visible para los clientes, debe cambiar el secreto por un símbolo. Si no usa un símbolo, el secreto podría verse expuesto. Al realizar la solicitud para obtener el símbolo en el servicio, especifique el secreto en el encabezado de autorización.

Los símbolos solo funcionan para una conversación individual, y expiran a menos que se actualicen.

Elija el modelo de seguridad que mejor se adapte a su situación.

Advertencia

Recomendamos encarecidamente evitar la exposición del secreto en código que se ejecute en el explorador, ya sea insertado en el código o transferido a través de una llamada de red.

Obtener el símbolo a partir del secreto en el código del servicio es la forma más segura de proteger el copiloto de Microsoft Copilot Studio.

Obtener los secretos

Necesitará el secreto para poder especificarlo en las solicitudes de encabezado de autorización de su aplicación o similares.

  1. En el menú de navegación, en Configuración, seleccione Seguridad. A continuación, seleccione el mosaico Seguridad de canales web.

  2. Seleccione Copiar para Secreto 1 o Secreto 2, para copiarlos al portapapeles. Seleccione el ícono de visibilidad Ícono de visibilidad Icono Visibilidad. para revelar el secreto. Aparecerá una advertencia antes de que pueda revelarlo.

Intercambiar secretos

Si tiene que cambiar el secreto que utiliza el copiloto, puede hacerlo sin tiempo de inactividad ni interrupciones.

Microsoft Copilot Studio le proporciona dos secretos que funcionan simultáneamente. Puede cambiar el secreto que se está utilizando por el otro. Cuando se han intercambiado los secretos y todos los usuarios están conectados con el nuevo secreto, podrá regenerar el secreto de forma segura.

Regenerar un secreto

Para regenerar un secreto, seleccione Regenerar junto al secreto.

Advertencia

Se desconectará a cualquier usuario que se conecte con el secreto original o un símbolo obtenido de ese secreto.

Generar un símbolo

Puede generar un símbolo para usarlo al iniciar una conversación de copiloto individual. Para obtener más información, vea la sección Obtener símbolo de Direct Line en el artículo Agregar copiloto a aplicaciones móviles y personalizadas.

  1. Obtener el secreto.

  2. Emita la siguiente solicitud en el código del servicio para intercambiar el secreto por un símbolo. Reemplace <SECRET> por el valor del secreto que obtuvo en el Paso 1.

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

Los siguientes fragmentos de código proporcionan ejemplos de solicitud de generación de símbolo y la respuesta correspondiente.

Ejemplo de solicitud de generación de símbolo

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

Ejemplo de respuesta de generación de símbolo

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

Si la solicitud tiene éxito, la respuesta contiene un símbolo válido para una conversación y un valor expires_in que indica el número de segundos que transcurrirán hasta que el símbolo expire.

Para que siga siendo útil, debe actualizar el símbolo antes de que expire.

Actualizar un símbolo

Un símbolo se puede actualizar un número ilimitado de veces, siempre que no haya expirado.

Un símbolo expirado no se puede actualizar.

Para actualizar un símbolo, emita la siguiente solicitud y reemplace <TOKEN TO BE REFRESHED> por el símbolo que desea actualizar.

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

Los siguientes fragmentos de código proporcionan ejemplos de solicitud de actualización de símbolo y la respuesta correspondiente.

Ejemplo de solicitud de actualización

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

Ejemplo de respuesta de actualización

Si la solicitud tiene éxito, la respuesta contiene un nuevo símbolo válido para la misma conversación que el símbolo anterior y un valor expires_in que indica el número de segundos que transcurrirán hasta que el nuevo símbolo expire.

Para que siga siendo útil, debe volver a actualizar el nuevo símbolo antes de que expire.

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

Para obtener más información sobre la actualización de un símbolo, consulte la sección Actualizar un símbolo de Direct Line en el artículo API de Direct Line: autenticación.