O compartilhamento de recursos de origem cruzada (CORS) é um mecanismo padrão HTML5 que permite aos servidores de aplicações web controlar o acesso entre origens. Esse recurso garante a segurança na transmissão de dados entre origens distintas. Este tópico descreve como usar o comando cors para adicionar, modifique, consultar e exclua a configuração de CORS de um bucket.
Observações de uso
Para adicionar ou modifique uma configuração de CORS, é necessária a permissão
oss:PutBucketCors. Para obter uma configuração de CORS, você precisa da permissãooss:GetBucketCors. Para exclua uma configuração de CORS, é obrigatória a permissãooss:DeleteBucketCors. Para mais informações, consulte Grant custom permissions to a RAM user.
A partir da versão 1.6.16 do ossutil, use
ossutilcomo nome do binário na linha de comando, independentemente do sistema operacional. Se você utilizar uma versão anterior à 1.6.16, altere o nome do binário conforme o seu sistema operacional. Para mais informações, consulte ossutil command reference.Para obter mais detalhes sobre CORS, consulte Cross-origin resource sharing.
Adicionar ou modifique uma configuração de CORS
Se o bucket não tiver uma configuração de CORS, este comando adicionará uma nova. Caso já exista uma configuração, o comando a substituirá.
Para adicionar ou modifique uma configuração de CORS, siga estas etapas:
Crie um arquivo local e adicione as regras de CORS a ele.
O ossutil lê a configuração de CORS do arquivo local e a aplica ao bucket especificado.
O formato do comando e um exemplo são apresentados a seguir:
-
Formato do comando
ossutil cors --method put oss://bucketname local_xml_fileOs parâmetros são descritos abaixo:
Parâmetro
Descrição
bucketname
Nome do bucket no qual você deseja adicionar ou modifique a configuração de CORS.
local_xml_file
Nome do arquivo local que contém as regras de CORS. Por exemplo,
localfile.txt. -
Exemplo
-
Crie um arquivo local chamado
localfile.txte adicione as regras de CORS necessárias.A regra de CORS de exemplo a seguir permite solicitações
PUTde origem cruzada provenientes dehttp://www.aliyun.com. Ela também define que o navegador deve armazenar em cache a resposta a uma solicitação preflight (OPTIONS) para um recurso específico durante 10.000 segundos.<?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration> <CORSRule> <AllowedOrigin>http://www.aliyun.com</AllowedOrigin> <AllowedMethod>PUT</AllowedMethod> <MaxAgeSeconds>10000</MaxAgeSeconds> </CORSRule> </CORSConfiguration> -
Adicione uma regra de CORS ao bucket examplebucket.
ossutil cors --method put oss://examplebucket localfile.txtA saída a seguir indica que a regra de CORS foi adicionada.
0.299514(s) elapsed
-
Obter uma configuração de CORS
-
Formato do comando
ossutil cors --method get oss://bucketname [local_xml_file]Os parâmetros são descritos abaixo:
Parâmetro
Descrição
bucketname
Nome do bucket cuja configuração de CORS você deseja obter.
local_xml_file
Nome do arquivo local onde salve a configuração de CORS. Por exemplo,
localfile.txt. Se você não especifique esse parâmetro, a configuração de CORS será exibida na tela. -
Exemplo
Obtenha a configuração de CORS do bucket examplebucket.
ossutil cors --method get oss://examplebucket localfile.txtA saída a seguir indica que a configuração de CORS foi obtida e gravada no arquivo localfile.txt.
0.212407(s) elapsed
Exclua uma configuração de CORS
-
Formato do comando
ossutil cors --method delete oss://bucketname -
Exemplo
Exclua a configuração de CORS do bucket examplebucket.
ossutil cors --method delete oss://examplebucketA saída a seguir confirma a exclusão da configuração de CORS do bucket examplebucket.
0.530750(s) elapsed
Opções comuns
Para acessar um bucket em outra região, use -e para especifique o endpoint. Para acessar um bucket pertencente a outra conta da Alibaba Cloud, utilize -i para o AccessKey ID e -k para o AccessKey secret.
Por exemplo, para adicionar uma configuração de CORS a um bucket chamado testbucket, localizado na região China (Hangzhou) e pertencente a outra conta da Alibaba Cloud, execute o seguinte comando:
ossutil cors --method put oss://testbucket localfile.txt -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret