Todos os produtos
Search
Central de documentação

ApsaraVideo Live:Controle de acesso

Última atualização: Jul 14, 2026

Para proteger os recursos do ApsaraVideo Live contra uso não autorizado, utilize a assinatura de URL, as listas de bloqueios e de permissões de IP e a autenticação remota. Esses métodos aumentam a segurança e melhoram a experiência do usuário em suas transmissões de vídeo ao vivo.

Visão geral

O controle de acesso para domínios de ingestão é fundamental para garantir a segurança dos seus recursos e evitar acessos não autorizados. Ele inclui os seguintes métodos:

  • Assinatura de URL: Supera as limitações da proteção contra hotlink baseada em Referer ao verificar a legitimidade de cada solicitação.

  • Lista de bloqueios e de permissões de IP: Restringe ou permite o acesso a partir de endereços IP específicos, possibilitando a identificação e a filtragem de visitantes.

  • Autenticação remota: Encaminha as solicitações do usuário para um servidor de autenticação designado para validação, oferecendo maior flexibilidade e segurança aprimorada.

Assinatura de URL

Introdução

A assinatura de URL funciona em conjunto com o seu servidor de negócios para fornecer um método seguro de proteção dos recursos de transmissão ao vivo. Fluxo de trabalho:

  1. Seu servidor de negócios gera uma URL assinada que contém informações de autenticação.

  2. O usuário final utiliza essa URL assinada para iniciar uma solicitação de ingestão de fluxo no ApsaraVideo Live.

  3. Um nó de borda do ApsaraVideo Live decodifica e valida a assinatura da URL. Se for inválida, o sistema rejeita a solicitação.

Importante

Após o ApsaraVideo Live autenticar a URL da solicitação, caracteres especiais na URL (como = e +) são escapados.

Para obter mais informações sobre cenários aplicáveis, estrutura da URL assinada e princípios de funcionamento, consulte URLs de ingestão e streaming assinadas.

Procedimento

  1. Faça login no console do ApsaraVideo Live.

  2. No painel de navegação à esquerda, clique em Domain Names. A página Domain Management será exibida.

  3. Localize o domínio de ingestão que deseja gerenciar e clique em Domain Settings na coluna Actions.

  4. Escolha Streaming Management > Access Control.

  5. Clique na aba URL Signing e depois em Modifique.

    A seção de configuração de autenticação inclui o botão de alternância URL Signing, Authentication Type (por exemplo, Type A), Primary Key, Secondary Key e Validity Period (em minutos).

    Nota
    • A assinatura de URL é ativada por padrão ao adicionar um domínio. Para desativá-la pela primeira vez, reconheça o risco de uso não autorizado e assine o Liability Waiver Agreement.

    • Se a assinatura de URL estiver ativada, clique em Modifique para atualizar as configurações. Caso tenha desativado a assinatura de URL anteriormente, basta ativar o botão de alternância URL Signing para reconfigurá-la.

  6. Configure os parâmetros de assinatura de URL e clique em OK.

    Parâmetro

    Descrição

    Authentication Type

    Os domínios de ingestão suportam apenas a assinatura Type A.

    Nota

    Todos os erros de assinatura de URL retornam um erro 403. Se isso ocorrer, recalcule a assinatura.

    Para diagnosticar a causa exata da falha, verifique o cabeçalho X-Tengine-Error na resposta HTTP:

    • Erros de cálculo de MD5

      Exemplo: X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760be

    • Erros de timestamp

      Exemplo: X-Tengine-Error:denied by req auth: expired timestamp=1439469547

    Primary Key

    Ao adicionar um domínio, o console gera aleatoriamente uma chave primária. Você também pode inserir uma chave primária personalizada.

    Secondary Key

    Insira uma senha de backup para a autenticação de URL.

    Nota
    • As chaves primária e secundária possuem a mesma validade. A chave secundária é usada principalmente para uma rotação de chaves suave.

    • Se você atualizar a chave primária, todas as URLs assinadas com a chave primária antiga se tornarão inválidas. Para evitar interrupções, copie a chave primária antiga para o campo da chave secundária, garantindo que ela continue funcionando durante a transição.

    Validity Period

    O período de validade define por quanto tempo a URL assinada permanece válida para iniciar a ingestão ou a reprodução. A ingestão e a reprodução ao vivo utilizam conexões de longa duração. Uma vez iniciadas dentro do período de validade, essas sessões continuam mesmo após a expiração. No entanto, novas solicitações de ingestão ou reprodução falharão se a URL tiver expirado.

    O período de validade padrão para um domínio recém-adicionado é de 1 dia (1440 minutos). Você pode personalizar esse valor em minutos.

Lista de bloqueios e de permissões de IP

Introdução

  • Lista de bloqueios de IP: O sistema nega acesso ao domínio acelerado aos endereços IP adicionados a esta lista.

  • Lista de permissões de IP: Apenas os endereços IP adicionados a esta lista têm permissão para acessar o domínio acelerado.

Nota
  • Tanto a lista de bloqueios quanto a de permissões suportam endereços IPv6, seguindo as regras de formatação abaixo:

    • Quaisquer letras hexadecimais no endereço IPv6 devem estar em maiúsculas, como em 2001:DB8:0:23:8:800:200C:417A.

    • Formatos abreviados de IPv6 usando dois pontos duplos (::) não são suportados, como em 2001:0DB8::0008:0800:200C:417A.

  • Ambas as listas suportam blocos CIDR. Por exemplo, 192.168.0.0/24.

Procedimento

  1. Faça login no console do ApsaraVideo Live.

  2. No painel de navegação à esquerda, clique em Domain Names. A página Domain Management será exibida.

  3. Localize o domínio de ingestão que deseja gerenciar e clique em Domain Settings na coluna Actions.

  4. Escolha Streaming Management > Access Control.

  5. Clique na aba IP Blacklist or Whitelist e ative o recurso.

  6. Defina o List Type e a Rule, e então clique em OK.

    As listas de bloqueios e de permissões são mutuamente exclusivas; apenas uma pode estar ativa por vez. É possível configurar no máximo 1.000 endereços IPv6 ou 3.000 endereços IPv4. Separe as entradas com quebras de linha, sem duplicatas. A notação CIDR é suportada (por exemplo, 127.0.0.0/24). Os endereços IPv6 não diferenciam maiúsculas de minúsculas e não suportam o formato abreviado ::.

    Tipo

    Descrição

    IP Blacklist

    O sistema nega acesso ao domínio acelerado aos endereços IP adicionados a esta lista.

    Whitelist

    Apenas os endereços IP adicionados a esta lista têm permissão para acessar o domínio acelerado.

Autenticação remota

Introdução

Tanto a autenticação remota quanto a assinatura de URL protegem os recursos de transmissão ao vivo garantindo que apenas usuários autorizados possam acessá-los. Elas diferem na implementação:

  • Assinatura de URL: Você fornece as regras de autenticação ao centro de transmissão ao vivo, que gerencia todo o processo de autenticação.

  • Autenticação remota: Você mantém seu próprio servidor de autenticação. Quando o centro de transmissão ao vivo recebe uma solicitação de usuário, ele a encaminha ao seu servidor de autenticação para validação. Você é responsável por configurar e gerenciar esse servidor. A autenticação remota não suporta HTTP Live Streaming (HLS).

O fluxo de dados para autenticação remota é o seguinte:

image

Etapa

Descrição

O usuário envia uma solicitação de acesso a recursos contendo parâmetros de autenticação para o centro de transmissão ao vivo.

O centro de transmissão ao vivo recebe a solicitação e a encaminha diretamente (ou após aplicar regras especificadas) para o servidor de autenticação.

O servidor de autenticação avalia a solicitação usando os parâmetros fornecidos e retorna o resultado para o centro de transmissão ao vivo.

O centro de transmissão ao vivo executa uma ação com base no resultado da autenticação e retorna dados ao usuário.

  • Autenticação bem-sucedida: O centro de transmissão ao vivo e o usuário prosseguem com o acesso normal aos dados em cache e a interação.

  • Falha na autenticação: O centro de transmissão ao vivo retorna um código de status 403 para o usuário.

  • Tempo limite de autenticação: O centro de transmissão ao vivo executa a ação padrão de tempo limite (permitindo ou negando a solicitação).

Procedimento

  1. Faça login no console do ApsaraVideo Live.

  2. No painel de navegação à esquerda, clique em Domain Names. A página Domain Management será exibida.

  3. Localize o domínio de ingestão que deseja gerenciar e clique em Domain Settings na coluna Actions.

  4. Escolha Streaming Management > Access Control.

  5. Clique na aba Remote Authentication, ative o botão de alternância e configure os parâmetros conforme solicitado.

    Nota

    Após ativar a autenticação remota, todas as solicitações de usuário serão encaminhadas ao seu servidor de autenticação. Em cenários de alto tráfego, garanta que seu servidor consiga lidar com a carga e manter um bom desempenho.

    Parâmetro

    Descrição

    Authentication Server Address

    O endereço publicamente acessível do seu servidor de autenticação. O sistema valida o formato e o valor do endereço inserido. É possível usar uma URL fixa ou uma URL baseada em variáveis.

    • URL fixa: Suporta HTTP(S). Os valores não devem incluir 127.0.0.1 ou localhost, pois são inválidos. Exemplos:

      • http(s)://example.aliyundoc.com/auth

      • http(s)://192.0.2.1/auth

    Request Method

    Especifica o método de solicitação HTTP que o centro de transmissão ao vivo usa para enviar solicitações de autenticação ao seu servidor de autenticação. Valores válidos: GET e POST.

    Pass Through URL Parameters

    Controla quais parâmetros da URL de solicitação do usuário são usados para autenticação. Escolha Specified Parameters Passed, Specified Parameters Not Passed ou None.

    Nota

    Se você selecionar Specified Parameters Passed ou Specified Parameters Not Passed, insira os nomes dos parâmetros no campo abaixo, separados por vírgulas (,). Exemplo: key1,key2,key3.

    HTTP Status Code to Return

    O código de status HTTP que seu servidor de autenticação retorna ao centro de transmissão ao vivo após uma autenticação bem-sucedida. Escolha uma das opções a seguir:

    • Successful Authentication: Após selecionar esta opção, insira um código de status de sucesso personalizado. O centro de transmissão ao vivo permite a solicitação apenas se o seu servidor retornar exatamente este código. Todos os outros códigos resultam em rejeição.

      Exemplo: Defina o código de status de sucesso como 200. Se o seu servidor retornar 200, a autenticação será bem-sucedida.

    • Failed Authentication: Após selecionar esta opção, insira um código de status de falha personalizado. O centro de transmissão ao vivo bloqueia a solicitação apenas se o seu servidor retornar exatamente este código. Todos os outros códigos resultam em aprovação.

      Exemplo: Defina o código de status de falha como 403. Se o seu servidor retornar 403, a autenticação falhará.

    Authentication Duration (s)

    Este parâmetro mede o tempo desde o envio da solicitação de autenticação pelo centro de transmissão ao vivo até o recebimento de uma resposta do seu servidor.

    Insira um número inteiro de 0 a 30.

    Retries on Timeout

    Número de vezes que o centro de transmissão ao vivo tenta novamente acessar seu servidor de autenticação após um tempo limite. Quando as tentativas se esgotam, o centro de transmissão ao vivo executa a ação especificada em "Action After Timeout".

    Action After Timeout

    A ação que o centro de transmissão ao vivo executa quando a autenticação atinge o tempo limite. As ações suportadas são Allow e Deny:

    • Allow: Em caso de tempo limite, o centro de transmissão ao vivo permite a solicitação do usuário.

    • Deny: Em caso de tempo limite, o centro de transmissão ao vivo rejeita a solicitação e retorna um código de status de falha (por exemplo, 403) para o usuário.

    Asynchronous Authentication

    Quando ativada, a reprodução começa sem aguardar o resultado da autenticação remota. Se a autenticação falhar posteriormente, a reprodução será interrompida. Isso evita o aumento do tempo até o primeiro quadro causado por atrasos na autenticação remota síncrona. Após alternar entre autenticação síncrona e assíncrona, faça testes para garantir que tudo funcione conforme o esperado.

  6. Clique em OK para concluir a configuração.

    Após configurar a autenticação remota, você pode modificá-la ou desativá-la na aba Remote Authentication.

Construir uma URL com variáveis

É possível construir a URL do servidor de autenticação usando variáveis, conforme descrito abaixo:

Tipo

Descrição

Variáveis Numéricas

Variáveis numéricas como ${1} e ${2} referenciam partes da URL de ingestão ou reprodução antes do caractere ?.

Por exemplo, se a URL de ingestão for rtmp://domain.aliyundoc.com/appname/streamname?token=1&name=xr, então ${1}=appname e ${2}=streamname.

Variáveis Alfabéticas

Variáveis alfabéticas como ${arg_token} e ${arg_name} referenciam partes da URL após o caractere ?.

Por exemplo, se a URL de ingestão for rtmp://domain.aliyundoc.com/appname/streamname?token=1&name=xrc, então ${arg_token}=1 e ${arg_name}=xrc.

Variáveis Personalizadas

Variáveis personalizadas começam com o prefixo udv_. As variáveis suportadas atualmente são ${udv_host} e ${udv_ip}, que referenciam o host e o endereço IP do cliente de ingestão, respectivamente.

Variáveis NGX

Todas as variáveis ngx.var.* podem ser referenciadas diretamente. Por exemplo, ${args} referencia ngx.var.args.

Todos os valores referenciados são processados pela função de escape de URL ngx.escape_uri para evitar ambiguidades causadas por caracteres especiais.

Variável de Nome do Fluxo

Você pode usar videoname=${stream_name}. O espaço reservado ${stream_name} é substituído pelo nome do fluxo da solicitação de reprodução.

Nota

Se a URL de ingestão ou reprodução for rtmp://domain.aliyundoc.com/app/stream?token=***&name=xrc,

e o endereço do servidor de autenticação remota estiver configurado como http://auth.aliyundoc.com/?app=${udv_host}&streamname=${2}&appname=${1}&token=${arg_token},

então a URL de autenticação real se tornará http://auth.aliyundoc.com/?app=domain.aliyundoc.com&streamname=stream&appname=app&token=***.