Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Importante
Este é um recurso exclusivo do Azure CDN Premium da Edgio; para configurar regras na Azure CDN da Microsoft, por favor, use o motor de regras padrão. As regras avançadas não estão disponíveis para Azure CDN da Akamai. Para obter uma comparação completa dos recursos da CDN, consulte Recursos do produto CDN do Azure.
Visão geral
A autenticação por token é um mecanismo que permite evitar que a rede de fornecimento de conteúdos do Azure forneça ativos a clientes não autorizados. A autenticação por token é normalmente feita para evitar o hotlinking de conteúdo, em que um site diferente, como um fórum, utiliza os seus recursos sem permissão. O hotlinking pode ter um impacto nos seus custos de entrega de conteúdo. Quando ativas a autenticação por token na rede de distribuição de conteúdo, os pedidos são autenticados pelo servidor de borda da rede de distribuição de conteúdo antes que a rede de distribuição de conteúdo entregue o conteúdo.
Como funciona
A autenticação por token verifica se os pedidos são gerados por um site confiável, exigindo que os pedidos contenham um valor de token que mantenha informações codificadas sobre o solicitante. O conteúdo é fornecido a um requerente apenas se a informação codificada cumprir os requisitos; caso contrário, os pedidos são recusados. Pode configurar os requisitos utilizando um ou mais dos seguintes parâmetros:
- País/Região: Permitir ou negar pedidos que se originem nos países/regiões especificados pelo respetivo código de país/região.
- URL: Permita apenas solicitações que correspondam ao ativo ou caminho especificado.
- Host: Permitir ou negar pedidos que utilizam os hosts especificados no cabeçalho do pedido.
- Referenciador: Permitir ou negar pedido do referenciador especificado.
- Endereço IP: Permitir apenas pedidos que se originaram de um endereço IP específico ou de uma sub-rede IP específica.
- Permitir ou negar pedidos com base no protocolo usado para solicitar o conteúdo.
- Tempo de expiração: Atribuir uma data e um período de tempo para garantir que um link permaneça válido apenas por um período limitado.
Para mais informações, consulte os exemplos detalhados de configuração para cada parâmetro em Configuração da autenticação de tokens.
Importante
Se a autorização de token estiver ativada para qualquer caminho nesta conta, o modo de cache padrão é o único modo que pode ser utilizado para o cache de string de consulta. Para obter mais informações, consulte Controlar o comportamento de cache da Rede de Entrega de Conteúdo do Azure com cadeias de consulta.
Arquitetura de referência
O seguinte diagrama de fluxo de trabalho descreve como a rede de distribuição de conteúdo utiliza a autenticação por token para funcionar com a sua aplicação web.
Lógica de validação de token no ponto final da rede de distribuição de conteúdo
O seguinte fluxograma descreve como a Rede de Distribuição de Conteúdos do Azure valida um pedido do cliente quando a autenticação por token está configurada no ponto final da rede de distribuição de conteúdos.
Configuração da autenticação por token
A partir do portal do Azure, navegue até ao seu perfil de rede de entrega de conteúdo e selecione Gerir para abrir o portal suplementar.
Passe o cursor sobre HTTP Large e selecione Autenticação de Token no menu suspenso. Pode então configurar a chave de encriptação e os parâmetros de encriptação da seguinte forma:
Crie uma ou mais chaves de encriptação. Uma chave de encriptação é sensível a maiúsculas e minúsculas e pode conter qualquer combinação de caracteres alfanuméricos. Qualquer outro tipo de caractere, incluindo espaços, não é permitido. O comprimento máximo é de 250 caracteres. Para garantir que as suas chaves de encriptação sejam aleatórias, é recomendado que as crie utilizando a ferramenta OpenSSL.
A ferramenta OpenSSL tem a seguinte sintaxe:
rand -hex <key length>Por exemplo:
OpenSSL> rand -hex 32Para evitar tempo de inatividade, crie uma chave primária e uma chave de backup. Uma chave de segurança fornece acesso ininterrupto ao seu conteúdo quando sua chave primária está sendo atualizada.
Insira uma chave de encriptação única na caixa Chave Primária e, opcionalmente, insira uma chave de backup na caixa Chave de Backup.
Selecione a versão mínima de encriptação para cada chave a partir da sua lista de Versão Mínima de Encriptação, depois selecione Atualizar:
- V2: Indica que a chave pode ser utilizada para gerar tokens das versões 2.0 e 3.0. Use esta opção apenas se estiver a transitar de uma chave de encriptação de versão 2.0 legado para uma chave de versão 3.0.
- V3: (Recomendado) Indica que a chave só pode ser usada para gerar tokens da versão 3.0.
Use a ferramenta de encriptação para configurar os parâmetros de encriptação e gerar um token. With the encrypt tool, you can allow or deny requests based on expiration time, country/region, referrer, protocol, and client IP (in any combination). Embora não haja limite para o número e combinação de parâmetros que podem ser combinados para formar um token, o comprimento total de um token está limitado a 512 caracteres.
Enter values for one or more of the following encryption parameters in the Encrypt Tool section:
Nome do parâmetro Descrição ec_expire Atribui um tempo de expiração a um token, após o qual o token expira. Pedidos submetidos após o tempo de expiração são recusados. Este parâmetro utiliza um carimbo de data/hora Unix, que é baseado no número de segundos desde a época padrão Unix de `1/1/1970 00:00:00 GMT`. (Pode usar ferramentas online para converter entre a hora padrão e a hora Unix.) Por exemplo, se quiser que o token expire em
12/31/2016 12:00:00 GMT, insira o valor do timestamp Unix,1483185600.ec_url_allow Permite-lhe ajustar os tokens a um ativo ou caminho específico. Restringe o acesso a pedidos cuja URL comece com um caminho relativo específico. Os URLs são sensíveis a maiúsculas e minúsculas. Introduza múltiplos caminhos separando cada caminho com uma vírgula; não adicione espaços. Dependendo das suas necessidades, pode configurar diferentes valores para fornecer diferentes níveis de acesso. Por exemplo, para o URL
http://www.mydomain.com/pictures/city/strasbourg.png, essas solicitações são permitidas para os seguintes valores de entrada:- Valor de entrada `/`: Todas as solicitações são permitidas.
- O valor de entrada `/pictures`, são permitidas as seguintes solicitações:
- `http://www.mydomain.com/pictures.png`
- `http://www.mydomain.com/pictures/city/strasbourg.png`
- `http://www.mydomain.com/picturesnew/city/strasbourgh.png`
- Input value `/pictures/`: Only requests containing the `/pictures/` path are allowed. Por exemplo, `http://www.mydomain.com/pictures/city/strasbourg.png`.
- Valor de entrada `/pictures/city/strasbourg.png`: Apenas pedidos para este caminho e ativo específico são permitidos.
ec_country_allow Permite apenas solicitações que se originam de um ou mais países/regiões especificados. Os pedidos que se originam de todos os outros países/regiões são recusados. Use a two-letter [ISO 3166 country/region code](/previous-versions/azure/mt761717(v=azure.100)) for each country/region and separate each one with a comma; do not add a space. Por exemplo, se quiser permitir o acesso apenas dos Estados Unidos e da França, introduza `US,FR`. ec_country_deny Denies requests that originate from one or more specified countries/regions. Requests that originate from all other countries/regions are allowed. A implementação é a mesma que o parâmetro ec_country_allow. Se um código de país/região estiver presente em ambos os parâmetros ec_country_allow e ec_country_deny, o parâmetro ec_country_allow tem precedência. ec_ref_allow Only allows requests from the specified referrer. A referrer identifies the URL of the web page that is linked to the resource being requested. Não inclua o protocolo no valor do parâmetro. The following types of input are allowed:
- Um nome de anfitrião ou um nome de anfitrião e um caminho.
- Múltiplas referências. Para adicionar múltiplos referenciadores, separe cada um deles com uma vírgula; não adicione um espaço. If you specify a referrer value, but the referrer information is not sent in the request due to the browser configuration, the request is denied by default.
- Pedidos com informação de referência em falta ou em branco. By default, the ec_ref_allow parameter blocks these types of requests. Para permitir estas solicitações, insira o texto "missing" ou insira um valor em branco (utilizando uma vírgula final).
- Subdomains. To allow subdomains, enter an asterisk (\*). Por exemplo, para permitir todos os subdomínios de `contoso.com`, introduza `*.contoso.com`.
Por exemplo, para permitir o acesso a pedidos provenientes de
www.contoso.com, todos os subdomínios decontoso2.com, e pedidos com referrers em branco ou ausentes, insirawww.contoso.com,*.contoso.com,missing.ec_ref_deny Nega pedidos do referente especificado. A implementação é igual ao parâmetro ec_ref_allow. Se um referenciador estiver presente em ambos os parâmetros ec_ref_allow e ec_ref_deny, o parâmetro ec_ref_allow terá precedência. ec_proto_allow Só permite pedidos do protocolo especificado. Os valores válidos são `http`, `https`, ou `http,https`. ec_proto_deny Nega pedidos do protocolo especificado. A implementação é a mesma que o parâmetro ec_proto_allow. Se um protocolo estiver presente em ambos os parâmetros ec_proto_allow e ec_proto_deny, o parâmetro ec_proto_allow terá precedência. ec_clientip Restringe o acesso ao endereço IP do solicitante especificado. Tanto a versão 4 (IPv4) do Protocolo de Internet quanto a versão 6 (IPv6) do Protocolo de Internet são suportadas. Pode especificar um único endereço IP de pedido ou endereços IP associados a uma sub-rede específica. Por exemplo, `11.22.33.0/22` permite pedidos de endereços IP de 11.22.32.1 a 11.22.35.254. Após terminar de inserir os valores dos parâmetros de encriptação, selecione uma chave para encriptar (caso tenha criado tanto uma chave principal quanto uma de backup) da lista Chave a Encriptar.
Selecione uma versão de encriptação na lista Versão de Encriptação: V2 para a versão 2 ou V3 para a versão 3 (recomendado).
Selecione Encriptar para gerar o token.
Depois de o token ser gerado, é exibido na caixa Token Gerado. Para utilizar o token, adicione-o como uma string de consulta ao final do ficheiro no caminho do URL. Por exemplo,
http://www.domain.com/content.mov?a4fbc3710fd3449a7c99986b.Opcionalmente, teste o seu token com a ferramenta de desencriptação para que possa ver os parâmetros do seu token. Cole o valor do token na caixa Token a Desencriptar. Selecione a chave de encriptação a utilizar na lista Chave Para Desencriptar, depois selecione Desencriptar.
Depois que o token é decifrado, os seus parâmetros são exibidos na caixa Parâmetros Originais.
Opcionalmente, personalize o tipo de código de resposta que é retornado quando um pedido é negado. Selecione Ativado, e em seguida selecione o código de resposta da lista de Códigos de Resposta. Header Name é atribuído automaticamente a Location. Select Save to implement the new response code. For certain response codes, you must also enter the URL of your error page in the Header Value box. The 403 response code (Forbidden) is selected by default.
Under HTTP Large, select Rules Engine. Utiliza o motor de regras para definir caminhos para aplicar a funcionalidade, ativar a funcionalidade de autenticação por token, e habilitar capacidades adicionais relacionadas à autenticação por token. Para mais informações, consulte Regras de referência do motor.
- Selecione uma regra existente ou crie uma nova regra para definir o ativo ou o caminho para o qual deseja aplicar autenticação por token.
- To enable token authentication on a rule, select Token Auth from the Features list, then select Enabled. Select Update if you're updating a rule or Add if you're creating a rule.
No motor de regras, também pode ativar mais funcionalidades relacionadas com a autenticação de token. To enable any of the following features, select it from the Features list, then select Enabled.
Código de Negação de Autenticação com Token: Determina o tipo de resposta que é devolvida a um utilizador quando um pedido é negado. Regras configuradas aqui substituem o código de resposta configurado na secção Gestão Personalizada de Negação na página de autenticação baseada em token.
Token Auth Ignorar Sensibilidade de Maiúsculas em URL: Determina se o URL utilizado para validar o token é sensível a maiúsculas e minúsculas.
Parâmetro de Autenticação de Token: Renomeia o parâmetro de consulta de autenticação de token que aparece no URL solicitado.
Pode personalizar o seu token acedendo ao código-fonte no GitHub. Idiomas disponíveis incluem:
- C
- C#
- PHP
- Perl
- Java
- Python
Funcionalidades e preços dos fornecedores do Azure Rede de Distribuição de Conteúdo
For information about features, see Azure Content Delivery Network product features. Para obter informações sobre preços, consulte preços da rede de distribuição de conteúdo.