En esta página, se muestra cómo hacer que los objetos que posees sean legibles para todos en la Internet pública. Para obtener más información sobre cómo acceder a los datos que se hicieron públicos, consulta Accede a datos públicos.
Haz que los objetos individuales sean legibles públicamente
A fin de que los objetos individuales sean legibles para todos en la Internet pública, sigue estos pasos:
Console
- Abre el navegador de Cloud Storage en Google Cloud Console.
Abrir el navegador de Cloud Storage Revisa la columna Control de acceso del bucket que contiene el objeto que quieres hacer público. Si la columna dice Detallado, continúa con el siguiente paso. Si la columna indica Uniforme, no puedes seguir los pasos a continuación para hacer que los objetos individuales en el bucket sean legibles de forma pública. En cambio, otorga legibilidad pública a todos los objetos del bucket o usa URL firmadas.
Haz clic en el nombre del bucket que contiene el objeto que quieres hacer público y navega hasta el objeto si está en un subdirectorio.
Haz clic en el menú de más acciones (
) asociado al objeto que deseas hacer público.
Selecciona Editar permisos del menú desplegable. Si la opción no existe, es posible que tengas habilitado el control de acceso Uniforme. Consulta el paso 2 para obtener más información.
En la superposición que aparece, haz clic en el botón + Agregar entrada.
Para allUsers, agrega un permiso.
- En Entidad, selecciona Pública.
- En Nombre, selecciona allUsers.
- En Acceso, selecciona Lector.
Haz clic en Guardar.
Una vez compartido públicamente, aparece un ícono de vínculo en la columna de acceso público. Puedes hacer clic en este ícono para obtener la URL del objeto.
Consulta Solución de problemas para obtener información detallada sobre las operaciones fallidas en el navegador de Cloud Storage.
gsutil
Usa el comando gsutil acl ch
:
gsutil acl ch -u AllUsers:R gs://BUCKET_NAME/OBJECT_NAME
Donde:
BUCKET_NAME
es el nombre del bucket que contiene el objeto que quieres hacer público. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto que quieres hacer público. Por ejemplo,pets/dog.png
.
Si se ejecuta de forma correcta, la respuesta se parece al siguiente ejemplo:
Updated ACL on gs://my-bucket/pets/dog.png
Muestras de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
Node.js
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Node.js.
PHP
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para PHP.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
Ruby
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Ruby.
API de REST
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
Crea un archivo .json que contenga la siguiente información:
{ "entity": "allUsers", "role": "READER" }
Usa
cURL
para llamar a la API de JSON con una solicitud de LCAInsert
: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"
Donde:
JSON_FILE_NAME
es el nombre del archivo que creaste en el paso 2.OAUTH2_TOKEN
es el token de acceso que creaste en el paso 1.BUCKET_NAME
es el nombre del bucket que contiene el objeto que quieres hacer público. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto que quieres hacer público. Por ejemplo,pets/dog.png
.
API de XML
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
Crea un archivo .xml que contenga la siguiente información:
<AccessControlList> <Entries> <Entry> <Scope type="AllUsers"/> <Permission>READ</Permission> </Entry> </Entries> </AccessControlList>
Usa
cURL
para llamar a la API de XML con una solicitudSet 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"
Donde:
XML_FILE_NAME
es el nombre del archivo que creaste en el paso 2.OAUTH2_TOKEN
es el token de acceso que creaste en el paso 1.BUCKET_NAME
es el nombre del bucket que contiene el objeto que quieres hacer público. Por ejemplo,my-bucket
.OBJECT_NAME
es el nombre del objeto que quieres hacer público. Por ejemplo,pets/dog.png
.
Haz que todos los objetos de un bucket se puedan leer de forma pública
A fin de que los objetos de un bucket sean legibles para todos en la Internet pública, sigue estos pasos:
Console
- Abre el navegador de Cloud Storage en Google Cloud Console.
Abrir el navegador de Cloud Storage En la lista de bucket s, haz clic en el nombre del bucket que deseas hacer público.
Selecciona la pestaña Permisos cerca de la parte superior de la página.
Haz clic en el botón Agregar miembros.
Aparece el cuadro de diálogo Agregar miembros.
En el campo Miembros nuevos, ingresa
allUsers
.En el menú desplegable Seleccionar una función, selecciona el submenú Cloud Storage y haz clic en la opción Visualizador de objetos de almacenamiento.
Haz clic en Guardar.
Una vez que se comparte de forma pública, aparece un ícono de vínculo para cada objeto en la columna de acceso público. Puedes hacer clic en este ícono para obtener la URL del objeto.
Consulta Solución de problemas para obtener información detallada sobre las operaciones fallidas en el navegador de Cloud Storage.
gsutil
Usa el comando gsutil iam ch
:
gsutil iam ch allUsers:objectViewer gs://BUCKET_NAME
En este comando, BUCKET_NAME
es el nombre del bucket cuyos objetos quieres hacer públicos. Por ejemplo, my-bucket
.
Muestras de código
C++
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C++.
C#
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para C#.
Go
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Go.
Java
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Java.
Python
Si deseas obtener más información, consulta la documentación de referencia de la API de Cloud Storage para Python.
API de REST
API de JSON
- Obtén un token de acceso de autorización de OAuth 2.0 Playground. Configura Playground para usar tus credenciales de OAuth.
Crea un archivo .json que contenga la siguiente información:
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
Usa
cURL
para llamar a la API de JSON con una solicitud de 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"
Donde:
JSON_FILE_NAME
es el nombre del archivo que creaste en el paso 2.OAUTH2_TOKEN
es el token de acceso que creaste en el paso 1.BUCKET_NAME
es el nombre del bucket cuyos objetos quieres hacer públicos. Por ejemplo,my-bucket
.
API de XML
La API de XML no admite que todos los objetos de un bucket se hagan legibles de forma pública. Usa gsutil o la API de JSON en su lugar.
¿Qué sigue?
- Accede a los datos que se hicieron públicos.
- Obtén información sobre más opciones de control de acceso para tus depósitos y objetos.