Uso de una política de seguridad de contenido con la biblioteca de clientes de Amazon SDK Chime para JavaScript - Amazon Chime SDK

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de una política de seguridad de contenido con la biblioteca de clientes de Amazon SDK Chime para JavaScript

Las aplicaciones web modernas utilizan una política de seguridad de contenido para proteger a los usuarios de determinadas clases de ataques. Las aplicaciones que utilicen el VideoFxProcessor deben incluir las directivas de políticas que se describen en esta sección. Las directivas dan a Amazon Chime SDK acceso a los recursos que necesita en tiempo de ejecución.

Directivas de política de seguridad de contenido obligatorias

Debe utilizar las siguientes directivas de política de seguridad de contenido.

  • Para script-src: añada blob: https://*.sdkassets.chime.aws para cargar el código de procesamiento de video y wasm-unsafe-eval para permitir su ejecución.

  • Para script-src-elem: añada blob: https://*.sdkassets.chime.aws para cargar el código de procesamiento de video desde la fuente.

  • Para worker-src: añadir y blob: https://*.sdkassets.chime.aws cargar trabajadores JavaScript en todos los orígenes.

Si omite alguna de estas entradas, o si utiliza HTTP encabezados y http-equiv metaetiquetas para especificar una política y excluye inadvertidamente alguna de ellas por intersección, no se podrá inicializar un filtro en segundo plano. Parece que el filtro no es compatible o crea un procesador de fotogramas de video no operativo. Verá errores en la consola de su navegador, como los siguientes:

Refused to connect to 'https://static.sdkassets.chime.aws/bgblur/workers/worker.js…' because it violates the document's content security policy.

Directivas de política de scripts requeridas

Para funcionar, la VideoFxProcessor clase debe cargar JavaScript las clases en tiempo de ejecución desde una red de entrega de contenido de Amazon. Estas clases utilizan la Web GL2 para implementar el posprocesamiento de vídeo. Para permitir que una aplicación busque y ejecute estas clases, debe incluir las siguientes directivas:

  • script-src 'self' blob: https://*.sdkassets.chime.aws

  • script-src-elem 'self' blob: https://*.sdkassets.chime.aws

nota

Para obtener una compatibilidad total con Safari y Firefox, debes usar las directivas script-src y script-src-elem.

Directiva de política de trabajo

VideoFxProcessorCarga las JavaScript clases como un blob para ejecutar un hilo de trabajo web. El hilo utiliza modelos de machine learning para procesar el video. Para conceder a una aplicación el acceso necesario para recuperar y utilizar este programa de trabajo, incluye la siguiente directiva:

worker-src 'self' blob: https://*.sdkassets.chime.aws

WebAssembly política

VideoFxProcessorCarga un módulo WebAssembly (WASM) desde la misma red de entrega de contenido propiedad de Amazon. En Chrome 95 y versiones posteriores, los WASM módulos compilados no se pueden transferir a través de varios límites de módulos. Para poder recuperar e instanciar estos módulos, incluya 'wasm-unsafe-eval' en la directiva script-src.

Para obtener más información sobre la documentación de la Política de seguridad de contenido WebAssembly, consulta la Política de seguridad de WebAssembly contenido en GitHub.

(Opcional) Política de imágenes de fondo

Para utilizar una imagen de fondo cargada dinámicamente con un filtro de reemplazo de fondo, VideoFxProcessor debe tener acceso a la imagen. Para ello, incluya una directiva de connect-src con el dominio que aloja la imagen.

Ejemplo de política de seguridad de contenido

La siguiente política de ejemplo le permite usar el VideoFxProcessor: Las definiciones de connect-src no son específicas de un VideoFxProcessor. En cambio, están relacionados con el audio y el vídeo de una reunión de Amazon ChimeSDK.

<head> <meta http-equiv="Content-Security-Policy" content="base-uri 'self'; connect-src 'self' https://*.chime.aws wss://*.chime.aws https://*.amazonaws.com wss://*.chime.aws https://*.ingest.chime.aws; script-src 'self' blob: 'wasm-unsafe-eval' https://*.sdkassets.chime.aws; script-src-elem 'self' blob: https://*.sdkassets.chime.aws; worker-src 'self' blob: https://*.sdkassets.chime.aws;"> </head>

Errores de la política de seguridad del contenido

Si omite alguna de las directivas obligatorias, VideoFxProcessor no se instanciará ni será compatible. En ese caso, aparece el siguiente error (o uno similar) en la consola del navegador:

Refused to connect to 'https://static.sdkassets.chime.aws/ml_media_fx/otherassets/worker.js' because it violates the document's content security policy.

Política de seguridad del contenido de apertura de origen cruzado

Para limitar el uso de memoria, el módulo prefiere usar una SharedArrayBuffer para el procesamiento. Sin embargo, esto requiere que configure cuidadosamente la seguridad web. Debe configurar los siguientes encabezados al entregar su solicitud: HTML

Cross-Origin-Opener-Policy: same-origin Cross-Origin-Embedder-Policy: require-corp

El servidor debe configurarlos porque no tienen equivalentes en metaetiquetas. Si no configuras estos encabezados, es posible que los filtros de fondo usen un poco más. RAM

Los filtros de fondo pueden ser CPU intensivos e GPU intensivos. Es posible que algunos dispositivos móviles y computadoras portátiles o de sobremesa con especificaciones inferiores no tengan la potencia necesaria para ejecutar los filtros junto con varias transmisiones de video.