Vista geral Exemplos de configuração
A partilha de recursos de origem cruzada (CORS) permite interações entre recursos de diferentes origens, algo que é normalmente proibido para evitar comportamentos maliciosos. Use esta página para saber como definir uma configuração CORS num contentor do Cloud Storage e como ver a configuração CORS definida num contentor. Consulte os exemplos de configuração para CORS para ver exemplos de configurações de CORS, incluindo a configuração que desativa qualquer configuração existente no seu contentor.
Funções necessárias
Para receber as autorizações necessárias para definir e ver a configuração de CORS num contentor, peça ao seu administrador para lhe conceder a função de administrador do armazenamento (roles/storage.admin
) no contentor.
Esta função predefinida contém as autorizações necessárias para definir e ver as configurações de CORS. Para ver as autorizações exatas necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
storage.buckets.get
storage.buckets.update
Também pode obter estas autorizações com outras funções predefinidas ou funções personalizadas.
Para ver informações sobre a concessão de funções em contentores, consulte o artigo Use o IAM com contentores.
Defina a configuração de CORS num contentor
Define uma configuração de CORS num contentor especificando informações, como métodos HTTP e domínios de origem, que identificam os tipos de pedidos que o contentor pode aceitar.
Siga estes passos para definir uma configuração CORS no seu contentor:
Consola
Não pode gerir o CORS através da consola do Google Cloud . Em alternativa, use a CLI gcloud.
Linha de comandos
Crie um ficheiro JSON com a configuração CORS que quer aplicar. Consulte exemplos de configuração para ver ficheiros JSON de exemplo.
Use o comando
gcloud storage buckets update
com a flag--cors-file
:gcloud storage buckets update gs://BUCKET_NAME --cors-file=CORS_CONFIG_FILE
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.CORS_CONFIG_FILE
é o caminho para o ficheiro JSON que criou no passo 1.
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 define uma configuração de CORS num 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 define uma configuração de CORS num 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 define uma configuração de CORS num 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 define uma configuração de CORS num 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 define uma configuração de CORS num 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 define uma configuração de CORS num 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 define uma configuração de CORS num 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 define uma configuração de CORS num contentor:
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Crie um ficheiro JSON com a configuração CORS que quer aplicar. Consulte exemplos de configuração para ver ficheiros JSON de exemplo.
Use
cURL
para chamar a API JSON com um pedido dePATCH
contentor:curl --request PATCH \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=cors' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' \ --header 'Content-Type: application/json' \ --data-binary @CORS_CONFIG_FILE
Onde:
BUCKET_NAME
é o nome do contentor. Por exemplo,my-bucket
.CORS_CONFIG_FILE
é o caminho para o ficheiro JSON que criou no passo 2.
API XML
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Crie um ficheiro XML com a configuração do CORS que quer aplicar. Consulte exemplos de configuração para ficheiros XML de exemplo.
Use
cURL
para chamar a API XML com um pedidoPUT Bucket
no âmbito de?cors
:curl -X PUT --data-binary @CORS_CONFIG_FILE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-project-id: PROJECT_ID" \ "https://storage.googleapis.com/BUCKET_NAME?cors"
Onde:
BUCKET_NAME
é o nome do contentor. Por exemplo,my-bucket
.PROJECT_ID
é o ID do projeto associado ao contentor. Por exemplo,my-project
.CORS_CONFIG_FILE
é o caminho para o ficheiro XML que criou no passo 2.
Para remover a configuração de CORS de um contentor, defina uma configuração de CORS vazia.
Veja a configuração de CORS para um contentor
Para ver a configuração de CORS de um contentor:
Consola
Não pode gerir o CORS através da consola do Google Cloud . Em alternativa, use a CLI gcloud.
Linha de comandos
Use o comando gcloud storage buckets describe
com a flag
--format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(cors_config)"
Onde BUCKET_NAME
é o nome do contentor cuja configuração de CORS quer ver. Por exemplo, my-bucket
.
Bibliotecas cliente
Para ver a configuração CORS de um contentor através das bibliotecas de cliente, siga as instruções para apresentar os metadados de um contentor e procure o campo CORS na resposta:
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.
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.
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.
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.
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.
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.
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.
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.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um pedido deGET
contentor:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=cors"
Em que
BUCKET_NAME
é o nome do contentor cuja configuração de CORS quer ver. Por exemplo,my-bucket
.
API XML
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API XML com um pedido deGET
contentor no âmbito de?cors
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?cors"
Em que
BUCKET_NAME
é o nome do contentor cuja configuração de CORS quer ver. Por exemplo,my-bucket
.
O que se segue?
- Explore exemplos de configuração da CORS, incluindo um exemplo que remove a configuração da CORS num contentor.
- Saiba mais acerca do CORS.
- Saiba como resolver problemas de pedidos CORS.