Questa pagina ti mostra come rendere leggibili gli oggetti di tua proprietà da chiunque su internet. Per scoprire come accedere ai dati che sono stati resi pubblici, consulta Accesso ai dati pubblici.
Quando un oggetto è condiviso pubblicamente, qualsiasi utente a conoscenza dell'URI dell'oggetto può accedervi finché l'oggetto è pubblico.
Autorizzazioni obbligatorie
Console
Per completare questa guida utilizzando la console Google Cloud, devi disporre delle autorizzazioni IAM appropriate. Se gli oggetti o i bucket a cui vuoi accedere sono presenti in un progetto non creato da te, potrebbe essere necessario che il proprietario del progetto ti conceda un ruolo che contenga le autorizzazioni necessarie.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta Autorizzazioni IAM per la console Google Cloud.
Per un elenco dei ruoli pertinenti, consulta Ruoli di Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
Riga di comando
Per completare questa guida utilizzando un'utilità a riga di comando, devi disporre delle autorizzazioni IAM appropriate. Se gli oggetti o i bucket a cui vuoi accedere esistono in un progetto non creato da te, potrebbe essere necessario che il proprietario del progetto ti conceda un ruolo che contenga le autorizzazioni necessarie.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta Autorizzazioni IAM per i comandi gcloud storage
.
Per un elenco dei ruoli pertinenti, consulta Ruoli di Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
Librerie client
Per completare questa guida utilizzando le librerie client di Cloud Storage, devi disporre delle autorizzazioni IAM appropriate. Se gli oggetti o i bucket a cui vuoi accedere esistono in un progetto non creato da te, potrebbe essere necessario che il proprietario del progetto ti conceda un ruolo che contenga le autorizzazioni necessarie.
Se non diversamente indicato, le richieste di libreria client vengono effettuate tramite l'API JSON e richiedono le autorizzazioni elencate nelle autorizzazioni IAM per i metodi JSON. Per vedere quali metodi dell'API JSON vengono richiamati quando effettui richieste utilizzando una libreria client, registra le richieste non elaborate.
Per un elenco dei ruoli IAM pertinenti, consulta Ruoli di Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
API REST
API JSON
Per completare questa guida utilizzando l'API JSON, devi disporre delle autorizzazioni IAM appropriate. Se gli oggetti o i bucket a cui vuoi accedere sono presenti in un progetto non creato da te, potrebbe essere necessario che il proprietario del progetto ti conceda un ruolo che contiene le autorizzazioni necessarie.
Per un elenco delle autorizzazioni necessarie per azioni specifiche, consulta Autorizzazioni IAM per i metodi JSON.
Per un elenco dei ruoli pertinenti, consulta Ruoli di Cloud Storage. In alternativa, puoi creare un ruolo personalizzato con autorizzazioni specifiche e limitate.
Leggibilità pubblica dei singoli oggetti
Per rendere leggibili i singoli oggetti a chiunque sulla rete internet pubblica:
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
Fai clic sul nome del bucket che contiene l'oggetto che vuoi rendere pubblico e vai all'oggetto se si trova in una sottodirectory.
Fai clic sul nome dell'oggetto.
Fai clic su Modifica accesso.
Nell'overlay visualizzato, fai clic sul pulsante add_box Aggiungi voce.
Aggiungi un'autorizzazione per allUsers
- Seleziona Pubblica per l'entità.
- Seleziona allUsers come Nome.
- Seleziona Lettore per Accesso.
Fai clic su Salva.
Una volta concesso l'accesso pubblico, visualizzerai Copia URL nella colonna Accesso pubblico. Puoi fare clic su questo pulsante per ottenere l'URL pubblico dell'oggetto.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Google Cloud, consulta Risoluzione dei problemi.
Riga di comando
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Nel tuo ambiente di sviluppo, esegui il comando
objects update
con il flag--add-acl-grant
:gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --add-acl-grant=entity=AllUsers,role=READER
Dove:
BUCKET_NAME
è il nome del bucket che contiene l'oggetto che vuoi rendere pubblico. Ad esempio,my-bucket
.OBJECT_NAME
è il nome dell'oggetto che vuoi rendere pubblico. Ad esempio,pets/dog.png
.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{ "entity": "allUsers", "role": "READER" }
Utilizza
cURL
per chiamare l'API JSON con una richiestaInsert
ACL:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME/acl"
Dove:
JSON_FILE_NAME
è il percorso del file creato nel passaggio 2.BUCKET_NAME
è il nome del bucket che contiene l'oggetto che vuoi rendere pubblico. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL dell'oggetto che vuoi rendere pubblico. Ad esempio,pets/dog.png
, con codifica URL comepets%2Fdog.png
.
API XML
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Crea un file XML contenente le seguenti informazioni:
<AccessControlList> <Entries> <Entry> <Scope type="AllUsers"/> <Permission>READ</Permission> </Entry> </Entries> </AccessControlList>
Utilizza
cURL
per chiamare l'API XML con una richiestaSet Object ACL
:curl -X PUT --data-binary @XML_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME?acl"
Dove:
XML_FILE_NAME
è il percorso del file creato nel passaggio 2.BUCKET_NAME
è il nome del bucket che contiene l'oggetto che vuoi rendere pubblico. Ad esempio,my-bucket
.OBJECT_NAME
è il nome con codifica URL dell'oggetto che vuoi rendere pubblico. Ad esempio,pets/dog.png
, con codifica URL comepets%2Fdog.png
.
Rendi pubblicamente leggibili tutti gli oggetti in un bucket
Per rendere leggibili tutti gli oggetti in un bucket da chiunque su internet:
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket che vuoi rendere pubblico.
Seleziona la scheda Autorizzazioni nella parte superiore della pagina.
Nella sezione Autorizzazioni, fai clic sul pulsante
Concedi l'accesso.Viene visualizzata la finestra di dialogo Concedi l'accesso.
Nel campo Nuove entità, inserisci
allUsers
.Nel menu a discesa Seleziona un ruolo, inserisci Visualizzatore oggetti Storage nella casella del filtro e seleziona Visualizzatore oggetti Storage dai risultati filtrati.
Fai clic su Salva.
Fai clic su Consenti accesso pubblico.
Una volta concesso l'accesso pubblico, verrà visualizzato Copia URL per ciascun oggetto nella colonna Accesso pubblico. Puoi fare clic su questo pulsante per ottenere l'URL pubblico dell'oggetto.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni di Cloud Storage non riuscite nella console Google Cloud, consulta Risoluzione dei problemi.
Riga di comando
-
Nella console Google Cloud, attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell che mostra un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installato e con valori già impostati per il progetto attuale. L'inizializzazione della sessione può richiedere alcuni secondi.
Nel tuo ambiente di sviluppo, esegui il comando
buckets add-iam-policy-binding
:gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=allUsers --role=roles/storage.objectViewer
Dove
BUCKET_NAME
è il nome del bucket di cui vuoi rendere pubblici gli oggetti. Ad esempio,my-bucket
.
Librerie client
C++
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione in Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Terraform
Puoi utilizzare una risorsa Terraform per rendere pubblici tutti gli oggetti in un bucket.
API REST
API JSON
Assicurati che gcloud CLI sia installato e inizializzatoper generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando OAuth 2.0 Playground e includerlo nell'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
Utilizza
cURL
per chiamare l'API JSON con una richiestaPUT
di bucket:curl -X PUT --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/iam"
Dove:
JSON_FILE_NAME
è il percorso del file creato nel passaggio 2.BUCKET_NAME
è il nome del bucket di cui vuoi rendere pubblici gli oggetti. Ad esempio,my-bucket
.
API XML
L'API XML non supporta la lettura pubblica di tutti gli oggetti in un bucket. Utilizza la console Google Cloud o gcloud storage
.
Passaggi successivi
- Accedere ai dati che sono stati resi pubblici.
- Scopri di più sulle controllo dell'accesso dell'accesso per bucket e oggetti.