Para criar uma solicitação assinada, crie uma string que inclua parâmetros que descrevam o conteúdo que você quer proteger e o tempo de expiração do valor assinado. Em seguida, inclua a string composta na solicitação. O Media CDN verifica se a solicitação assinada é válida antes de agir.
Requisitos de solicitações assinadas
As solicitações assinadas precisam atender aos seguintes requisitos:
Ter um método HTTP
GET
,HEAD
ouOPTIONS
. Outros métodos não são suporte.Defina um prazo de validade no futuro. Devido a possíveis diferenças de sincronização do relógio, bem como condições de rede do cliente (por exemplo, desconexões e novas tentativas), recomendamos definir carimbos de data/hora com até um minuto de antecedência ou não menos do que a duração do stream de vídeo, o que for maior.
Ter uma assinatura que pode ser verificada por uma chave ou um segredo em um
EdgeCacheKeyset
.
Não é possível assinar outros métodos HTTP, como solicitações POST
, PUT
ou DELETE
.
Se você precisar emitir URLs assinados para uploads voltados para o usuário, consulte a
Documentação do Cloud Storage para URLs assinados.
Configurar solicitações assinadas
As seções a seguir detalham como configurar, assinar e validar solicitações assinhadas.
Gerar chaves
Crie as chaves que o Media CDN usa para assinar solicitações.
Criar um conjunto de chaves
Crie o conjunto de chaves que o Media CDN usa para solicitações assinadas.
Exigir solicitações assinadas
Para permitir que apenas solicitações assinadas acessem um recurso, anexe um
lista de chaves para uma rota e defina signedRequestMode
como um dos seguintes:
REQUIRE_SIGNATURES
para solicitações assinadas que não usam tokens.REQUIRE_TOKENS
para solicitações assinadas usando tokens.
Ativar solicitações assinadas em uma rota exige que todas as solicitações sejam assinadas ou apresentem um token. As solicitações sem uma assinatura válida (como um nome de chave inválido, assinatura ou token expirado, assinatura incompatível etc.) falham.
Um EdgeCacheKeyset
pode conter várias chaves para permitir a rotação
de chaves. São aceitas solicitações válidas assinadas com qualquer chave listada, e as chaves
são testadas em ordem. Para mais informações sobre rotação de chaves, consulte Alternar
secrets.
Quando o signedRequestMode
é definido como REQUIRE_SIGNATURES
ou REQUIRE_TOKENS
,
o Media CDN valida os acertos e erros de cache. Isso inclui todos os
solicitações para a origem.
Confira a seguir um exemplo de configuração do Media CDN que aplica solicitações assinadas em um determinado PathMatcher (rota):
gcloud edge-cache services describe prod-media-service
... routeAction: cdnPolicy: cacheMode: CACHE_ALL_STATIC signedRequestMode: REQUIRE_SIGNATURES signedRequestKeyset: prod-vod-keyset
Para informações sobre como criar tokens para solicitações assinadas, consulte Gerar tokens.
Para desativar a assinatura de solicitações, defina signedRequestMode
como DISABLED
e exclua a referência ao signedRequestKeyset
.
Validar solicitações na origem
Quando uma rota é configurada com um modo de assinatura de REQUIRE_SIGNATURES
,
O Media CDN valida se cada solicitação correspondente tem um
assinatura. Nesse caso, a ausência de uma assinatura é tratada como inválida.
rotas de prioridade mais alta.
Para evitar casos em que a assinatura está configurada incorretamente e em que um usuário tentar acessar sua origem diretamente, recomendamos confirmar que as solicitações também estão assinadas na origem. Uma abordagem de defesa em profundidade para a proteção de conteúdo ajuda a impedir o acesso e o download não autorizados do conteúdo licenciado e pago.
Para métodos de assinatura com base em URL, em que a assinatura faz parte da consulta
ou incorporados como um componente de caminho do URL, a assinatura e os
são removidos do URL antes que a solicitação seja enviada ao
origem. Isso evita que a assinatura cause problemas de roteamento quando a
origem está processando a solicitação. Para validar essas solicitações, inspecione o
cabeçalho de solicitação x-client-request-url
, que inclui o URL da solicitação do cliente original
(assinado) antes da remoção dos componentes assinados.
Para validar solicitações na origem, use o mesmo código de validação como parte dos endpoints de assinatura de solicitação, o que também ajuda a mitigar incompatibilidades e problemas de chave devido à rotação de chaves.
Alternar chaves
Como prática recomendada, alterne ou atualize os segredos usados pelo Media CDN regularmente. Recomendamos fazer a rotação das chaves a cada 30 a 60 dias, mas isso não é obrigatório.
A seguir
Para saber mais sobre como ativar e acessar os registros da Media CDN, incluindo como filtrar e consultar seus registros, consulte Registros.
Para configurar o Media CDN e um um bucket particular do Cloud Storage, consulte Conectividade e proteção de origem.