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, você precisa da permissão
oss:PutBucketCors. Para obter uma configuração de CORS, é necessária a permissãooss:GetBucketCors. Para exclua uma configuração de CORS, você deve ter a permissãooss:DeleteBucketCors. Para mais informações, consulte Conceder permissões personalizadas a um usuário RAM.
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 sistema operacional. Para mais detalhes, consulte Referência de comandos do ossutil.Para mais informações sobre CORS, consulte Compartilhamento de recursos de origem cruzada.
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, ela será substituída.
Siga estas etapas para adicionar ou modifique uma configuração de CORS:
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 inclua nele as regras de CORS necessárias.A regra de CORS de exemplo abaixo permite requisições
PUTde origem cruzada provenientes dewww.aliyun.com. Ela também define que o navegador deve armazenar em cache a resposta a uma requisição preflight (OPTIONS) para um recurso específico por 10.000 segundos.<?xml version="1.0" encoding="UTF-8"?> <CORSConfiguration> <CORSRule> <AllowedOrigin>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 confirma 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. Exemplo:
localfile.txt. Se este parâmetro não for especifique, 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 abaixo indica que a configuração de CORS foi recuperada 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 que a configuração de CORS do bucket examplebucket foi excluída.
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 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 Alibaba Cloud, execute o seguinte comando:
ossutil cors --method put oss://testbucket localfile.txt -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret