A autenticação remota encaminha as solicitações do usuário para um servidor de autenticação especificado por você, responsável pela validação. Configure a autenticação remota para um nome de domínio acelerado quando o seu próprio servidor de autenticação, e não os POPs, precisar decidir se uma solicitação é autorizada.
Como funciona
A autenticação remota e a assinatura de URL têm o mesmo objetivo: proteger recursos para que apenas usuários autorizados possam acessá-los. No entanto, esses dois recursos diferem na implementação:
Assinatura de URL — Você distribui as regras de assinatura de um nome de domínio para os POPs da CDNDCDN, e os POPs da CDNDCDN concluem todo o processo de troca de dados e autenticação.
Autenticação remota — Você opera seu próprio servidor de autenticação. Quando um POP da CDNDCDN recebe uma solicitação de usuário, ele a encaminha ao servidor de autenticação para validação.
Use a assinatura de URL quando os POPs da CDNDCDN puderem aplicar as regras de autenticação por conta própria. Use a autenticação remota quando o seu servidor de autenticação precisar tomar a decisão para cada solicitação.
O processo de troca de dados da autenticação remota ocorre da seguinte forma:
Nº | Descrição da interação |
① | Uma solicitação de acesso a recurso iniciada por um usuário chega a um POP CDN, portando parâmetros de autenticação. Por exemplo, a URL original da solicitação é |
② | O POP CDN recebe a solicitação do usuário e a encaminha ao servidor de autenticação, seja diretamente ou após processá-la com base nas regras especificadas. Por exemplo, se o endereço do servidor de autenticação for |
③ | Com base nos parâmetros de autenticação presentes na solicitação do usuário, o servidor de autenticação retorna um resultado ao POP CDN. |
④ | O POP CDN executa a ação correspondente conforme o resultado retornado pelo servidor de autenticação e devolve os dados adequados ao usuário. Os exemplos a seguir descrevem possíveis resultados de autenticação.
|
Observações de uso
Logs — Após configurar a autenticação remota, solicitações que falham na autenticação ainda podem chegar aos POPs da CDNDCDN. Contudo, os POPs da CDNDCDN rejeitam essas solicitações e retornam o código de status HTTP definido em Custom HTTP Status Code, como 403. Os registros de solicitação do cliente continuam sendo gravados nos logs da CDNDCDN.
Faturamento — A autenticação remota encaminha solicitações ao servidor especificado, portanto, taxas de tráfego são cobradas mesmo quando os POPs da CDNDCDN bloqueiam solicitações maliciosas. O bloqueio consome recursos de processamento dos POPs da CDNDCDN. Caso os clientes utilizem HTTPS, também haverá cobrança pelas solicitações HTTPS.
Pré-requisitos
Você deve ter um servidor de autenticação implantado e gerenciado disponível em um endereço acessível externamente.
Procedimento
Faça login no CDN console.
No painel de navegação à esquerda, clique em Domain Names.
Na página Domain Names, localize o nome de domínio desejado e clique em Manage na coluna Actions.
No painel de navegação do domínio, clique em Access Control.
-
Clique na aba Remote Authentication.
-
Ative a chave Remote Authentication e configure as definições de autenticação remota conforme as instruções na página.
NotaAo ativar a autenticação remota, todas as solicitações de usuário serão encaminhadas ao servidor de autenticação para processamento. Em cenários com alto volume de solicitações, avalie a carga e o desempenho do servidor de autenticação.
Parâmetro
Descrição
Authentication Server Address
Endereço onde o servidor de autenticação pode ser acessado externamente. O sistema valida o endereço inserido, verificando tanto o formato quanto o valor.
Requisitos de formato:
O endereço de autenticação aceita os protocolos HTTP e HTTPS, em um dos seguintes formatos:
http://example.com/auth,https://example.com/auth,http://192.0.2.1/auth, ouhttps://192.0.2.1/auth.
Requisitos de valor:
O valor não pode conter 127.0.0.1 ou localhost. Como o POP inicia a solicitação de autenticação, o endereço deve ser alcançável a partir dele.
Request Method
Método de solicitação suportado pelo servidor de autenticação. Valores válidos: GET, HEAD e POST. Valor padrão: GET.
File Types
All: Todos os tipos de arquivo passam por autenticação.
Specified: Apenas os tipos de arquivo especificados são autenticados.
Ao especificar tipos de arquivo, separe múltiplos tipos com uma barra vertical, por exemplo,
mp4|flv.Tipos de arquivo diferenciam maiúsculas de minúsculas:
.jpgeJPGsão considerados tipos diferentes.
Parâmetros de URL usados para autenticação
Parameters to Retain
Controla quais parâmetros da URL de solicitação do usuário são autenticados. Selecione Retain All Parameters, Retain Specified Parameters ou Delete All URL Parameters.
Para reter parâmetros específicos, separe-os com uma barra vertical, por exemplo,
user|token.Parâmetros diferenciam maiúsculas de minúsculas:
keyeKEYsão tratados como parâmetros distintos.
Custom Parameters
Adiciona parâmetros personalizados à URL da solicitação que o POP CDN encaminha ao servidor de autenticação. Defina os parâmetros e seus valores ou utilize as variáveis predefinidas no console CDN.
Ao definir parâmetros e valores manualmente, observe os seguintes requisitos:
Separe múltiplos parâmetros com uma barra vertical, por exemplo,
token=$arg_token|vendor=ali_cdn;Valores de parâmetros diferenciam maiúsculas de minúsculas, logo
keyeKEYsão valores diferentes.
Ao usar variáveis predefinidas, extraia o valor de uma variável e adicione-o à solicitação que o CDN encaminha ao servidor de autenticação.
Por exemplo, ao selecionar a variável
$http_host, o trechohost=$http_hostserá anexado à URL da solicitação do usuário, onde host representa o valor do host no cabeçalho da solicitação. Para detalhes sobre nomes de variáveis e seus significados, consulte Variables.
Cabeçalhos de solicitação usados para autenticação
Request Headers to Retain
Define quais cabeçalhos da solicitação do usuário serão autenticados. Escolha entre Retain All Parameters ou Retain Specified Parameters.
Para reter cabeçalhos específicos, separe-os com uma barra vertical, por exemplo,
user_agent|referer|cookies.Cabeçalhos de solicitação não diferenciam maiúsculas de minúsculas; portanto,
http_remote_addreHTTP_Remote_Addrsão equivalentes.
NotaAo selecionar Retain All Parameters, o POP CDN remove o cabeçalho HOST por padrão. Nesse caso, o cabeçalho HOST presente na solicitação de autenticação encaminhada ao servidor corresponderá ao nome de domínio acelerado. Isso pode impedir que o servidor reconheça a solicitação, resultando em um código de status 404 e falha na autenticação. Para preservar o cabeçalho HOST, utilize Retain Specified Parameters ou Custom Parameters.
Custom Parameters
Adiciona parâmetros personalizados ao cabeçalho da solicitação que o POP CDN encaminha ao servidor de autenticação. É possível definir parâmetros e valores ou usar variáveis predefinidas no console CDN.
Ao definir parâmetros e valores manualmente, siga estas regras:
Separe múltiplos cabeçalhos com uma barra vertical, por exemplo,
User-Agent=$http_user_agent|vendor=ali_cdn.Cabeçalhos de solicitação não diferenciam maiúsculas de minúsculas; portanto,
http_remote_addreHTTP_Remote_Addrsão equivalentes.
Com variáveis predefinidas, extraia o valor de uma variável e inclua-o na solicitação que o CDN encaminha ao servidor de autenticação.
Por exemplo, ao escolher a variável
$http_host, o sistema anexahost=$http_hostà URL da solicitação do usuário, representando o valor do host no cabeçalho original. Consulte Variables para descrições detalhadas das variáveis.
HTTP Status Code to Return
Passes Authentication
Códigos de status HTTP que o servidor de autenticação retorna ao CDN indicando sucesso na autenticação. Configure vários códigos separados por vírgula (,). Exemplo: Se o código de sucesso for definido como
200,206, a autenticação terá êxito quando o servidor retornar200ou206. Para códigos que não sejam nem de sucesso nem de falha, consulte Whether to allow other status codes nesta tabela.Fails Authentication
Códigos de status HTTP que o servidor de autenticação retorna ao CDN indicando falha na autenticação. Configure vários códigos separados por vírgula (,). Exemplo: Se o código de falha for
400,403, a autenticação falhará quando o servidor retornar400ou403. Para códigos intermediários, veja Whether to allow other status codes nesta tabela.Whether to allow other status codes
Determina como o POP CDN trata uma solicitação quando o código retornado pelo servidor não corresponde nem a sucesso nem a falha. Yes: Para evitar que exceções bloqueiem todas as solicitações, o POP CDN permite o acesso. Por exemplo, se o código de sucesso for 200 e o servidor retornar 201, a solicitação é permitida. Se o código de falha for 403 e o servidor retornar 404, a solicitação também é permitida. No: O POP CDN rejeita a solicitação do usuário.
Ação executada pelo CDN após falha na autenticação
Custom HTTP Status Code
Código de status que o POP CDN retorna ao usuário quando uma solicitação falha na autenticação.
Por exemplo, se o código de resposta personalizado for 403, o POP CDN retornará 403 ao usuário em caso de falha.
Configurações de tempo limite de autenticação
Timeout
Intervalo medido desde o momento em que o POP CDN inicia a solicitação de autenticação até o recebimento do resultado pelo servidor. Unidade: milissegundos. Valor máximo: 3000.
Action After Timeout
Define como o CDN lida com a solicitação caso a comunicação com o servidor de autenticação atinja o tempo limite. Opções disponíveis: Pass ou Reject.
Pass: Em caso de tempo limite, o CDN permite a solicitação do usuário.
Reject: Em caso de tempo limite, o CDN rejeita a solicitação e retorna ao usuário o Custom HTTP Status Code configurado.
-
-
Clique em OK para concluir a configuração.
Após configurar a autenticação remota com sucesso, modifique as configurações atuais ou desative o recurso na aba Remote Authentication. Desative a autenticação remota para interromper o encaminhamento de solicitações ao servidor de autenticação.
Variáveis
Ao adicionar parâmetros personalizados, utilize diretamente as variáveis predefinidas no console CDNDCDN. A tabela abaixo descreve os nomes das variáveis e seus significados.
|
Nome da variável |
Significado da variável |
|
$http_host |
Valor Host no cabeçalho da solicitação. |
|
$http_user_agent |
Valor User-Agent no cabeçalho da solicitação. |
|
$http_referer |
Valor Referer no cabeçalho da solicitação. |
|
$http_content_type |
Valor Content-Type no cabeçalho da solicitação. |
|
$http_x_forward_for |
Valor X-Forwarded-For no cabeçalho da solicitação. |
|
$remote_addr |
Informações de IP do cliente da solicitação. |
|
$scheme |
Tipo de protocolo da solicitação. |
|
$server_protocol |
Versão do protocolo da solicitação. |
|
$uri |
URI original da solicitação. |
|
$args |
String de consulta da solicitação, sem incluir o ponto de interrogação (?). |
|
$request_method |
Método da solicitação. |
|
$request_uri |
Conteúdo composto por uri+'?'+args. |