Visão geral Amostras de configuração
O Compartilhamento de recursos de origem cruzada (CORS, na sigla em inglês) permite interações entre recursos de diferentes origens, o que normalmente é proibido para evitar comportamentos maliciosos. Neste tópico, você saberá como definir uma configuração do CORS em um bucket do Cloud Storage e visualizar a configuração do CORS definida em um bucket. Consulte Exemplos de configuração do CORS, por exemplo, configurações do CORS que desativam qualquer configuração atual no bucket.
Funções exigidas
Para receber as permissões necessárias para definir e ver a configuração do CORS em um bucket, peça ao administrador para conceder a você o papel de Administrador do Storage (roles/storage.admin
) no bucket.
Esse papel predefinido contém as permissões necessárias para definir e ver as configurações do CORS. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
storage.buckets.get
storage.buckets.update
Também é possível conseguir essas permissões com outros papéis predefinidos ou personalizados.
Para informações sobre como conceder papéis nos buckets, consulte Usar o IAM com buckets.
Definir a configuração do CORS em um bucket
Para configurar o CORS em um bucket, especifique as informações que identificam os tipos de solicitações que os buckets podem aceitar, como métodos HTTP e domínios de origem.
Siga estas etapas para definir uma configuração do CORS no bucket:
Console
Não é possível gerenciar o CORS usando o console do Google Cloud. Em vez disso, use a CLI gcloud.
Linha de comando
Crie um arquivo JSON com a configuração do CORS que você quer aplicar. Veja exemplos de configuração para arquivos JSON de amostra.
Use o comando
gcloud storage buckets update
com a flag--cors-file
:gcloud storage buckets update gs://BUCKET_NAME --cors-file=CORS_CONFIG_FILE
Em que:
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.CORS_CONFIG_FILE
é o caminho para o arquivo JSON que você criou na etapa 1.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Veja no exemplo a seguir como definir uma configuração CORS em um bucket:
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Veja no exemplo a seguir como definir uma configuração CORS em um bucket:
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Veja no exemplo a seguir como definir uma configuração CORS em um bucket:
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Veja no exemplo a seguir como definir uma configuração CORS em um bucket:
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Veja no exemplo a seguir como definir uma configuração CORS em um bucket:
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Veja no exemplo a seguir como definir uma configuração CORS em um bucket:
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Veja no exemplo a seguir como definir uma configuração CORS em um bucket:
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Veja no exemplo a seguir como definir uma configuração CORS em um bucket:
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Crie um arquivo JSON com a configuração do CORS que você quer aplicar. Veja exemplos de configuração para arquivos JSON de amostra.
Use
cURL
para chamar a API JSON com uma solicitação bucketPATCH
: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
Em que:
BUCKET_NAME
é o nome do bucket. Por exemplo,my-bucket
.CORS_CONFIG_FILE
é o caminho para o arquivo JSON que você criou na etapa 2.
API XML
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Crie um arquivo XML com a configuração do CORS que você quer aplicar. Veja exemplos de arquivos nos exemplos de configuração.
Use
cURL
para chamar a API XML com uma solicitaçãoPUT Bucket
com escopo?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"
Em que:
BUCKET_NAME
é o nome do bucket. Por exemplo,my-bucket
.PROJECT_ID
é o ID do projeto associado ao bucket. Por exemplo,my-project
.CORS_CONFIG_FILE
é o caminho para o arquivo XML criado na Etapa 2.
Para remover a configuração do CORS de um bucket, defina uma configuração vazia para o CORS.
Visualizar a configuração do CORS para um bucket
Para ver a configuração do CORS para um bucket:
Console
Não é possível gerenciar o CORS usando o console do Google Cloud. Em vez disso, use a CLI gcloud.
Linha de comando
Use o comando gcloud storage buckets describe
com a flag --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(cors_config)"
Em que BUCKET_NAME
é o nome do bucket
com a configuração de CORS que você quer visualizar. Por exemplo, my-bucket
.
Bibliotecas de cliente
Para ver a configuração do CORS para um bucket usando as bibliotecas de cliente, siga as instruções para exibir os metadados de um bucket e procure o campo CORS na resposta.
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação bucketGET
: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 bucket com a configuração do CORS que você quer ver. Por exemplo,my-bucket
.
API XML
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
para chamar a API XML com uma solicitação do bucketGET
com o escopo definido como?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 bucket com a configuração do CORS que você quer ver. Por exemplo,my-bucket
.
A seguir
- Confira os exemplos de configuração do CORS, incluindo um exemplo que remove a configuração do CORS em um bucket.
- Saiba mais sobre o CORS.
- Saiba como resolver problemas de solicitações do CORS.