Questa pagina mostra come rendere gli oggetti di tua proprietà leggibili a tutti su nella 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 del l'URI dell'oggetto può accedere all'oggetto finché questo è pubblico.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per rendere gli oggetti leggibili pubblicamente, chiedi all'amministratore di concederti i ruoli seguenti:
Per rendere leggibili pubblicamente i singoli oggetti: Amministratore oggetti Storage (
roles/storage.objectAdmin
)- Se prevedi di utilizzare la console Google Cloud, ti serviranno
Ruolo Amministratore Storage (
roles/storage.admin
) al posto dell'oggetto Storage Ruolo Amministratore.
- Se prevedi di utilizzare la console Google Cloud, ti serviranno
Ruolo Amministratore Storage (
Per rendere pubblicamente leggibili tutti gli oggetti in un bucket: Storage Admin Proprietario bucket legacy (
roles/storage.admin
) o Storage (roles/storage.legacyBucketOwner
)
Questi ruoli contengono le autorizzazioni necessarie per rendere pubblici gli oggetti. Per vedere le le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni obbligatorie sezione:
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 l'utilizzo Console Google Cloud per eseguire le attività in questa pagina:
storage.buckets.list
storage.objects.list
Potresti riuscire a ottenere queste autorizzazioni anche con altri ruoli predefiniti o ruoli personalizzati.
Per istruzioni sulla concessione dei ruoli nei 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
l'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 da rendi pubblico e vai all'oggetto se si trova in una sottodirectory.
Fai clic sul nome dell'oggetto.
Fai clic su Modifica accesso.
Nell'overlay che compare, fai clic 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, Copia URL appare nella sezione pubblica d'accesso. Puoi fare clic su questo pulsante per ottenere l'URL pubblico .
Scopri come ottenere informazioni dettagliate sugli errori relativi a Cloud Storage non riusciti nella console Google Cloud, vedi 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
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 da rendere pubblici. Ad esempio,pets/dog.png
.
Librerie client
C++
Per ulteriori informazioni, consulta API Cloud Storage C++ documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo nell'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{ "entity": "allUsers", "role": "READER" }
Utilizza
cURL
per chiamare l'API JSON con un 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 contenente l'oggetto che vuoi rendere pubblico. Ad esempio:my-bucket
.OBJECT_NAME
è il nome codificato nell'URL di l'oggetto che vuoi rendere pubblico. Ad esempio,pets/dog.png
, Codificato come URLpets%2Fdog.png
.
API XML
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo 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 un 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 contenente l'oggetto che vuoi rendere pubblico. Ad esempio:my-bucket
.OBJECT_NAME
è il nome codificato nell'URL di l'oggetto che vuoi rendere pubblico. Ad esempio,pets/dog.png
, Codificato come URLpets%2Fdog.png
.
Rendi pubblicamente leggibili tutti gli oggetti in un bucket
Per rendere leggibili tutti gli oggetti di un bucket su internet pubblica,
concedi all'entità allUsers
il Visualizzatore oggetti Storage
Ruolo (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 pubblici.
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 in casella di filtro e seleziona il Visualizzatore oggetti Storage dal risultati filtrati.
Fai clic su Salva.
Fai clic su Consenti accesso pubblico.
Una volta concesso l'accesso pubblico, per ogni oggetto viene visualizzato Copia URL. nella colonna public access. Puoi fare clic su questo pulsante per ottenere l'URL pubblico per l'oggetto.
Scopri come ottenere informazioni dettagliate sugli errori relativi a Cloud Storage non riusciti nella console Google Cloud, vedi 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 API Cloud Storage C++ documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
C#
Per ulteriori informazioni, consulta API Cloud Storage C# documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per ulteriori informazioni, consulta API Cloud Storage Java documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per ulteriori informazioni, consulta API Cloud Storage Node.js documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per ulteriori informazioni, consulta API Cloud Storage PHP documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Terraform
Puoi utilizzare una risorsa Terraform per creare tutti gli oggetti in una pubblico.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, per generare un token di accesso per l'intestazione
Authorization
.In alternativa, puoi creare un token di accesso utilizzando il metodo OAuth 2.0 Playground e includilo 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 un 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 nel passaggio 2.BUCKET_NAME
è il nome del bucket di cui vuoi rendere pubblici gli oggetti. Ad esempio,my-bucket
.
API XML
La possibilità di rendere pubblicamente leggibili tutti gli oggetti di un bucket non è supportata
l'API XML. Utilizza la console Google Cloud o gcloud storage
.
Passaggi successivi
- Accedere ai dati che sono stati resi pubblici.
- Scopri di più sulle opzioni di controllo dell'accesso per i bucket e gli oggetti.