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.
Como habilitar a leitura pública de objetos individuais
Para ativar a leitura de objetos individuais para todos os usuários da Internet pública, siga estas etapas:
Console
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Abra o navegador do Cloud Storage Verifique a coluna Controle de acesso do bucket que contém o objeto que você quer tornar público. Se a coluna mostrar Refinado, vá para a próxima etapa. Se a coluna mostrar Uniforme, não será possível usar as seguintes etapas para tornar publicamente legíveis os objetos individuais no bucket. Em vez disso, permita a leitura pública a todos os objetos no bucket ou use URLs assinadas.
Clique no nome do bucket que contém o objeto que você quer tornar público e navegue até o objeto se ele estiver em um subdiretório.
Clique no menu de mais ações (
) associado ao objeto.
Selecione Edit permissions no menu suspenso. Se a opção não existir, é possível que o controle de acesso Uniforme esteja ativado. Confira a etapa 2 para mais detalhes.
Na sobreposição exibida, clique no botão + Adicionar entrada.
Adicione uma permissão para allUsers.
- Selecione Pública em Entidade.
- Selecione allUsers em Nome.
- Selecione Leitor em Acesso.
Clique em Salvar.
Depois que o objeto for compartilhado publicamente, aparecerá um ícone de link na coluna de acesso público. Clique neste ícone para ver o URL do objeto.
Consulte a Solução de problemas para informações detalhadas sobre erros de operações com falha no navegador do Cloud Storage.
gsutil
Use o comando gsutil acl ch
:
gsutil acl ch -u AllUsers:R gs://BUCKET_NAME/OBJECT_NAME
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
.
Se a operação for bem-sucedida, a resposta será parecida com esta:
Updated ACL on gs://my-bucket/pets/dog.png
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
APIs REST
API JSON
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
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.json \ -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 nome do arquivo que você criou 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 do objeto que você quer tornar público. Por exemplo,pets/dog.png
.
API XML
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Crie um arquivo .xml com as informações a seguir:
<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.xml \ -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?acl"
Em que:
XML_FILE_NAME
é o nome do arquivo que você criou 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 do objeto que você quer tornar público. Por exemplo,pets/dog.png
.
Como ativar 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
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Abrir o navegador do Cloud Storage Na lista de buckets, clique no nome daquele que você quer tornar público.
Selecione a guia Permissões na parte superior da página.
Clique no botão Adicionar membros.
A caixa de diálogo Adicionar membros é exibida.
No campo Novos membros, insira
allUsers
.No campo Selecionar uma função, selecione o submenu Cloud Storage e clique na opção Visualizador do objeto de armazenamento.
Clique em Salvar.
Depois que o intervalo for compartilhado publicamente, aparecerá um ícone de link para cada objeto na coluna de acesso público. Clique neste ícone para ver o URL do objeto.
Consulte a Solução de problemas para informações detalhadas sobre erros de operações com falha no navegador do Cloud Storage.
gsutil
Use o comando gsutil iam ch
:
gsutil iam ch allUsers:objectViewer gs://BUCKET_NAME
Em que BUCKET_NAME
é o nome do bucket que contém
os objetos que você quer tornar públicos. Por exemplo, my-bucket
.
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
APIs REST
API JSON
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
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.json \ -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 nome do arquivo que você criou 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. No lugar dela, use a gsutil ou a API JSON.
A seguir
- Acesse dados que foram tornados públicos.
- Conheça mais opções de controle de acesso para seus buckets e objetos.