Nesta página, você aprenderá como permitir que todos os usuários da Internet pública leiam seus objetos. Para saber como acessar dados públicos, consulte esta página.
Quando um objeto é compartilhado publicamente, qualquer usuário que saiba o URI dele poderá acessá-lo enquanto ele for público.
Permissões necessárias
Console
Para concluir este guia usando o Console do Google Cloud, é preciso ter as permissões de IAM adequadas. Se os objetos ou buckets que você quer acessar existirem em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda a você um papel que contenha as permissões necessárias.
Para uma lista de permissões necessárias para ações específicas, consulte Permissões do IAM para o Console do Google Cloud.
Para ver a lista de papéis relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.
Linha de comando
Para concluir este guia usando um utilitário de linha de comando, você precisa ter as permissões de IAM adequadas. Se os objetos ou buckets que você quer acessar existirem em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda a você um papel que contenha as permissões necessárias.
Para uma lista de permissões necessárias para ações específicas, consulte
Permissões do IAM
para comandos gcloud storage
.
Para ver a lista de papéis relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.
Bibliotecas de cliente
Para concluir este guia usando as bibliotecas de cliente do Cloud Storage, é preciso ter as permissões de IAM adequadas. Se os objetos ou buckets que você quer acessar existirem em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda a você um papel que contenha as permissões necessárias.
A menos que indicado de outra forma, as solicitações da biblioteca de cliente são feitas por meio da API JSON e exigem permissões conforme listado nas permissões do IAM para métodos JSON. Para conferir quais métodos da API JSON são invocados ao fazer solicitações usando uma biblioteca de cliente, registre as solicitações brutas.
Para conferir a lista de papéis do IAM relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.
APIs REST
API JSON
Para concluir este guia usando a API JSON, é preciso ter as permissões do IAM adequadas. Se os objetos ou buckets que você quer acessar existirem em um projeto que você não criou, talvez seja necessário que o proprietário do projeto conceda a você um papel que contenha as permissões necessárias.
Para uma lista de permissões necessárias para ações específicas, consulte Permissões do IAM para métodos JSON.
Para ver a lista de papéis relevantes, consulte Papéis do Cloud Storage. Como alternativa, é possível criar um papel personalizado que tenha permissões mais limitadas.
Tornar objetos individuais legíveis por público
Para ativar a leitura de objetos individuais para todos os usuários da Internet pública, siga estas etapas:
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Clique no nome do bucket que contém o objeto que você quer tornar público e acesse o objeto se ele estiver em um subdiretório.
Clique no nome do objeto.
Clique em Editar acesso.
Na sobreposição exibida, clique no botão add_boxAdicionar entrada.
Adicione uma permissão para allUsers.
- Selecione Pública em Entidade.
- Selecione allUsers em Nome.
- Selecione Leitor em Acesso.
Clique em Save.
Depois que o acesso público for concedido, Copiar URL será exibido na coluna de acesso público. Clique nesse botão para ver o URL público do objeto.
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console do Google Cloud, consulte Solução de problemas.
Linha de comando
-
No Console do Google Cloud, ative o Cloud Shell.
Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
No ambiente de desenvolvimento, execute o comando
objects update
com a sinalização--add-acl-grant
:gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --add-acl-grant=entity=AllUsers,role=READER
Em que:
BUCKET_NAME
é o nome do bucket que contém o objeto que você quer tornar público. Por exemplo,my-bucket
.OBJECT_NAME
é o nome do objeto que você quer tornar público. Por exemplo,pets/dog.png
.
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.
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
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Crie um arquivo JSON com as informações a seguir:
{ "entity": "allUsers", "role": "READER" }
Use
cURL
(em inglês) para chamar a API JSON com uma solicitação de ACLInsert
:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/acl"
Em que:
JSON_FILE_NAME
é o caminho para o arquivo criado na Etapa 2.OAUTH2_TOKEN
é o token de acesso criado na etapa 1;BUCKET_NAME
é o nome do bucket que contém o objeto que você quer tornar público. Por exemplo,my-bucket
.OBJECT_NAME
é o nome codificado por URL do objeto que você quer tornar público. Por exemplo,pets/dog.png
, codificado por URL comopets%2Fdog.png
.
API XML
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Crie um arquivo XML com as seguintes informações:
<AccessControlList> <Entries> <Entry> <Scope type="AllUsers"/> <Permission>READ</Permission> </Entry> </Entries> </AccessControlList>
Use
cURL
(em inglês) para chamar a API XML com uma solicitaçãoSet Object ACL
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?acl"
Em que:
XML_FILE_NAME
é o caminho para o arquivo criado na Etapa 2.OAUTH2_TOKEN
é o token de acesso criado na etapa 1;BUCKET_NAME
é o nome do bucket que contém o objeto que você quer tornar público. Por exemplo,my-bucket
.OBJECT_NAME
é o nome codificado por URL do objeto que você quer tornar público. Por exemplo,pets/dog.png
, codificado por URL comopets%2Fdog.png
.
Habilitar a leitura pública de todos os objetos em um bucket
Para ativar a leitura de todos os objetos em um bucket para todos os usuários da Internet pública, siga estas etapas:
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket que você quer tornar público.
Selecione a guia Permissões na parte superior da página.
Na seção Permissões, clique no botão
Conceder acesso.A caixa de diálogo Permitir acesso é exibida.
No campo Novos participantes, insira
allUsers
.Na lista suspensa Selecionar um papel, insira Visualizador de objetos do Storage na caixa de filtro e selecione o Visualizador de objetos do Storage nos resultados filtrados.
Clique em Save.
Clique em Permitir acesso público.
Depois que o acesso público for concedido, Copiar URL aparecerá para cada objeto na coluna de acesso público. Clique nesse botão para ver o URL público do objeto.
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console do Google Cloud, consulte Solução de problemas.
Linha de comando
-
No Console do Google Cloud, ative o Cloud Shell.
Na parte inferior do Console do Google Cloud, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a CLI do Google Cloud já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.
No ambiente para desenvolvedores, execute o comando
buckets add-iam-policy-binding
:gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer
Em que
BUCKET_NAME
é o nome do bucket que contém os objetos que você quer tornar públicos. Por exemplo,my-bucket
.
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.
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.
Terraform
Use um recurso do Terraform para tornar todos os objetos em um bucket público.
APIs REST
API JSON
- Receba um token de acesso de autorização do OAuth 2.0 Playground. Configure o Playground para usar suas credenciais do OAuth. Para ver instruções, consulte Autenticação de APIs.
Crie um arquivo JSON com as informações a seguir:
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
Use
cURL
para chamar a API JSON com uma solicitação bucketPUT
:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Em que:
JSON_FILE_NAME
é o caminho para o arquivo criado na Etapa 2.OAUTH2_TOKEN
é o token de acesso criado na etapa 1;BUCKET_NAME
é o nome do bucket que contém os objetos que você quer tornar públicos. Por exemplo,my-bucket
.
API XML
Não é possível ativar a leitura pública de todos os objetos em um bucket com
a API XML. Use o console do Google Cloud ou o gcloud storage
.
A seguir
- Acesse dados que foram tornados públicos.
- Conheça mais opções de controle de acesso para seus buckets e objetos.