Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2022-12-26 GMT+08:00

Método de assinatura A

Por padrão, os recursos públicos são distribuídos por CDN. A assinatura de URL protege esses recursos de serem baixados e roubados por usuários mal-intencionados. A CDN da Huawei Cloud fornece quatro métodos de assinatura de URL. Este tópico descreve o método de assinatura A.

  • Se o nome de domínio tiver configurações especiais, a assinatura de URL não poderá ser configurada para esse nome de domínio no console da CDN.
  • Quando a assinatura de URL é configurada, as solicitações do usuário incluem parâmetros de autenticação. Se Ignore specific parameters não estiver configurado:
    • A recuperação de conteúdo se tornará frequente.
    • Se o servidor de origem for um bucket do OBS, serão cobradas taxas para o tráfego de saída do bucket.

Como funciona

Um exemplo de URL assinado se parece com:

http://DomainName/Filename?auth_key=timestamp-rand-uid-md5hash
http://DomainName/Filename?auth_key=timestamp-rand-uid-sha256

A tabela a seguir descreve os parâmetros em um URL assinado.

Tabela 1 Descrição do parâmetro

Parâmetro

Descrição

DomainName

Nome de domínio de aceleração.

timestamp

Hora em que o servidor de autenticação gera uma URL assinada, ou seja, a hora de início da autenticação. O valor é um inteiro decimal, indicando o número total de segundos decorridos desde 00:00:00 de 01 de janeiro de 1970.

Período de validade

Quanto tempo um URL assinado permanece eficaz. O valor varia de 0s a 31.536.000s.

Exemplo: se o período de validade for definido como 1800s, os usuários poderão acessar a CDN dentro de 1800s desde o horário indicado pelo timestamp. A autenticação falha e o URL fica inacessível se os usuários acessarem o CDN 1800s posteriormente.

rand

Número aleatório. O valor recomendado é um UUID, que não pode conter hífens (-), por exemplo, 202cb962ac59075b964b07152d234b70.

uid

ID do usuário. Este parâmetro não é usado agora. Você pode configurá-lo para 0.

md5hash

Uma seqüência de 32 caracteres calculada usando o algoritmo MD5. A cadeia consiste em dígitos (0 a 9) e letras minúsculas.

sha256

Uma seqüência de 32 caracteres calculada usando o algoritmo SHA256. A cadeia consiste em dígitos e letras minúsculas.

Filename

URL de volta à origem. Seu valor deve começar com uma barra (/) e não inclui os parâmetros após o ponto de interrogação (?).

PrivateKey

Chave de assinatura, que é usada para gerar um URL assinado, por exemplo, huaweicloud123. A chave contém de 6 a 32 caracteres e pode conter apenas letras e dígitos.

Parâmetro de autenticação

Parâmetro de autenticação transportado em um URL. O valor padrão é auth_key.

Método de verificação

Depois de receber uma solicitação, um nó CDN verifica a solicitação da seguinte maneira:

  1. Verifica se os parâmetros de autenticação estão incluídos na solicitação. Caso contrário, a solicitação é considerada inválida e um código de erro HTTP 403 é retornado.
  2. Verifica se a hora do sistema atual está dentro do intervalo [timestamp, timestamp+período válido]. Se a hora atual do sistema exceder o intervalo, o nó de CDN considerará que a solicitação expira e retornará um código de erro HTTP 403. Se a hora atual do sistema estiver dentro do intervalo, o próximo passo prossegue.
  3. Constrói uma cadeia de caracteres, calcula HashValue com a cadeia usando o algoritmo MD5 e SHA256 e compara HashValue com o valor md5hash ou sha256 na solicitação. Se o valor md5hash ou sha256 for o mesmo que HashValue, a autenticação será bem-sucedida e um arquivo será retornado. Caso contrário, a autenticação falhará e um código de erro de HTTP 403 será retornado. HashValue é calculado da seguinte forma:
    sstring = "Filename-Timestamp-rand-uid-PrivateKey" 
    HashValue = md5sum(sstring)
    Ou
    sstring = "Filename-Timestamp-rand-uid-PrivateKey" 
    HashValue = sha256sum(sstring)

Procedimento

  1. Faça login em console da Huawei Cloud. Na página inicial do console de gerenciamento, escolha Service List > Storage > CDN.

    O console da CDN é exibido.

  2. No painel de navegação, escolha Domains.
  3. Na lista de domínios, clique no nome de domínio de destino ou clique em Configure na coluna Operation.
  4. Clique na guia Access Control e clique em Sign URL.
    Figura 1 Os URLs de assinatura
  5. Defina os parâmetros de acordo com a tabela a seguir e clique em OK.
    Tabela 2 Descrição do parâmetro

    Parâmetro

    Descrição

    Chave de assinatura

    Senha de autenticação. Digite de 6 a 32 caracteres. Apenas letras e dígitos são permitidos.

    Algoritmo de criptografia

    MD5 ou SHA256.

    Período (s) de validade

    Por quanto tempo o URL assinado permanece efetivo. O valor varia de 0s a 31.536.000s.

    Calculadora de assinatura de URL

    Usando a calculadora de assinatura de URL, você pode gerar um URL assinado para os usuários. Defina parâmetros de acordo com Tabela 3 e clique em Generate para gerar um URL assinado que expirará em um momento específico.

    Figura 2 Calculadora de assinatura de URL

    Escape caracteres especiais no URL assinado, se houver.

    Tabela 3 Descrição do parâmetro

    Parâmetro

    Descrição

    Chave de assinatura

    Senha de autenticação. Digite de 6 a 32 caracteres. Apenas letras e dígitos são permitidos. O valor deve ser o mesmo que a chave de assinatura especificada na configuração de assinatura de URL.

    Caminho de acesso

    Caminho do conteúdo, que começa com uma barra (/) e não carrega uma string de consulta.

    Algoritmo de criptografia

    MD5 ou SHA256.

    Hora de início

    Hora em que o URL assinado entrará em vigor.

    Período (s) de validade

    Por quanto tempo o URL assinado permanece efetivo. O valor varia de 0s a 31.536.000s. Se esse valor for maior que o período de validade definido na configuração de assinatura de URL, o último será usado.

    Exemplo: se você definir esse parâmetro para 2000s, mas o período de validade definido na configuração de assinatura de URL for 1800s, o período de validade dos URLs assinados será 1800s.

Exemplo

O seguinte utiliza o algoritmo MD5 como exemplo:

  1. Suponha que o URL de retorno à origem seja o seguinte:
    http://hwcdn.example.com/T128_2_1_0_sdk/0210/M00/82/3E/test.mp3
  2. Defina PrivateKey para huaweicloud123.
  3. A autenticação entra em vigor a partir das 00:00:00 de 30 de junho de 2017. Timestamp é 1498752000. Defina o período de validade para 1800s.
  4. O nó CDN constrói uma cadeia de caracteres para o cálculo de HashValue.
    /T128_2_1_0_sdk/0210/M00/82/3E/test.mp3-1498752000-0-0-huaweicloud123
  5. O nó CDN calcula HashValue de acordo com a cadeia de caracteres assinada.
    HashValue = md5sum("/T128_2_1_0_sdk/0210/M00/82/3E/test.mp3-1498752000-0-0-huaweicloud123") = 
    40e64d69aac7d15edfc6ec8a080042cb
  6. O URL da solicitação é o seguinte:
    http://hwcdn.example.com/T128_2_1_0_sdk/0210/M00/82/3E/test.mp3?auth_key=1498752000-0-0-40e64d69aac7d15edfc6ec8a080042cb

Se o pedido estiver dentro do prazo de validade (das 00:00:00 em 30 de junho de 2017 para 00:30:00 em 30 de junho de 2017) e o HashValue calculado é o mesmo que o valor md5hash (40e64d69aac7d15edfc6ec8a080042cb) transportado em pedido, a autenticação for bem-sucedida.