É possível configurar a proteção contra hotlink para um bucket do Object Storage Service (OSS) para impedir o acesso não autorizado aos recursos do bucket. Este tópico descreve o comando referer para que você execute e configure a proteção contra hotlink de um bucket, bem como modifique, atualize, consulte e exclua as configurações de proteção.
Observações de uso
Para que você crie ou modifique configurações de proteção contra hotlink, é necessária a permissão
oss:PutBucketReferer. Para consultar essas configurações, é necessária a permissãooss:GetBucketReferer. Para excluí-las, é necessária a permissãooss:DeleteBucketReferer. Para mais informações, consulte Grant a custom policy.
No ossutil 1.6.16 e versões posteriores, é possível usar diretamente o ossutil como nome do binário na linha de comando, sem necessidade de alterá-lo de acordo com o sistema operacional. Em versões anteriores à 1.6.16, é preciso ajustar o nome do binário conforme o sistema operacional. Para mais informações, consulte ossutil command reference.
Para mais informações sobre a proteção contra hotlink, consulte Hotlink protection.
Crie ou modifique configurações de proteção contra hotlink
Se a proteção contra hotlink não estiver configurada em um bucket, o comando referer a seguir a configura. Caso já esteja configurada, o comando substitui as configurações de proteção contra hotlink existentes no bucket.
Execute o comando a seguir para configurar ou modificar as configurações de proteção contra hotlink de um bucket:
-
Sintaxe do comando
ossutil referer --method put oss://bucketname refererconfig [--disable-empty-referer]A tabela a seguir descreve os parâmetros e as opções na sintaxe do comando.
Parâmetro/Opção
Descrição
bucketname
Nome do bucket no qual você deseja criar ou modificar as configurações de proteção contra hotlink.
refererconfig
Nomes de domínio ou endereços IP a serem adicionados à lista de permissões de Referer. É possível usar asteriscos (*) e pontos de interrogação (?) como caracteres curinga. Caso especifique vários Referers, separe-os com espaços. Exemplos:
-
Se adicionar
http://www.aliyun.comà lista de permissões de Referer, as URLs que começam com http://www.aliyun.com, como http://www.aliyun.com/123 e http://www.aliyun.com.cn, poderão ser correspondidas. -
Se adicionar
*www.aliyun.comà lista de permissões de Referer, as URLs que contêmwww.aliyun.com, como http://www.aliyun.com e https://www.aliyun.com, poderão ser correspondidas. -
É possível usar um asterisco () como caractere curinga para representar zero ou mais caracteres. Por exemplo, ao adicionar
.aliyun.com à lista de permissões de Referer, URLs como https://www.alibabacloud.com/help e https://www.aliyun.com poderão ser correspondidas. -
Também é possível usar um ponto de interrogação (?) como caractere curinga para representar um único caractere.
-
Além disso, é possível adicionar nomes de domínio ou endereços IP seguidos por números de porta, como https://www.example.com:8080 e https://10.0.0.0:8080, à lista de permissões de Referer.
--disable-empty-referer
Especifica se serão permitidas solicitações com o campo Referer vazio.
-
Caso não especifique este parâmetro, as solicitações com o campo Referer vazio serão permitidas. Ou seja, solicitações HTTP ou HTTPS que incluam o campo Referer vazio ou que não o incluam serão aceitas.
-
Caso especifique este parâmetro, as solicitações com o campo Referer vazio não serão permitidas. Apenas solicitações HTTP ou HTTPS que incluam o campo Referer com um valor válido poderão acessar o bucket.
-
-
Exemplos
Configure a proteção contra hotlink para o bucket examplebucket para permitir que o domínio
www.aliyun.comreferencie objetos no bucket e negue o acesso a esses objetos ao inserir suas URLs na barra de endereços de um navegador.ossutil referer --method put oss://examplebucket http://www.aliyun.com https://www.aliyun.com --disable-empty-refererConfigure a proteção contra hotlink para o bucket examplebucket para permitir que o domínio
www.aliyun.comreferencie objetos no bucket e permita o acesso a esses objetos ao inserir suas URLs na barra de endereços de um navegador.ossutil referer --method put oss://examplebucket http://www.aliyun.com https://www.aliyun.comA saída de exemplo a seguir indica que a proteção contra hotlink do bucket foi configurada:
0.134839(s) elapsed
Consultar as configurações de proteção contra hotlink de um bucket
-
Sintaxe do comando
ossutil referer --method get oss://bucketname [local_xml_file]A tabela a seguir descreve os parâmetros do comando anterior.
Parâmetro
Descrição
bucketname
Nome do bucket cujas configurações de proteção contra hotlink você deseja consultar.
local_xml_file
Nome do arquivo local no qual você deseja armazenar as configurações de proteção contra hotlink do bucket. Exemplo:
localfile.txt. Se este parâmetro não for especificado, as configurações serão exibidas na tela. -
Exemplos
-
Consulte as configurações de proteção contra hotlink do bucket examplebucket e armazene-as no arquivo
localfile.txt.ossutil referer --method get oss://examplebucket localfile.txtA saída de exemplo a seguir indica que as configurações de proteção contra hotlink foram obtidas.
0.212407(s) elapsed -
Consulte as configurações de proteção contra hotlink do bucket examplebucket e exiba-as.
ossutil referer --method get oss://examplebucketA saída de exemplo a seguir indica que apenas as solicitações HTTP ou HTTPS cujos cabeçalhos Referer correspondem a
*www.aliyun.comtêm permissão para acessar o bucket examplebucket, e que as solicitações com o campo Referer vazio não são permitidas.<?xml version="1.0" encoding="UTF-8"?> <RefererConfiguration> <AllowEmptyReferer>false</AllowEmptyReferer> <RefererList> <Referer>*www.aliyun.com</Referer> </RefererList> </RefererConfiguration> 0.080482(s) elapsed
-
Exclua as configurações de proteção contra hotlink de um bucket
-
Sintaxe do comando
ossutil referer --method delete oss://bucketnameNa sintaxe, bucketname especifica o nome do bucket cujas configurações de proteção contra hotlink você deseja excluir.
-
Exemplos
Exclua as configurações de proteção contra hotlink do bucket examplebucket.
ossutil referer --method delete oss://examplebucketA saída de exemplo a seguir indica que as configurações de proteção contra hotlink do bucket foram excluídas.
0.212409(s) elapsed
Opções comuns
Para acessar um bucket em outra região, use -e para especificar o endpoint. Para acessar um bucket pertencente a outra conta Alibaba Cloud, use -i para o AccessKey ID e -k para o AccessKey Secret.
O comando a seguir mostra um exemplo de como configurar a proteção contra hotlink para o bucket testbucket, localizado na região China (Hangzhou) e pertencente a outra conta Alibaba Cloud:
ossutil referer --method put oss://testbucket www.alibabacloud.com -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret