O ApsaraVideo Live oferece diversas políticas de controle de acesso para domínios de streaming: assinatura de URL, proteção contra hotlink baseada em referer, lista de bloqueios e lista de permissões de IP, proibição de protocolo, bloqueio por região e autenticação remota. Esses recursos evitam uso não autorizado e protegem seus recursos de transmissão ao vivo. Configure as políticas adequadas às suas necessidades de segurança.
Visão geral
Para proteger seu domínio de streaming e impedir o uso não autorizado, implemente diferentes políticas de controle de acesso. Cada uma oferece uma camada distinta de proteção:
Assinatura de URL: Verifica a autenticidade de cada solicitação por meio de assinaturas criptográficas, oferecendo proteção mais robusta do que métodos baseados em referer.
Proteção contra hotlink baseada em referer: Controla o acesso utilizando listas de bloqueios ou listas de permissões personalizadas para permitir ou negar solicitações de reprodução e proteger seu conteúdo ao vivo.
Lista de bloqueios e lista de permissões de endereços IP: Restringe ou permite o acesso a partir de endereços IP específicos.
Proibição de protocolo: Restringe os protocolos de reprodução do seu domínio. Após ativar esse recurso, o sistema nega URLs de reprodução que utilizem um protocolo proibido.
Bloqueio por região: Gerencia o acesso ao seu domínio de streaming especificando uma lista de bloqueios ou lista de permissões de regiões.
Autenticação remota: Encaminha as solicitações do usuário para seu próprio servidor de autenticação para validação, adicionando uma camada flexível e segura de controle de acesso.
Assinatura de URL
Como funciona
A assinatura de URL coordena a autenticação entre o ApsaraVideo Live e seu servidor de negócios para proteger os recursos de transmissão ao vivo contra acessos não autorizados.
Seu servidor de negócios gera uma URL assinada contendo informações de autenticação.
Um usuário faz uma solicitação de ingestão ou reprodução de stream para o service ApsaraVideo Live usando a URL assinada.
Um nó de borda do ApsaraVideo Live valida as informações de autenticação na URL assinada, atendendo às solicitações válidas e negando as inválidas.
Após o ApsaraVideo Live autenticar sua URL de solicitação, caracteres especiais na URL, como = e +, são escapados.
Para saber mais sobre os casos de uso da assinatura de URL, a estrutura de uma URL assinada e o funcionamento da autenticação, consulte Signed ingest and streaming URLs.
Configurar assinatura de URL
Faça login no console do ApsaraVideo Live.
No painel de navegação à esquerda, clique em Domain Names. A página Domain Management será exibida.
Localize o domínio de streaming que deseja configurar e clique em Domain Settings na coluna Actions.
Clique em .
-
Clique na aba URL Signing e, em seguida, clique em Change Settings.
NotaAo adicionar um nome de domínio pela primeira vez, a URL signing vem ativada por padrão. Só é possível clicar em Change Settings quando esse recurso estiver ativado.
-
Configure os parâmetros de assinatura de URL e clique em OK.

A tabela a seguir descreve os parâmetros.
Parâmetro
Descrição
Authentication Type
Os domínios de streaming do ApsaraVideo Live suportam apenas a autenticação Type A para proteger seus recursos de origem.
NotaUma solicitação de assinatura de URL inválida retorna um erro 403. É necessário recalcular a assinatura.
-
Erro de cálculo MD5
Exemplo:
X-Tengine-Error:denied by req auth: invalid md5hash=de7bfdc915ced05e17380a149bd760be -
Erro de timestamp
Exemplo:
X-Tengine-Error:denied by req auth: expired timestamp=1439469547
Primary Key
Ao adicionar um nome de domínio, o console gera aleatoriamente uma chave primária. Selecione Domain Management na barra de navegação à esquerda, escolha o nome de domínio que deseja configurar e clique em para visualizar a chave primária na página URL Signing. Também é possível inserir uma chave primária personalizada.
Secondary Key
Insira uma chave secundária personalizada.
Nota-
As chaves primária e secundária possuem o mesmo poder de autenticação. A chave secundária serve principalmente para garantir uma rotação de chaves suave.
-
Se você alterar a chave primária, as URLs assinadas geradas com a chave antiga tornar-se-ão inválidas. Para evitar interrupções no service durante a rotação de chaves, copie a chave primária atual para o campo da chave secundária antes de definir a nova chave primária. Isso permite que a chave secundária continue autenticando solicitações durante a transição.
Validity Period
Período durante o qual uma URL assinada pode iniciar uma solicitação de ingestão ou reprodução de stream. Como a ingestão e a reprodução usam conexões de longa duração, uma conexão ativa continua após a expiração do período de validade, mas novas solicitações com a URL expirada falharão. Padrão: 1 dia (1.440 minutos). Mínimo: 1 minuto. Sem limite superior.
-
Desativar assinatura de URL
Antes de desativar a URL Signing, compreenda os riscos de tráfego não autorizado e assine o acordo de isenção de responsabilidade.
Após desativar a URL Signing, será possível gerar URLs de ingestão ou streaming que nunca expiram.
Na aba URL Signing, clique no link para Read Disclaimer Agreement.
Na caixa de diálogo Disclaimer Agreement, marque a caixa de seleção e clique em Disable URL Signing.
Após assinar o acordo de isenção de responsabilidade, clique em OK.
Desative a chave Signed URL. Com o recurso desativado, não será mais possível criptografar URLs definindo uma chave de autenticação.
Proteção contra hotlink baseada em referer
Como funciona
A proteção contra hotlink baseada em referer utiliza o cabeçalho HTTP Referer para identificar a origem das solicitações. Configure uma lista de bloqueios ou lista de permissões para que os nós de borda do ApsaraVideo Live filtrem as solicitações dos visualizadores adequadamente. Solicitações que correspondem às regras recebem acesso; as demais recebem uma resposta 403.
Este é um recurso opcional e vem desativado por padrão.
A lista de bloqueios e a lista de permissões são mutuamente exclusivas. Ative apenas uma por vez.
Após configurar este recurso, o ApsaraVideo Live passa a suportar automaticamente domínios com curinga. Por exemplo, se você inserir
example.com, a regra se aplicará a*.example.com, cobrindo todos os seus subdomínios.-
Escolha se deseja permitir solicitações com um campo Referer vazio. Isso permite o acesso direto a uma URL de recurso pela barra de endereços do navegador.
Clientes móveis frequentemente não conseguem recuperar um referer. Por padrão, solicitações com referer vazio são permitidas. Se você não permitir solicitações com referer vazio, use o SDK do ApsaraVideo Player para definir um referer em clientes móveis.
Caso não permita solicitações com referer vazio, configure Enable HTTPS e ative o redirecionamento forçado de HTTP para HTTPS (HTTP > HTTPS). Alguns navegadores removem o cabeçalho Referer ao processar uma solicitação HTTPS para um recurso HTTP, o que causaria falha no acesso.
Procedimento
Faça login no console do ApsaraVideo Live.
No painel de navegação à esquerda, clique em Domain Names. A página Domain Management será exibida.
Localize o domínio de streaming que deseja configurar e clique em Domain Settings na coluna Actions.
Clique em .
-
Clique na aba Referer-based Hotlink Protection e ative a chave Referer-based Hotlink Protection.

-
Configure o Type e os Referrers e, em seguida, clique em OK.

A tabela a seguir descreve os tipos de proteção contra hotlink baseada em referer.
Tipo
Descrição
Blacklist
Domínios na lista de bloqueios não podem acessar o recurso.
Whitelist
Apenas domínios na lista de permissões podem acessar o recurso. Todos os outros domínios são bloqueados.
Lista de bloqueios e lista de permissões de IP
Como funciona
Adicione um endereço IP à lista de bloqueios para impedir que ele acesse o domínio de streaming.
Adicione um endereço IP à lista de permissões para permitir que apenas esse endereço IP acesse o domínio de streaming.
Tanto a lista de bloqueios quanto a lista de permissões de endereços IP suportam endereços IPv6. Ao inserir endereços IPv6, use letras maiúsculas, como
2001:DB8:0:23:8:800:200C:417Aou2001:0DB8:0000:0023:0008:0800:200C:417A. Formatos abreviados de IPv6, como2001:0DB8::0008:0800:200C:417A, não são suportados.É possível adicionar intervalos de endereços IP à lista de bloqueios e à lista de permissões usando a notação CIDR. Por exemplo,
192.168.0.0/24indica que os primeiros 24 bits da máscara de sub-rede são usados para o endereço de rede, deixando 8 bits (32 - 24) para endereços de host. Essa sub-rede pode conter 2^8 - 2 = 254 hosts. Portanto,192.168.0.0/24representa o intervalo de endereços IP de192.168.0.1a192.168.0.254.
Procedimento
Faça login no console do ApsaraVideo Live.
No painel de navegação à esquerda, clique em Domain Names. A página Domain Management será exibida.
Localize o domínio de streaming que deseja configurar e clique em Domain Settings na coluna Actions.
Clique em .
-
Clique na aba IP Blacklist or Whitelist e ative a chave IP Blacklist or Whitelist.

-
Configure o List Type e a Rule e, em seguida, clique em OK.

Tipo
Descrição
Blacklist
Endereços IP na lista de bloqueios não podem acessar o recurso.
Whitelist
Apenas endereços IP na lista de permissões podem acessar o recurso. Todos os outros endereços IP são bloqueados.
Proibição de protocolo
Como funciona
A proibição de protocolo bloqueia a reprodução no nível de protocolo para um domínio de streaming, incluindo seus domínios principais e subdomínios. Após ativar este recurso, o sistema nega URLs de reprodução que utilizem o protocolo especificado.
Também é possível chamar a operação da API BatchSetLiveDomainConfigs e passar o registro alilive no parâmetro Functions. Para mais informações, consulte BatchSetLiveDomainConfigs.
Procedimento
Faça login no console do ApsaraVideo Live.
No painel de navegação à esquerda, clique em Domain Names. A página Domain Management será exibida.
Localize o domínio de streaming que deseja configurar e clique em Domain Settings na coluna Actions.
Clique em .
-
Clique na aba Protocol Prohibition, selecione os protocolos que deseja bloquear e ative a chave de cada um deles.

Bloqueio por região
Como funciona
O bloqueio por região identifica a localização geográfica das solicitações do cliente, permitindo bloquear ou permitir o acesso por região. Isso ajuda a mitigar solicitações maliciosas e a aplicar direitos de distribuição de conteúdo.
O bloqueio por região é suportado para os protocolos de reprodução HLS, RTMP, FLV e RTS.
Se você configurar bloqueio por região tanto no nível de domínio quanto no nível de stream para a mesma região, a configuração da lista de bloqueios terá precedência. Por exemplo, se configurar uma lista de permissões no nível de domínio e uma lista de bloqueios no nível de stream, a lista de bloqueios no nível de stream será aplicada. Se configurar uma lista de bloqueios no nível de domínio e uma lista de permissões no nível de stream, a lista de bloqueios no nível de domínio será aplicada.
É possível configurar tanto o Domain-level Region Blocking quanto o Stream-level Region Blocking. Se houver conflito entre as listas de permissões e as listas de bloqueios, a lista de bloqueios terá precedência para determinar quais regiões são bloqueadas.
Bloqueio por região no nível de domínio
Faça login no console do ApsaraVideo Live.
No painel de navegação à esquerda, clique em Domain Names. A página Domain Management será exibida.
Localize o domínio de streaming que deseja configurar e clique em Domain Settings na coluna Actions.
Clique em .
-
Na aba Region Blocking, ative a chave Domain-level Region Blocking. Selecione um Blocking Type e especifique as Blocked Regions.
Parâmetro
Descrição
Blocking Type
-
Lista de bloqueios: Regiões na lista de bloqueios não podem acessar nenhum recurso sob o domínio de streaming.
-
Lista de permissões: Apenas regiões na lista de permissões podem acessar recursos sob o domínio de streaming. Todas as outras regiões são bloqueadas.
A lista de bloqueios e a lista de permissões são mutuamente exclusivas. Apenas uma pode estar ativa por vez.
Blocked Regions
As regiões a serem incluídas na lista de bloqueios ou lista de permissões.
-
Clique em OK para salvar a configuração.
Bloqueio por região no nível de stream
Faça login no console do ApsaraVideo Live.
No painel de navegação à esquerda, clique em Domain Names. A página Domain Management será exibida.
Localize o domínio de streaming que deseja configurar e clique em Domain Settings na coluna Actions.
Clique em
-
Clique na aba Region Blocking e, em seguida, clique em Add Rule na seção Stream-level Region Blocking.

Parâmetro
Descrição
AppName
Nome da aplicação da transmissão ao vivo.
NotaO AppName pode ter até 256 caracteres e conter dígitos, letras maiúsculas e minúsculas, hífens (-), sublinhados (_) e sinais de igual (=). Ele deve corresponder ao AppName na URL da transmissão ao vivo para que a regra de bloqueio tenha efeito.
StreamName
Nome do stream da transmissão ao vivo.
NotaO StreamName pode ter até 256 caracteres e conter dígitos, letras maiúsculas e minúsculas, hífens (-), sublinhados (_) e sinais de igual (=). Ele deve corresponder ao StreamName na URL da transmissão ao vivo para que a regra de bloqueio tenha efeito.
Tipo de bloqueio
-
Lista de bloqueios: Visualizadores de regiões na lista de bloqueios não podem acessar o stream especificado.
-
Lista de permissões: Apenas visualizadores de regiões na lista de permissões podem acessar o stream especificado.
NotaA lista de bloqueios e a lista de permissões são mutuamente exclusivas. Apenas uma pode estar ativa por vez.
Blocked Regions / Allowed Regions
Regiões a serem bloqueadas (lista de bloqueios) ou permitidas (lista de permissões).
Tempo de expiração
Momento em que a regra expira. Por padrão, uma regra é válida por sete dias, mas você pode ajustar conforme necessário.
-
Clique em OK para salvar a configuração.
Visualize a lista de regras de bloqueio por região no nível de stream. Após configurar uma regra, atualize a lista para verificar seu status. Filtre a lista por tipo de lista, AppName ou StreamName.
Autenticação remota
Como funciona
Tanto a autenticação remota quanto a assinatura de URL protegem os recursos de transmissão ao vivo contra acessos não autorizados, mas diferem em sua implementação técnica:
Assinatura de URL: Você configura as regras de autenticação no centro de transmissão, que então lida com toda a troca de dados de autenticação.
Autenticação remota: Você mantém um servidor de autenticação dedicado. Quando uma solicitação é recebida, o centro de transmissão a encaminha para o seu servidor para validação. Você é responsável por criar e gerenciar o servidor de autenticação. A autenticação remota não suporta o protocolo HLS.
Fluxo de dados da autenticação remota:
|
Etapa |
Interação |
|
① |
Um usuário envia uma solicitação de acesso a recursos (POST) contendo parâmetros de autenticação para o centro de transmissão. |
|
② |
O centro de transmissão recebe a solicitação do usuário e a encaminha para o servidor de autenticação usando o método POST, seja diretamente ou após processá-la com base em regras especificadas. |
|
③ |
O servidor de autenticação valida os parâmetros na solicitação, determina o resultado da autenticação e o retorna via resposta POST para o centro de transmissão. |
|
④ |
O centro de transmissão recebe a resposta POST do servidor de autenticação, toma uma ação com base no resultado e retorna os dados correspondentes ao usuário.
|
Procedimento
Faça login no console do ApsaraVideo Live.
No painel de navegação à esquerda, clique em Domain Names. A página Domain Management será exibida.
Localize o domínio de streaming que deseja configurar e clique em Domain Settings na coluna Actions.
Clique em .
-
Clique na aba Remote Authentication, ative a chave Remote Authentication e configure os parâmetros.
NotaQuando a autenticação remota está ativada, cada solicitação de usuário é encaminhada para o seu servidor de autenticação para processamento. Se você espera um alto volume de solicitações, considere o desempenho e a capacidade do seu servidor de autenticação.
Parâmetro
Descrição
Authentication Server Address
URL publicamente acessível do seu servidor de autenticação. O sistema valida o formato e o valor do endereço. Defina uma URL fixa ou construa uma com concatenação de variáveis.
-
URL fixa: Suporta protocolos HTTP e HTTPS. O valor não pode ser
127.0.0.1oulocalhost. Exemplos:-
http(s)://example.aliyundoc.com/auth
-
http(s)://192.0.2.1/auth
-
-
Concatenação de variáveis de URL: Gere a URL de autenticação concatenando variáveis. Para mais informações, consulte URL variable concatenation.
Request Method
Método HTTP que o centro de transmissão usa para enviar solicitações de autenticação ao seu servidor. Valores válidos: GET, POST. Padrão para novas configurações: GET. Para configurações existentes sem método registrado, o campo exibe POST.
Pass Through URL Parameters
Controla quais parâmetros da URL de solicitação do usuário são incluídos na solicitação de autenticação. Escolha entre Specified Parameters Passed, Specified Parameters Not Passed ou não passar nenhum parâmetro.
NotaSe escolher Specified Parameters Passed ou Specified Parameters Not Passed, insira os parâmetros na caixa de entrada, separados por vírgulas (,). Exemplo:
key1,key2,key3.HTTP Status Code to Return
Código de status HTTP que seu servidor de autenticação retorna ao centro de transmissão. Defina o código de status para sucesso ou falha:
-
Successful Authentication: Insira um código de status de sucesso personalizado. O centro de transmissão permite uma solicitação apenas se o seu servidor retornar este código. Todos os outros códigos de status resultam no bloqueio da solicitação.
Por exemplo, se definir o código de sucesso como 200, uma resposta 200 indica autenticação bem-sucedida.
-
Failed Authentication: Insira um código de status de falha personalizado. O centro de transmissão bloqueia uma solicitação apenas se o seu servidor retornar este código. Todos os outros códigos de status resultam na permissão da solicitação.
Por exemplo, se definir o código de falha como 403, uma resposta 403 indica falha na autenticação.
Authentication Duration (s)
Tempo, em segundos, que o centro de transmissão aguarda por uma resposta do seu servidor de autenticação após enviar uma solicitação.
Insira um número inteiro de 0 a 30.
Retries on Timeout
Número de vezes que o centro de transmissão tenta novamente a solicitação de autenticação após um tempo limite. Se todas as tentativas falharem, o sistema executa a ação especificada em Action After Timeout. Defina a ação como Allow ou Deny.
Ação após tempo limite
Ação que o centro de transmissão toma se a conexão com o servidor de autenticação atingir o tempo limite. As opções são Allow e Deny.
-
Allow: O centro de transmissão permite a solicitação do usuário.
-
Deny: O centro de transmissão nega a solicitação do usuário e retorna um código de status de falha, como 403, ao usuário.
Asynchronous Authentication
Quando ativado, a reprodução começa imediatamente sem esperar pelo resultado da autenticação. Se o resultado da autenticação for posteriormente identificado como um erro, o stream é desconectado. Isso reduz o tempo até o primeiro quadro, removendo a latência da autenticação síncrona.
NotaAfter switching between synchronous and asynchronous authentication, test to ensure it works as expected.
-
-
Clique em OK para salvar a configuração.
Após configurar a autenticação remota, retorne à aba Remote Authentication para modificar as configurações ou desativar o recurso.
Concatenação de variáveis de URL
Use variáveis para gerar dinamicamente a URL de autenticação. A tabela a seguir descreve as variáveis disponíveis.
|
Tipo |
Descrição |
|
Variáveis numéricas |
Variáveis numéricas, como Por exemplo, se a URL de ingestão for |
|
Variáveis alfabéticas |
Variáveis como Por exemplo, se a URL de ingestão for |
|
Variáveis personalizadas |
Variáveis personalizadas começam com o prefixo |
|
Variáveis NGX |
Todas as variáveis Todos os valores referenciados por variáveis são processados pela função de escape de URL |
|
Variáveis de nome de stream |
Adicione parâmetros no formato |
Se a URL de ingestão ou reprodução de stream for rtmp://domain.aliyundoc.com/app/stream?token=***&name=xrc.
A URL do servidor de autenticação remota está definida como http://auth.aliyundoc.com/?app=${udv_host}&streamname=${2}&appname=${1}&token=${arg_token}.
A URL de autenticação real será http://auth.aliyundoc.com/?app=domain.aliyundoc.com&streamname=stream&appname=app&token=***.