A maioria das operações realizadas no Cloud Storage precisa ser autenticada. As únicas exceções são operações em recursos que permitem o acesso anônimo. Um recurso terá acesso anônimo se o grupo allUsers
estiver incluído na ACL do recurso ou se o grupo allUsers
estiver incluído em uma política do IAM que se aplica ao recurso. O grupo allUsers
inclui qualquer pessoa na Internet.
Autenticação do OAuth 2.0
O Cloud Storage usa o OAuth 2.0 para autenticar e autorizar APIs. A autenticação é o processo para determinar a identidade de um cliente. Os detalhes da autenticação variam dependendo de como o Cloud Storage está sendo acessado, mas se enquadram em dois tipos gerais:
Um fluxo centrado no servidor permite que um aplicativo retenha diretamente as credenciais de uma conta de serviço para concluir a autenticação. Use esse fluxo se o aplicativo trabalhar com seus próprios dados em vez de dados do usuário. É possível usar as contas de serviço padrão dos projetos do Google Cloud ou criar contas novas.
Um fluxo centrado no usuário permite que um aplicativo consiga as credenciais de um usuário final. O usuário faz login para concluir a autenticação. Use esse fluxo caso o aplicativo precise acessar dados do usuário. Consulte Credenciais da conta de usuário para cenários em que um fluxo centrado no usuário é apropriado.
Tenha em mente que é possível usar os dois tipos de autenticação juntos em um aplicativo. Para mais informações sobre autenticação, consulte o Guia de autenticação do Google Cloud.
Autenticação da interface de linha de comando
Se você trabalha com o Cloud Storage usando a CLI do Google Cloud, normalmente é necessário autenticar com as credenciais da sua conta de usuário. Para fazer isso, execute o comando
gcloud auth login
e siga as instruções, que incluem o login
na conta de usuário. Para outras opções de autenticação, consulte
Autenticar para usar a gcloud CLI.
Autenticação da biblioteca de cliente
As bibliotecas de cliente podem usar o Application Default Credentials para autenticar facilmente com as APIs do Google e enviar solicitações para essas APIs. Com esse serviço, é possível testar seu aplicativo localmente e implantá-lo sem alterar o código subjacente. Par amais informações, consulte Faça a autenticação para usar as bibliotecas do cliente.
Google Cloud
Se você estiver executando o aplicativo em serviços compatíveis com contas de serviço conectadas, como App Engine, Cloud Functions, Cloud Run ou Compute Engine, o ambiente já fornece uma conta de serviço, portanto, nenhuma outra configuração é necessária. Para o Compute Engine, o escopo da conta de serviço depende de como a instância foi criada. Consulte Escopos de acesso na documentação do Compute Engine. No caso do App Engine, é usado o escopo
cloud-platform
.Outros ambientes
Para inicializar seu ambiente local de desenvolvimento ou produção, crie uma conta de serviço do Google Cloud, faça o download da chave e defina a variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
para usar essa chave. Para informações detalhadas, consulte Como configurar a autenticação com as bibliotecas de cliente do Cloud Storage.
Autenticação da API
Para fazer solicitações usando o OAuth 2.0 para a API XML
ou a API JSON do Cloud Storage, inclua o token de acesso do seu aplicativo no
cabeçalho Authorization
em todas as solicitações que exigem autenticação. Use o
OAuth 2.0 Playground para gerar um token de acesso:
No OAuth 2.0 Playground, clique em Cloud Storage API v1, em seguida, selecione um nível de acesso para o aplicativo (
full_control
,read_only
ouread_write
).Clique em Authorize APIs.
Faça login na sua conta quando solicitado. Na caixa de diálogo exibida, clique em Permitir.
Na etapa 2 do Playground, clique em Exchange authorization code for tokens para o código de autorização exibido.
Copie o token de acesso e inclua-o no cabeçalho
Authorization
da sua solicitação:Authorization: Bearer OAUTH2_TOKEN
Veja abaixo um exemplo de solicitação que lista objetos em um bucket.
API JSON
Use o método de lista do recurso Objects.
GET /storage/v1/b/example-bucket/o HTTP/1.1 Host: www.googleapis.com Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg
Para autorizar solicitações a partir da linha de comando ou realizar testes, use o comando curl com a sintaxe a seguir:
curl -H "Authorization: Bearer OAUTH2_TOKEN""https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o"
Para realizar testes locais, use o comando gcloud auth application-default print-access-token
para gerar um token.
API XML
Use uma solicitação Listar objetos.
GET / HTTP/1.1 Host: example-bucket.storage.googleapis.com Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg
Para autorizar solicitações a partir da linha de comando ou realizar testes, use o comando curl com a sintaxe a seguir:
curl -H "Authorization: Bearer OAUTH2_TOKEN""https://BUCKET_NAME.storage.googleapis.com"
Para realizar testes locais, use o comando gcloud auth application-default print-access-token
para gerar um token.
Devido à complexidade de gerenciar e atualizar tokens de acesso e devido ao risco de segurança de aplicativos criptográficos, recomendamos enfaticamente o uso de uma biblioteca de cliente verificada.
Se você estiver procurando chaves HMAC para usar com a API XML para acesso interoperável com o Amazon S3, consulte Como gerenciar chaves HMAC para contas de serviço.
A seguir
- Aprenda sobre downloads baseados em navegador usando a autenticação de cookies.
- Saiba como as contas de serviço são usadas de modo geral no Google Cloud e de modo específico no Cloud Storage.
- Saiba mais sobre chaves de API, que podem ser usadas para identificar um aplicativo.
- Saiba mais sobre os escopos do OAuth 2.0 do Cloud Storage.