Para crear una solicitud firmada, escribe una cadena que incluya parámetros que describan el contenido que deseas proteger y la fecha de vencimiento del valor firmado. Luego, incluye la cadena compuesta en tu solicitud. Luego, Media CDN verifica que tu solicitud firmada sea válida antes de realizar acciones en función de ella.
Requisitos de las solicitudes firmadas
Las solicitudes firmadas deben cumplir con los siguientes requisitos:
Tener un método HTTP
GET
,HEAD
oOPTIONS
Otros métodos no son no es compatible.Tener una hora de vencimiento establecida en el futuro Debido a un posible reloj las diferencias de sincronización, así como las condiciones de la red del cliente (para ejemplo, desconexiones y reintentos), recomendamos configurar marcas de tiempo menos de un minuto en el futuro o no menos que la duración de transmisión de video por Internet, el que sea mayor.
Tienen una firma que se pueda verificar con una clave o un secreto en un
EdgeCacheKeyset
No puedes firmar otros métodos HTTP, como solicitudes POST
, PUT
o DELETE
.
Si necesitas emitir URLs firmadas para cargas para usuarios, consulta la documentación de Cloud Storage sobre las URLs firmadas.
Configura solicitudes firmadas
En las siguientes secciones, se detalla cómo configurar, firmar y validar solicitudes firmadas.
Generar claves
Crea las claves que usará Media CDN para firmar solicitudes.
Crea un conjunto de claves
Crea el conjunto de claves que Media CDN usa para las solicitudes firmadas.
Exigir solicitudes firmadas
Para permitir que solo las solicitudes firmadas accedan a un recurso, puedes adjuntar un
lista de claves para una ruta y establece signedRequestMode
en una de las siguientes opciones:
REQUIRE_SIGNATURES
para solicitudes firmadas que no usan tokensREQUIRE_TOKENS
para las solicitudes firmadas que usan tokens
Habilitar solicitudes firmadas en una ruta exige que todas las solicitudes estén firmadas o presentar un token. Las solicitudes sin una firma válida (como un nombre de clave no válido, una firma o un token vencidos, una firma no coincidente, etcétera) fallan.
Un EdgeCacheKeyset
puede contener varias claves para permitir la rotación de claves. Se aceptan solicitudes válidas firmadas con cualquier clave de la lista y se aceptan claves
se prueban en orden. Para obtener más información sobre la rotación de claves, consulta Rota la rotación de claves.
Secrets.
Cuando signedRequestMode
se establece como REQUIRE_SIGNATURES
o REQUIRE_TOKENS
, Media CDN valida los hits y las faltas de caché. Esto incluye todas las solicitudes al origen.
A continuación, se muestra un ejemplo de una configuración de Media CDN que aplica las solicitudes firmadas en un PathMatcher (ruta) determinado:
gcloud edge-cache services describe prod-media-service
... routeAction: cdnPolicy: cacheMode: CACHE_ALL_STATIC signedRequestMode: REQUIRE_SIGNATURES signedRequestKeyset: prod-vod-keyset
Para obtener información sobre la creación de tokens para solicitudes firmadas, consulta Genera tokens tokens.
Para inhabilitar la firma de solicitudes, puedes establecer signedRequestMode
en DISABLED
.
y borra la referencia a signedRequestKeyset
.
Valida las solicitudes en el origen
Cuando una ruta se configura con un modo de firma de REQUIRE_SIGNATURES
, Media CDN valida que cada solicitud coincidente tenga una firma válida. La falta de una firma se considera como una firma no válida en estos
rutas.
Para evitar casos en los que la firma esté mal configurada o en los que un usuario intentos de acceso directo a tu origen, te recomendamos que validar que las solicitudes también estén firmadas en el origen. Una defensa en profundidad para la protección de contenido ayuda a evitar el acceso no autorizado y las descargas del contenido pagado y con licencia.
Para los métodos de firma basados en URL, en los que la firma forma parte de la consulta
parámetros o se incorporan como un componente de ruta de URL, la firma y los elementos
parámetros se quitan de la URL antes de que la solicitud se envíe al
origen. Esto evita que la firma cause problemas de enrutamiento cuando la
el origen controla la solicitud. Para validar estas solicitudes, puedes inspeccionar el
Encabezado de la solicitud x-client-request-url
, que incluye el original (firmado)
URL de solicitud del cliente antes de quitar los componentes firmados.
Para validar las solicitudes en el origen, usa el mismo código de validación como parte de tus extremos de firma de solicitudes, lo que también ayuda a mitigar la falta de coincidencia de claves y problemas debido a la rotación de claves.
Rotar claves
Como práctica recomendada, rota o actualiza los secretos que usa Media CDN con regularidad. Recomendamos rotar las claves cada 30 a 60 días, pero no es estrictamente obligatorio.
¿Qué sigue?
Para obtener más información sobre cómo habilitar y acceder a los registros de Media CDN, incluido cómo filtrar y consultar tus registros, consulta Registros.
Para configurar Media CDN y un bucket privado de Cloud Storage, consulta Conectividad y protección de orígenes.