Esta página mostra exemplos de configurações para a partilha de recursos de origem cruzada (CORS). Quando define uma configuração de CORS num contentor, permite interações entre recursos de origens diferentes, algo que é normalmente proibido para evitar comportamentos maliciosos.
Configuração básica de CORS
Suponhamos que tem um Website dinâmico ao qual os utilizadores podem aceder em your-example-website.appspot.com
. Tem um ficheiro de imagem alojado num contentor do Cloud Storage com o nome your-example-bucket
. Quer usar a imagem no seu Website, pelo que tem de aplicar uma configuração CORS em your-example-bucket
que permita aos navegadores dos seus utilizadores pedir recursos do contentor. Com base na seguinte configuração, os pedidos de pré-voo são válidos durante 1 hora e os pedidos bem-sucedidos do navegador devolvem o Content-Type
do recurso na resposta.
Linha de comandos
Exemplo de comando gcloud
gcloud storage buckets update gs://example_bucket --cors-file=example_cors_file.json
Exemplo de ficheiro JSON com a configuração de CORS
[ { "origin": ["https://your-example-website.appspot.com"], "method": ["GET"], "responseHeader": ["Content-Type"], "maxAgeSeconds": 3600 } ]
Para mais informações sobre como definir uma configuração CORS através da CLI do Google Cloud, consulte a documentação de referência gcloud storage buckets update
.
APIs REST
API JSON
{ "cors": [ { "origin": ["https://your-example-website.appspot.com"], "method": ["GET"], "responseHeader": ["Content-Type"], "maxAgeSeconds": 3600 } ] }
Para o formato generalizado de um ficheiro de configuração CORS, consulte a representação de recursos de contentores para JSON.
API XML
<?xml version="1.0" encoding="UTF-8"?> <CorsConfig> <Cors> <Origins> <Origin>https://your-example-website.appspot.com</Origin> </Origins> <Methods> <Method>GET</Method> </Methods> <ResponseHeaders> <ResponseHeader>Content-Type</ResponseHeader> </ResponseHeaders> <MaxAgeSec>3600</MaxAgeSec> </Cors> </CorsConfig>
Para o formato generalizado de um ficheiro de configuração de CORS, consulte o formato de configuração de CORS para XML.
Remova as definições de CORS de um contentor
Para remover as definições de CORS de um contentor, forneça um ficheiro de configuração de CORS vazio.
Linha de comandos
Quando usa o comando gcloud storage buckets update
com a flag --clear-cors
, remove a configuração de CORS de um contentor:
gcloud storage buckets update gs://BUCKET_NAME --clear-cors
Onde BUCKET_NAME é o nome do contentor cuja configuração de CORS quer remover.
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte remove qualquer configuração da CORS existente de um contentor:
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte remove qualquer configuração da CORS existente de um contentor:
Go
Para mais informações, consulte a documentação de referência da API Go do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte remove qualquer configuração da CORS existente de um contentor:
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte remove qualquer configuração da CORS existente de um contentor:
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte remove qualquer configuração da CORS existente de um contentor:
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte remove qualquer configuração da CORS existente de um contentor:
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte remove qualquer configuração da CORS existente de um contentor:
Ruby
Para mais informações, consulte a documentação de referência da API Ruby do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte remove qualquer configuração da CORS existente de um contentor:
APIs REST
API JSON
Quando definida num contentor, a seguinte configuração remove todas as definições de CORS de um contentor:
{ "cors": [] }
Para o formato generalizado de um ficheiro de configuração CORS, consulte a representação de recursos de contentores para JSON.
API XML
Quando definida num contentor, a seguinte configuração remove todas as definições de CORS de um contentor:
<CorsConfig></CorsConfig>
Para o formato generalizado de um ficheiro de configuração de CORS, consulte o formato de configuração de CORS para XML.
O que se segue?
- Saiba mais sobre a partilha de recursos de origem cruzada (CORS).
- Defina e veja a configuração de CORS num contentor.