Introducción
Este documento describe el procedimiento para configurar y habilitar una política de seguridad de contenido personalizada para webbridge en Cisco Meeting Server (CMS) versión 3.2.
Colaboración de Octavio Miralrio, ingeniero del TAC de Cisco.
Prerequisites
Requirements
Cisco recomienda que tenga conocimientos sobre estos temas:
- configuración general de CMS
- Protocolo de transferencia de hipertexto seguro (HTTPS)
- Lenguaje de marcado de hipertexto (HTML)
- Servidor Web
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- CMS versión 3.2
- Windows Web Server 2016
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Configurar
Configuraciones
Desde la versión 3.2 y posteriores de CMS, los administradores de CMS pueden incrustar la aplicación web en otro sitio web. Esto significa que la aplicación web está incrustada en otra página web.
Nota: La aplicación web puede ejecutar archivos multimedia cuando se incrustan en los navegadores que requieren HTTPS y no en los navegadores con HTTP.
Paso 1. Abra la interfaz de línea de comandos (CLI) del CMS y ejecute el siguiente comando:
webbridge3 https frame-ancestors
El parámetro <frame-ancestors space-defined string> debe reemplazarse por el localizador uniforme de recursos (URL) de tramas donde está incrustada la aplicación web; se admiten comodines, por ejemplo, https://*.octavio.lab, como se muestra en la imagen:

La aplicación web no verifica el contenido del encabezado además de que los caracteres son válidos. Los administradores deben asegurarse de que el encabezado de la directiva de seguridad de contenido contiene cadenas válidas. El tamaño de la cadena está limitado a 1000 caracteres y los caracteres permitidos son a-z A-Z 0-9_ . / : ? # [ ] @ ! $ & ' ( ) * + - = ~ %.
Paso 2. Configure el iFrame incrustado dentro de una página web.
El paso siguiente es incrustar el elemento iframe en una página Web. El elemento iframe es reconocido por la etiqueta <iframe> en un documento HTML. Para admitir medios, se requieren los siguientes atributos:
Nota: Se requiere HTTPS para ejecutar los medios de la aplicación web. También se pueden incluir otros atributos soportados por iframe como height y width.
La creación del contenido de iFrame depende del administrador de la página web, se puede personalizar según sea necesario, el siguiente es un ejemplo de un iFrame creado para fines de demostración:
Customized Content Security Policy
This is the title of the Content Securiity Policy
Welcome to the CMS Content Security Policy Demostration.
All this text is not part of the webbridge itself.
Below you will see the enbedded webapp page, https://join.octavio.lab.
Paso 3. Implemente en el servidor Web.
Una vez que el documento HTML tiene un marco iFrame incrustado, la página se debe cargar en un servidor Web. Para este documento, el archivo HTML se llama index.html y se almacena en un servidor web de Windows, como se muestra en la imagen:

Nota: Las configuraciones adicionales del servidor Web y las opciones disponibles para la página Web están fuera del alcance de este documento. El administrador del servidor Web debe completar la implementación de la página Web.
Verificación
Para validar que la configuración funciona correctamente, abra un navegador web y navegue hasta la página web donde se configuró el iFrame, para este documento es https://ad-ocmiralr.octavio.lab/cmsframe/index.html.

Acceda a cualquier reunión disponible en el CMS y valide que el audio y el vídeo funcionan correctamente.
Troubleshoot
- Se muestra la página web, pero la aplicación web no se carga.

Para resolver este tipo de problema, siga los siguientes pasos:
Paso 1. Abra la CLI del CMS.
Paso 2. Ejecute el siguiente comando: webbridge.
Paso 3. Desde la configuración de webbridge, asegúrese de que Frame-Ancestors sea correcta, debe ser el iframe src configurado en la página web creada.

En este caso, los antecesores de tramas configurados en webbridge son diferentes de los configurados en la página web, como se muestra en la imagen:

Paso 4. Corrija el valor de Frame-Ancestor en la configuración de webbridge o en el código de la página web según sea necesario.
- La aplicación web está cargada, pero no puede acceder a la cámara ni al micrófono.

Este problema se debe a que iframe no está configurado correctamente. Para admitir audio y vídeo, el iframe debe incluir los atributos allowusermedia allow="micrófono; cámara; display-capture".
Para resolver este problema, siga los siguientes pasos:
Paso 1. Abra el servidor web y busque el archivo HTML de la página principal.
Paso 2. Utilice un editor de texto para editar el archivo HTML.
Paso 3. Agregue los atributos de medios al marco i, como se muestra en el siguiente código: