Neste guia, explicamos como criar uma assinatura e as etapas obrigatórias e para assinaturas.
Para criar uma assinatura, escreva uma string para assinar, chamada de assinado valor neste guia. O valor assinado inclui parâmetros que descrevem o conteúdo que você está protegendo, o prazo de validade do valor assinado; para a frente.
Você usa o valor com sinal ao criar uma string de assinatura. Você cria uma string de assinatura compondo os parâmetros para a assinatura, como uma assinatura de chave assimétrica Ed25519 do valor assinado.
O Media CDN usa a assinatura composta final para ajudar a proteger seus conteúdo.
Formatos de assinatura aceitos
O Media CDN oferece suporte aos seguintes formatos de solicitação assinada.
Formato | Comportamento | Exemplo |
---|---|---|
Parâmetros de consulta (URL exato) |
URL exato, para conceder acesso a um URL específico. |
Exata:
|
Parâmetros de consulta (prefixo de URL) |
Especificar um URLPrefix permite assinar um prefixo e anexar
os mesmos parâmetros de consulta a vários URLs no player ou manifesto
geração de imagens.
|
O que assinar:
Substitua |
Componente do caminho |
Prefixo: permite acesso a qualquer URL com um prefixo antes do
Componente Isso permite que os URLs de manifesto relativos herdem automaticamente a componente de URL assinado ao buscar sub-recursos. |
https://media.example.com/video/edge-cache-token=Expires=EXPIRATION
|
Cookie assinado | Prefixo: o cookie permite acesso a qualquer URL com o prefixo especificado
no valor URLPrefix com assinatura.
|
Edge-Cache-Cookie:
|
Criar uma assinatura
Crie um valor assinado concatenando uma string que contém o campos de assinatura obrigatórios e campos de assinatura opcionais.
Se especificado,
URLPrefix
precisa vir em primeiro lugar, seguido porExpires
,KeyName
e, em seguida, os parâmetros opcionais.Separe cada campo e qualquer parâmetro com o seguinte:
- Para cookies, use dois-pontos
:
. - Para parâmetros de consulta e componentes de caminho, use um E comercial
&
caractere.
- Para cookies, use dois-pontos
Assine o valor assinado com uma assinatura Ed25519.
Anexe um separador de campo (
:
ou&
) seguido porSignature=
e a assinatura Ed25519 ao final da string.
Criar um URL assinado
Os exemplos de código a seguir mostram como criar um URL assinado de forma programática.
Go
Para autenticar no Media CDN, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Media CDN, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Criar um prefixo de URL assinado
Os exemplos de código a seguir mostram como criar programaticamente um prefixo de URL assinado.
Go
Para autenticar no Media CDN, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Media CDN, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Criar um cookie de URL assinado
Os exemplos de código a seguir mostram como criar um URL assinado de forma programática cookie.
Go
Para autenticar no Media CDN, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para autenticar no Media CDN, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Criar um componente de caminho assinado
Os exemplos de código a seguir mostram como criar um caminho assinado de forma programática componente.
Python
Para autenticar no Media CDN, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Campos de assinatura obrigatórios
Os campos a seguir são obrigatórios para todas as assinaturas:
Expires
KeyName
Signature
Se houver parâmetros de consulta, eles precisarão ser agrupados como o último parâmetros no URL. A menos que especificado de outra forma, os nomes dos parâmetros e seus diferenciam maiúsculas de minúsculas.
A tabela a seguir explica cada parâmetro:
Nome do campo | Parâmetros de assinatura | Valor assinado |
---|---|---|
Expires |
Segundos inteiros decorridos desde a época Unix (1970-01-01T00:00:00Z) | Expires=EXPIRATION_TIME . Depois disso,
a assinatura não é mais válida. |
KeyName |
O nome do EdgeCacheKeyset usado para assinar o documento
solicitação. KeyName refere-se a todo o conjunto de chaves, não
chaves individuais dentro do próprio conjunto de chaves.
|
KeyName=EDGE_CACHE_KEYSET |
Signature |
Uma versão da assinatura codificada em base64. | Não relevante |
Campos de assinatura opcionais
Se houver parâmetros de consulta, eles precisarão ser agrupados como o último parâmetros no URL. A menos que especificado de outra forma, os nomes dos parâmetros e seus diferenciam maiúsculas de minúsculas.
A tabela a seguir explica o nome e os detalhes de cada parâmetro de assinatura opcional:
Nome do campo | Parâmetros de assinatura | Valor assinado |
---|---|---|
HeaderName |
Um nome de campo de cabeçalho de solicitação nomeado que precisa estar presente no solicitação. Precisa ser em letras minúsculas quando assinado, porque os nomes de campos de cabeçalho diferenciam maiúsculas de minúsculas. O Media CDN coloca o cabeçalho em letras minúsculas antes de validar a assinatura. |
HeaderName=HEADER_NAME |
HeaderValue |
Um valor de campo de cabeçalho de solicitação nomeado que precisa estar presente na
solicitação. Geralmente é um ID do usuário ou outro identificador opaco. Solicitações
com HeaderValue , mas sem HeaderName são
recusados.
|
HeaderValue=HEADER_VALUE |
IPRanges |
Uma lista de até cinco endereços IPv4 e IPv6 no formato CIDR para
em que o URL é válido no formato base64 seguro para a Web. Por exemplo:
para especificar os intervalos de IP "192.6.13.13/32,193.5.64.135/32", especifique
Pode não ser útil incluir IPRanges em assinaturas quando os clientes estão
correndo risco de migrações de WAN ou casos em que o caminho de rede
front-end do aplicativo é diferente do caminho de entrega.
O Media CDN rejeita clientes com um Confira a seguir casos que podem resultar no Media CDN
Rejeite clientes com um código
Todos esses fatores podem contribuir para que um determinado cliente
endereço IP não determinista durante uma sessão de reprodução de vídeo. Se o
o endereço IP do cliente for alterado depois que você conceder acesso, e o
o cliente tenta baixar um trecho de vídeo nos vídeos
reserva, eles recebem um |
IPRanges=BASE_64_IP_RANGES |
URLPrefix |
O prefixo de URL base64 (seguro para URL) ao qual conceder acesso. Especificar um
URLPrefix permite assinar um prefixo e anexar a mesma consulta.
parâmetros para vários URLs no player ou na geração de manifesto.
O URLPrefix é necessário ao usar o cookie assinado
.
|
URLPrefix=BASE_64_URL_PREFIX |