Evita la distribución no autorizada

En esta página, se describen en resumen las opciones que proporciona Media CDN para evitar la distribución no autorizada de tu contenido.

Media CDN admite varias opciones de solicitud firmadas para ayudar a proteger tu contenido de la distribución no autorizada. Un token es un medio para intercambiar solicitudes firmadas, como una cookie firmada, un URI con parámetros de consulta o un componente de ruta de acceso. Los tokens válidos que presentan los visualizadores se usan para autenticar el acceso a tu contenido. Un visualizador con un token no válido o un token faltante no puede acceder a tu contenido.

Media CDN ofrece las siguientes opciones de solicitud firmadas para la autenticación de clientes:

  • Firmas: Media CDN usa una sola firma para ayudar a proteger el contenido.

  • Tokens: Media CDN usa tokens para ayudar a proteger el contenido. Puedes elegir usar la autenticación con un solo token o con un token doble.

    Cuando se usa la autenticación de doble token, Media CDN usa dos tokens, uno de corta duración y otro de larga duración, para ayudar a proteger el contenido.

Las firmas te permiten realizar la firma de URL completa, incluido el host y el protocolo.

Los tokens ofrecen las siguientes capacidades:

  • Compatibilidad con CDN que no sean de Google
  • Firma de solo ruta de acceso
  • Capacidad de firmar más de un encabezado
  • Capacidad de incorporar ID de sesión y datos arbitrarios

Recomendamos tokens para integraciones nuevas. Los tokens son necesarios para la autenticación de doble token.

Puedes usar las solicitudes firmadas y las solicitudes de autenticación de token dobles juntas para proteger tu contenido.

Cómo funcionan las solicitudes firmadas

Una solicitud firmada usa firmas o tokens para verificar que los visualizadores estén autenticados a fin de acceder al contenido. Puedes configurar Media CDN de modo que el acceso tenga alcance a cualquiera de las siguientes opciones:

  • Un URI o prefijo de URI exacto por un tiempo limitado
  • Un cliente específico
  • Para solicitudes firmadas que usan tokens, hasta cinco rutas con comodines

Para usar las solicitudes firmadas, debes generar claves a fin de firmar y verificar firmas. Luego, configuras las rutas, que te permiten optimizar el comportamiento según el tipo de contenido, los atributos del cliente y los requisitos de actualidad. Las solicitudes firmadas se pueden aplicar por ruta, lo que te ayuda a proteger extremos específicos.

Cada servicio de Media CDN puede usar un conjunto de varias claves. La colección de claves también se conoce como conjunto de claves. Los conjuntos de claves te permiten rotar las claves y distribuirlas en tu propia infraestructura sin interrupciones.

Puedes configurar Media CDN para que use solicitudes firmadas o tokens a fin de proteger el contenido.

Para las solicitudes firmadas que usan firmas, puedes usar cualquiera de los siguientes formatos:

  • Un URI exacto dentro de los parámetros de búsqueda: especifica un URLPrefix con el URI exacto y agrega los mismos parámetros de consulta a varios URI.
  • Un prefijo de URI dentro de los parámetros de búsqueda: especifica un URLPrefix con un prefijo de URI y agrega los mismos parámetros de consulta a varios URI.
  • Un componente de ruta de acceso: especifica un componente de ruta de acceso, que permite que los URI de manifiesto relativos hereden el componente de URI firmado.
  • Una cookie firmada: especificas un prefijo de URI en una cookie, lo que permite el acceso a cualquier URI del prefijo que especificaste.

Para obtener más información, consulta Genera firmas.

Para las solicitudes firmadas que usan tokens, puedes colocar el token en cualquiera de las siguientes opciones:

  • En el parámetro de consulta que elijas
  • En una cookie

Para obtener más información, consulta Genera tokens.

Cómo funciona la autenticación de doble token

La autenticación de doble token usa dos tokens a fin de autenticar solicitudes a tu contenido: un token de corta duración para el inicio de la reproducción y un token de larga duración durante el resto de la sesión de reproducción.

A fin de usar la autenticación de token doble, configura el servidor de tu aplicación para que emita tokens de corta duración a los usuarios-agentes. Luego, configura Media CDN para que responda a los tokens de corta duración. Puedes colocar el token en un parámetro de consulta de tu elección o colocar una clave en una cookie.

Los tokens de corta duración generados por el servidor de aplicaciones ayudan a proteger los manifiestos principales (a veces llamados manifiestos de instancia principal o listas de reproducción de mulivariants). El vencimiento de la solicitud firmada es lo suficientemente corto como para solicitar un manifiesto principal, pero no ver todo el contenido que se encuentra en un manifiesto.

Cuando Media CDN recibe una solicitud con un token de corta duración autorizado, genera un token de larga duración firmado. Puedes usar el token en un parámetro de consulta con nombre único o en una cookie. El token de larga duración admite la visualización de un programa de longitud completa. Los tokens de larga duración firmados por Media CDN usan firmas Ed25519 que se firman con claves administradas por Google asociadas con un EdgeCacheKeyset.

Puedes personalizar la fecha de vencimiento de los tokens de corta y larga duración. Como práctica recomendada, te sugerimos que configures el tiempo de caducidad de los tokens de corta duración generados en tu servidor de aplicaciones en un minuto. Debes configurar el tiempo de vencimiento de los tokens de larga duración que genera Media CDN para una duración mayor que la de tu contenido, hasta un máximo de un día.

Flujo de solicitud para la autenticación de doble token

A continuación, se describe el flujo de solicitudes:

  1. Un visualizar solicita metadatos del servidor de tu aplicación para ver los medios que quiere ver. El servidor de aplicaciones muestra el URI del manifiesto principal firmado con un token de corta duración.

  2. La aplicación del jugador solicita el manifiesto principal de Media CDN. La solicitud incluye el token de corta duración como un valor de un parámetro de consulta de URI en el formato de parámetros de consulta de nombre único.

  3. Media CDN verifica el token de corta duración y los parámetros firmados del token.

    1. Si el token es válido, Media CDN crea un token de firma de larga duración. Media CDN muestra el token en un encabezado Set-Cookie o mediante la modificación de los URI del manifiesto y del segmento en el manifiesto principal para incluir el token.
    2. Si el token no es válido, Media CDN responde con una respuesta HTTP 403 Forbidden.
  4. La aplicación del reproductor recibe el manifiesto principal de Media CDN y, luego, solicita la lista de reproducción de medios o los segmentos de medios que se mencionan en el manifiesto principal. La solicitud debe incluir el token de larga duración, ya sea como una cookie firmada o un parámetro URI.

  5. Media CDN verifica el token de firma de larga duración:

    1. Si el token de larga duración es válido para la solicitud específica, Media CDN entrega el contenido solicitado.
    2. Si el token de larga duración no es válido (debido a un token vencido o a una ruta no válida), Media CDN responde con una respuesta HTTP 403 Forbidden.
  6. El proceso se repite hasta que finalice la reproducción de medios o la firma de larga duración.

Formatos de token compatibles para solicitudes firmadas de doble token

Las solicitudes de dos tokens firmados de Media CDN admiten varios formatos, según el tipo de token.

Solicitudes firmadas de corta duración

Media CDN admite tokens firmados con firmas Ed25519 de forma predeterminada para las solicitudes firmadas de corta duración. También puedes usar códigos de autenticación de mensajes basados en hash (HMAC) de clave simétrica para la compatibilidad con el código de la aplicación existente y otras CDN.

Si quieres usar HMAC, usa Secret Manager para almacenar el secreto de HMAC. Luego, debes otorgar acceso a la cuenta de servicio de Media CDN para acceder al secreto almacenado. Como práctica recomendada, recomendamos usar la firma asimétrica con las firmas Ed25519 para seguridad y rendimiento.

La cuenta de servicio de Media CDN es propiedad del proyecto de Media CDN y no se muestra en la lista de cuentas de servicio de tu proyecto. La cuenta de servicio otorga acceso solo a los recursos de Media CDN en los proyectos que permites de forma explícita.

La cuenta de servicio tiene el siguiente formato:

service-PROJECT_NUMBER@gcp-sa-mediaedgefill.iam.gserviceaccount.com

En el ejemplo anterior, PROJECT_NUMBER es el número del proyecto.

Para activar la cuenta de servicio de Media CDN del servicio, crea al menos un recurso de Media CDN, como EdgeCacheOrigin.

Solicitudes firmadas de larga duración

Para las solicitudes firmadas de larga duración, Media CDN usa firmas Ed25519 firmadas con claves administradas por Google asociadas con un EdgeCacheKeyset.

Media CDN admite un solo formato de token para tokens de larga duración, que se puede usar en un parámetro de consulta con nombre único para transmisiones de HLS o en una cookie.

Consideraciones

En las siguientes secciones, se analizan los siguientes elementos:

Límites de URI

La mayoría de los clientes HTTP modernos admiten URI de hasta 8,000 caracteres. Sin embargo, algunos dispositivos heredados o de nicho pueden tener límites más estrictos. En general, un URI firmado agrega alrededor de 125 caracteres al URI de solicitud, lo que incluye lo siguiente:

  • Si se usan todos los nombres de campo, aproximadamente 67 caracteres para cada campo (como Expires= y KeyName=).
  • Para la marca de tiempo de Unix, 10 caracteres
  • Para KeyName, cinco caracteres
  • Para el valor Signature codificado en base64, 43 caracteres

Como práctica recomendada, mantén los URI de menos de 2,000 caracteres mediante parámetros de consulta como tokens. Los URI más cortos evitan que los dispositivos envíen URI truncados a Media CDN.

Dispositivos de transmisión de video por Internet heredados

Es posible que algunos dispositivos de transmisión de video heredados no admitan por completo adjuntar cookies a solicitudes de manifiesto o de segmento de contenido multimedia. Si tienes dispositivos con problemas conocidos que controlan las cookies HTTP, configura Media CDN a fin de que use parámetros de consulta para intercambio de doble token y solicitudes firmadas.

Eres el único responsable del consentimiento y el cumplimiento de la privacidad que se requieren cuando se usan cookies para intercambiar tokens de corta duración. Cuando Media CDN se configura con el fin de usar solicitudes firmadas de doble token, Google emite y administra las cookies que se usan para tokens de larga duración.

Facturación

Si deseas obtener más información sobre la facturación de Secret Manager, consulta Precios.

Las recuperaciones de Secret CDN para secretos se almacenan en caché de forma interna, lo que reduce de forma significativa la tasa de recuperaciones de secretos de Secret Manager. Las recuperaciones reducidas también reducen las tasas de acceso que Secret Manager observa y factura.

Para obtener más información sobre el almacenamiento en caché de Secret en Media CDN, consulta Descripción general de las claves.