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 ofrece las siguientes opciones para proteger la distribución no autorizada de su contenido.

  • Tokens (enfoque recomendado): Media CDN usa tokens para ayudar a proteger el contenido.

    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 usuarios se usan para autenticar el acceso a tu contenido. Un usuario con un un token no válido o que falta un token no podrá acceder a tu contenido.

    Puedes optar por la autenticación de token único o de token doble. Los tokens son obligatorios para la autenticación de token doble.

    Cuando se usa la autenticación de doble token, Media CDN usa dos tokens, uno de corta duración y uno de larga duración.

    Google recomienda tokens para las integraciones nuevas porque ofrecen la las siguientes ventajas:

    • Proporciona compatibilidad con redes de distribución de contenido (CDN) que no sean de Google.
    • Admite la firma de solo ruta de acceso.
    • Habilitar la firma de varios encabezados
    • Ofrecer control de acceso y revocación detallados
    • Minimizar el impacto de los tokens comprometidos.
    • Puede incorporar IDs de sesión y datos arbitrarios.
  • Firmas: Media CDN usa una sola firma para ayudar a proteger el contenido. Las firmas te permiten realizar firmas de URL completas, incluido el host y protocolo.

Puedes combinar ambas opciones para proteger tu contenido.

Cómo funciona la autenticación de doble token

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

Para utilizar la autenticación de token doble, configura el servidor de aplicaciones para que emitir tokens de corta duración a usuarios-agentes. Luego, configuras Media CDN para responder 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. Para obtener más información, consulta Usa la autenticación de token doble.

Los tokens de corta duración que genera el servidor de aplicaciones ayudan a proteger los manifiestos principales (a veces llamados playlists multivariantes). 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 una duración corta autorizada token, genera un token de larga duración firmado. Puedes usar el token en en un parámetro de consulta con un solo nombre o en una cookie. El token de larga duración permite ver un programa completo. Los tokens de larga duración firmados generadas por Media CDN usan firmas Ed25519 que están firmadas con claves administradas por Google asociadas Recurso EdgeCacheKeyset.

Puedes personalizar el tiempo de vencimiento de los tokens de corta y larga duración. Como práctica recomendada, Google recomienda que configures el tiempo de vencimiento de los tokens de corta duración generados en el servidor de tu aplicación en un minuto. Debes establecer el tiempo de vencimiento de los tokens de larga duración que genera la CDN de Media en una duración superior a la longitud de tu contenido, hasta un máximo de un día.

Flujo de solicitud para la autenticación de token doble

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 tu aplicación devuelve el URI del manifiesto principal. firmado con un token de corta duración.

  2. Tu aplicación de reproductor solicita el manifiesto principal a Media CDN. La solicitud incluye el token de corta duración como un de un parámetro de consulta de URI en el formato de parámetro de consulta con un solo nombre.

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

    1. Si el token es válido, Media CDN crea una red de larga duración token de firma. 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 un Respuesta HTTP 403 Forbidden.
  4. La aplicación del reproductor recibe el manifiesto principal de Media CDN y, luego, solicita la playlist de contenido multimedia o el archivo multimedia a los que se hace referencia en el manifiesto principal. La solicitud debe incluir los un token de larga duración, ya sea como una cookie firmada o como un parámetro de 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 firmadas de token doble 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 los códigos de autenticación de mensajes basados en hash (HMAC) de clave simétrica para la compatibilidad con el código existente de la aplicación y otras CDN.

Para usar HMAC, usa Secret Manager para almacenar el secreto HMAC. Luego, otorgas acceso a la Media CDN la cuenta de servicio para acceder al Secret almacenado. Como práctica recomendada, Google usando firmas asimétricas con firmas Ed25519 por motivos de seguridad y rendimiento.

La cuenta de servicio de Media CDN pertenece al proyecto de Media CDN y no aparece en la lista de cuentas de servicio. La cuenta de servicio otorga acceso solo a Recursos de Media CDN en los proyectos que permitas 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 solicitudes firmadas de larga duración, Media CDN usa Ed25519. firmas que se firman con claves administradas por Google asociadas con un Recurso EdgeCacheKeyset.

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

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 para que el acceso se limite a cualquiera de las siguientes opciones:

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

Para usar solicitudes firmadas, generas claves para firmar y verificar firmas. Luego, configuras rutas, que te permiten optimizar el comportamiento en función del tipo de contenido, los atributos del cliente y tus requisitos de actualización. 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. El conjunto de claves también se conoce como conjunto de claves. Los conjuntos de claves te permiten rotar claves y distribuir claves privadas en tu propia infraestructura sin interrupción.

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

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

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

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

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

  • Un URI exacto con parámetros de consulta: Debes especificar un URLPrefix con el URI exacto y adjuntar los mismos parámetros de consulta a varios URI.
  • Un prefijo de URI con parámetros de consulta: Debes especificar un URLPrefix con un prefijo de URI y anexar 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 con el prefijo que especificaste.

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

Consideraciones

En las siguientes secciones, se analizan varios factores que debes tener en cuenta para evitar la distribución no autorizada de tu contenido.

Consideraciones de seguridad

Media CDN valida todas las solicitudes que coinciden con una ruta configurada con un cdnPolicy.signedRequestMode de REQUIRE_SIGNATURES o REQUIRE_TOKENS.

Te recomendamos que valides las solicitudes en tu origen. Aunque Media CDN rechaza las solicitudes no válidas y sin firmar para una ruta que requiere firmas, los clientes pueden encontrar una forma de acceder a tu origen directamente. Una capa adicional de validación ayuda a proporcionar un enfoque de defensa en profundidad para proteger tu contenido.

En la siguiente tabla, se explican las situaciones en las que Media CDN valida una solicitud:

La solicitud tiene firma ¿La firma es válida? signedRequestMode Comportamiento Código de estado
No N/A REQUIRE_SIGNATURES o REQUIRE_TOKENS Las solicitudes sin firmas o tokens se tratan como si la firma fuera no válido. HTTP 403
No REQUIRE_SIGNATURES o REQUIRE_TOKENS Una firma o un token se consideran no válidos si han vencido o tienen un La URL no coincide o la clave es incorrecta. Las firmas o los tokens no válidos se rechazan en el borde de la CDN. HTTP 403
REQUIRE_SIGNATURES o REQUIRE_TOKENS Se validan una firma o un token y se entrega la respuesta con contenido desde una caché o desde el origen. HTTP 200
Ninguno o DISABLED No se realiza ninguna validación, y se entrega una respuesta directamente al usuario. HTTP 200
No Ninguno o DISABLED No se realiza ninguna validación, y se entrega una respuesta directamente al usuario. HTTP 200

Cuando tu aplicación detecte una firma no válida, asegúrate de que tu la aplicación responde con un código de estado HTTP 403 (Forbidden). Los códigos de estado de HTTP 403 no se pueden almacenar en caché.

Si tu aplicación envía un código de estado que se puede almacenar en caché a una dirección por error, las futuras solicitudes válidas podrían rechazarse por error.

Límites de URI

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

  • Si se utilizan 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, usa una consulta para mantener los URIs de menos de 2,000 caracteres parámetros como tokens. Los URI más cortos evitan que los dispositivos envíen URIs truncados a Media CDN.

Dispositivos de transmisión de video por Internet heredados

Es posible que algunos dispositivos heredados de transmisión de video por Internet no admitan completamente la conexión de cookies a o solicitudes de segmentos 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 cumplimiento del consentimiento y la privacidad que se requiere 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 Secrets de Media CDN se almacenan en caché de forma interna, y reduce la tasa de recuperación de Secrets desde 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.