Questa pagina ti mostra come rendere gli oggetti di tua proprietà leggibili da chiunque sulla rete internet pubblica. Per scoprire come accedere ai dati che sono stati resi pubblici, vedi Accesso ai dati pubblici.
Quando un oggetto viene condiviso pubblicamente, qualsiasi utente a conoscenza dell'URI dell'oggetto può accedervi finché l'oggetto è pubblico.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per rendere gli oggetti leggibili pubblicamente, chiedi all'amministratore di concederti i seguenti ruoli:
Per rendere leggibili pubblicamente i singoli oggetti: Amministratore oggetti Storage (
roles/storage.objectAdmin
)- Se prevedi di utilizzare la console Google Cloud, avrai bisogno del ruolo Amministratore Storage (
roles/storage.admin
) anziché il ruolo Amministratore oggetti Storage.
- Se prevedi di utilizzare la console Google Cloud, avrai bisogno del ruolo Amministratore Storage (
Per rendere pubblicamente leggibili tutti gli oggetti in un bucket: Amministratore Storage (
roles/storage.admin
) o Proprietario bucket legacy Storage (roles/storage.legacyBucketOwner
)
Questi ruoli contengono le autorizzazioni necessarie per rendere pubblici gli oggetti. Per visualizzare esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
storage.buckets.get
storage.buckets.getIamPolicy
storage.buckets.setIamPolicy
storage.buckets.update
storage.objects.get
storage.objects.getIamPolicy
storage.objects.setIamPolicy
storage.objects.update
Le seguenti autorizzazioni sono necessarie solo per utilizzare la console Google Cloud per eseguire le attività in questa pagina:
storage.buckets.list
storage.objects.list
Potresti anche riuscire a ottenere queste autorizzazioni con altri ruoli predefiniti o ruoli personalizzati.
Per istruzioni sulla concessione dei ruoli sui bucket, consulta Utilizzare IAM con i bucket.
Rendere pubblicamente leggibili i singoli oggetti
Per rendere i singoli oggetti leggibili a tutti sulla rete internet pubblica, concedi
all'entità allUsers
il ruolo READER
:
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 passa 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 Pubblico per Entità.
- Seleziona allUsers come Nome.
- Seleziona Lettore come Accesso.
Fai clic su Salva.
Una volta concesso l'accesso pubblico, nella colonna accesso pubblico viene visualizzato Copia URL. Puoi fare clic su questo pulsante per ottenere l'URL pubblico dell'oggetto.
Per scoprire come ottenere informazioni dettagliate sugli errori relativi alle operazioni Cloud Storage non riuscite nella console Google Cloud, consulta la pagina 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 contenente 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 ulteriori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Installa e inizializzatogcloud CLI per 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 al passaggio 2.BUCKET_NAME
è il nome del bucket contenente 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 URLpets%2Fdog.png
.
API XML
Installa e inizializzatogcloud CLI per 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 che contenga 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 al passaggio 2.BUCKET_NAME
è il nome del bucket contenente 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 URLpets%2Fdog.png
.
Rendi pubblicamente leggibili tutti gli oggetti in un bucket
Per rendere leggibili tutti gli oggetti di un bucket sulla rete internet pubblica, concedi all'entità allUsers
il ruolo Visualizzatore oggetti Storage (roles/storage.objectViewer
):
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 di 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, per ciascun oggetto viene visualizzato 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 Cloud Storage non riuscite nella console Google Cloud, consulta la pagina 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.
Nell'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 ulteriori informazioni, consulta la documentazione di riferimento dell'API C++ di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API C# di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Go di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API PHP di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Python di Cloud Storage.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Ruby di Cloud Storage.
Per eseguire l'autenticazione su 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 di un bucket.
API REST
API JSON
Installa e inizializzatogcloud CLI per 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
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 al 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 consente di rendere pubblicamente leggibili tutti gli oggetti di 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 i bucket e gli oggetti.