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, consulta Accedere ai dati pubblici.
Quando un oggetto viene condiviso pubblicamente, qualsiasi utente che conosca l'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 il bucket che contiene i dati che vuoi rendere pubblici:
Per rendere pubblicamente leggibili tutti gli oggetti di un bucket: Amministratore archiviazione (
roles/storage.admin
)Per rendere pubblicamente leggibili i singoli oggetti: Storage Object Admin (
roles/storage.objectAdmin
)- Se prevedi di utilizzare la console Google Cloud, devi disporre del ruolo Amministratore di archiviazione (
roles/storage.admin
) anziché del ruolo Amministratore di oggetti archiviazione.
- Se prevedi di utilizzare la console Google Cloud, devi disporre del ruolo Amministratore di archiviazione (
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 su come concedere i ruoli ai bucket, consulta Utilizzare IAM con i bucket.
Rendere 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 in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket da 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
Storage Object Viewer
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, viene visualizzato Copia URL per ogni oggetto nella colonna Accesso pubblico. Puoi fare clic su questo pulsante per ottenere l'URL pubblico per l'oggetto.
Scopri come ottenere informazioni dettagliate sugli errori di Cloud Storage non riusciti nella console Google Cloud, vedi Risoluzione dei problemi.
Riga di comando
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
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 autenticarti a Cloud Storage, configura le 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 autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Per ulteriori informazioni, consulta API Cloud Storage Go documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Java
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Java.
Per eseguire l'autenticazione su Cloud Storage, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage Node.js.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
PHP
Per saperne di più, consulta la documentazione di riferimento dell'API Cloud Storage PHP.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Per ulteriori informazioni, consulta API Cloud Storage Python documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Per ulteriori informazioni, consulta API Cloud Storage Ruby documentazione di riferimento.
Per autenticarti a Cloud Storage, configura le 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 installato e inizializzato l'interfaccia a riga di comando gcloud, che consente di generare un token di accesso per l'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 che hai 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
.
Rendere pubblicamente leggibile una parte di un bucket
Utilizza una cartella gestita per controllare l'accesso agli oggetti il cui prefisso del nome corrisponde al nome della cartella gestita. Ad esempio, una cartella gestita denominata my-folder
può essere utilizzato per controllare l'accesso agli oggetti denominati my-folder/cats.jpg
e
my-folder/dogs.jpg
.
Per rendere questi oggetti accessibili pubblicamente, devi prima creare la cartella gestita e
quindi imposta un criterio IAM sulla cartella che concede a allUsers
il
Ruolo Visualizzatore oggetti Storage (roles/storage.objectViewer
):
Console
- Nella console Google Cloud, vai alla pagina Bucket di Cloud Storage.
Fai clic sul nome del bucket che contiene gli oggetti da rendere pubblici.
Per creare una cartella, procedi nel seguente modo:
Fai clic sul pulsante Crea cartella.
Inserisci il nome della cartella. Una volta convertita la cartella in una cartella gestita, gli oggetti il cui nome inizia con questo nome saranno soggetti ai ruoli IAM impostati sulla cartella.
Fai clic su Crea.
Converti la cartella in una cartella gestita seguendo questa procedura:
Nel riquadro che mostra i contenuti del bucket, trova il nome del bucket cartella che hai creato e fai clic sull'icona Altre opzioni
.Fai clic su Modifica accesso.
Nella finestra visualizzata, fai clic su Attiva.
Aggiungi alla cartella un criterio IAM che conceda a
allUsers
il ruolo Visualizzatore oggetti Storage (roles/storage.objectViewer
) seguendo i passaggi che seguono:Se il riquadro Autorizzazioni della tua cartella gestita non è ancora visibile apri, fai clic sull'icona Altre opzioni
per la versione gestita cartella e fai clic su Modifica accesso.Nel riquadro Autorizzazioni, fai clic sul pulsante
Aggiungi entità.Nel campo Nuove entità, inserisci
allUsers
.Nel menu a discesa Seleziona un ruolo, inserisci
Storage Object Viewer
. nella casella di filtro e seleziona Visualizzatore oggetti Storage dal risultati filtrati.Fai clic su Salva.
Fai clic su Consenti accesso pubblico.
Una volta concesso l'accesso pubblico, viene visualizzato il messaggio Copia URL per ogni applicabile nella colonna public access. 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 la sezione Risoluzione dei problemi.
Riga di comando
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Nell'ambiente di sviluppo, crea una cartella gestita utilizzando Comando
gcloud storage managed-folders create
:gcloud storage managed-folders create gs://BUCKET_NAME/MANAGED_FOLDER_NAME/
Dove:
BUCKET_NAME
è il nome del bucket in cui vuoi creare una cartella gestita. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome dell'account gestito cartella che vuoi creare. Ad esempio,my-managed-folder
.
Nell'ambiente di sviluppo, aggiungi
allUsers
al file i criteri IAM utilizzando Comandogcloud storage managed-folders add-iam-policy-binding
:gcloud storage managed-folders add-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=allUsers --role=roles/storage.objectViewer
Dove:
BUCKET_NAME
è il nome del bucket contenente la cartella gestita che stai aggiungendo criteri. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome della cartella gestita a cui vuoi aggiungere l'accesso pubblico. Ad esempio:my-managed-folder
.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che consente generi un token di accesso per l'intestazione
Authorization
.Crea un file JSON contenente le seguenti informazioni:
{ "name": "MANAGED_FOLDER_NAME" }
Dove
MANAGED_FOLDER_NAME
è il nome della cartella gestita che vuoi creare. Ad esempio,my-managed-folder
.Utilizza
cURL
per chiamare l'API JSON con una richiestaInsert ManagedFolder
: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/managedFolders"
Dove:
JSON_FILE_NAME
è il percorso del file che hai creato nel passaggio precedente.BUCKET_NAME
è il nome del bucket in cui vuoi creare una cartella gestita. Ad esempio:my-bucket
.
Crea un file JSON contenente le seguenti informazioni:
{ "bindings":[ { "role": "roles/storage.objectViewer", "members":["allUsers"] } ] }
Utilizza
cURL
per chiamare l'API JSON con un RichiestasetIamPolicy
Cartella gestita: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/managedFolders/MANAGED_FOLDER_NAME/iam"
Dove:
JSON_FILE_NAME
è il percorso del file che hai creato nel passaggio precedente.BUCKET_NAME
è il nome del bucket contenente la cartella gestita che stai aggiungendo criteri. Ad esempio,my-bucket
.MANAGED_FOLDER_NAME
è il nome del cartella gestita a cui stai aggiungendo il criterio IAM. Ad esempio,my-managed-folder
.
API XML
L'API XML non supporta il lavoro con le cartelle gestite. Utilizza un
strumento diverso, come la console Google Cloud, o imposta gli ACL su
singoli oggetti utilizzando le richieste Set Object ACL
. Le seguenti
è un esempio di file ACL che concederà a allUsers
l'accesso a un oggetto:
<AccessControlList> <Entries> <Entry> <Scope type="AllUsers"/> <Permission>READ</Permission> </Entry> </Entries> </AccessControlList>
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.