La maggior parte delle operazioni eseguite in Cloud Storage deve essere autenticata. Le uniche eccezioni sono le operazioni su risorse
che consentono l'accesso anonimo. Una risorsa ha accesso anonimo se il gruppo allUsers
è incluso nell'ACL della risorsa o se il gruppo allUsers
è incluso in un criterio IAM applicato alla risorsa. Il gruppo allUsers
include chiunque sia presente su internet.
Autenticazione OAuth 2.0
Cloud Storage utilizza OAuth 2.0 per l'autenticazione e l'autorizzazione delle API. L'autenticazione è il processo di determinazione dell'identità di un client. I dettagli dell'autenticazione variano a seconda del modo in cui accedi a Cloud Storage, ma si possono suddividere in due tipi generali:
Un flusso incentrato sui server consente a un'applicazione di memorizzare direttamente le credenziali di un account di servizio per completare l'autenticazione. Utilizza questo flusso se l'applicazione utilizza i propri dati anziché quelli utente. I progetti Google Cloud hanno account di servizio predefiniti che puoi utilizzare oppure puoi crearne nuovi.
Un flusso incentrato sull'utente consente a un'applicazione di ottenere le credenziali da un utente finale. L'utente accede per completare l'autenticazione. Utilizza questo flusso se la tua applicazione deve accedere ai dati utente. Consulta Credenziali dell'account utente per scenari in cui è appropriato un flusso incentrato sull'utente.
Tieni presente che in un'applicazione puoi utilizzare entrambi i tipi di autenticazione. Per ulteriori informazioni sull'autenticazione, consulta la Guida all'autenticazione di Google Cloud.
Autenticazione dell'interfaccia a riga di comando
Se utilizzi Cloud Storage utilizzando Google Cloud CLI, in genere devi autenticarti con le credenziali del tuo account utente. Per farlo, esegui il comando gcloud auth login
e segui le istruzioni, che includono l'accesso al tuo account utente. Per ulteriori opzioni di autenticazione, consulta Eseguire l'autenticazione per l'utilizzo di gcloud CLI.
Autenticazione libreria client
Le librerie client possono utilizzare le credenziali predefinite dell'applicazione per autenticarsi facilmente con le API di Google e inviare richieste a queste API. Con Credenziali predefinite dell'applicazione, puoi testare l'applicazione in locale ed eseguirne il deployment senza modificare il codice sottostante. Per ulteriori informazioni, consulta <atrack-type="common generate" l10n-attrs-original-order="href,track-type,track-name" l10n-encrypted-href="WDE63JFVMK0YqIWBqG8nCycgwkRfOeEqRvzYs1N+2tJUEhcZvE5WLink-reference for AuthenticatehcZvE5WLink-reference for Authenticate
Google Cloud
Se esegui la tua applicazione su servizi che supportano gli account di servizio collegati, come App Engine, Cloud Functions, Cloud Run o Compute Engine, l'ambiente fornisce già informazioni di autenticazione dell'account di servizio, quindi non sono necessarie ulteriori configurazioni. Per Compute Engine, l'ambito dell'account di servizio dipende da come è stata creata l'istanza. Consulta Ambiti di accesso nella documentazione di Compute Engine. Per App Engine, viene utilizzato l'ambito
cloud-platform
.Altri ambienti
Per inizializzare l'ambiente di sviluppo o produzione locale, crea un account di servizio Google Cloud, scarica la relativa chiave e imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS
per utilizzare la chiave. Per informazioni dettagliate, consulta Configurare l'autenticazione con le librerie client di Cloud Storage.
Autenticazione API
Per effettuare richieste all'API XML o all'API JSON di Cloud Storage tramite OAuth 2.0, includi il token di accesso della tua applicazione nell'intestazione Authorization
in ogni richiesta che richiede l'autenticazione. Puoi generare un token di accesso da OAuth 2.0 Playground:
In OAuth 2.0 Playground, fai clic su API Cloud Storage v1, quindi seleziona un livello di accesso per la tua applicazione (
full_control
,read_only
oread_write
).Fai clic su Autorizza API.
Accedi al tuo account quando richiesto. Nella finestra di dialogo visualizzata, fai clic su Consenti.
Nel passaggio 2 del parco giochi, fai clic su Scambia codice di autorizzazione per i token per il codice di autorizzazione visualizzato.
Copia il token di accesso e includilo nell'intestazione
Authorization
della tua richiesta:Authorization: Bearer OAUTH2_TOKEN
Di seguito è riportato un esempio di richiesta che elenca gli oggetti in un bucket.
API JSON
Utilizza il metodo list della risorsa Oggetti.
GET /storage/v1/b/example-bucket/o HTTP/1.1 Host: www.googleapis.com Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg
Per autorizzare le richieste dalla riga di comando o per i test, puoi utilizzare il comando curl con la seguente sintassi:
curl -H "Authorization: Bearer OAUTH2_TOKEN""https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o"
Per i test locali, puoi utilizzare il comando gcloud auth application-default print-access-token
per generare un token.
API XML
Utilizza una richiesta Elenco oggetti.
GET / HTTP/1.1 Host: example-bucket.storage.googleapis.com Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg
Per autorizzare le richieste dalla riga di comando o per i test, puoi utilizzare il comando curl con la seguente sintassi:
curl -H "Authorization: Bearer OAUTH2_TOKEN""https://BUCKET_NAME.storage.googleapis.com"
Per i test locali, puoi utilizzare il comando gcloud auth application-default print-access-token
per generare un token.
A causa della complessità della gestione e dell'aggiornamento dei token di accesso e dei rischi per la sicurezza derivanti dall'interazione diretta con le applicazioni crittografiche, ti consigliamo vivamente di utilizzare una libreria client verificata.
Se stai cercando chiavi HMAC da utilizzare con l'API XML per l'accesso interoperabile con Amazon S3, consulta Gestione delle chiavi HMAC per gli account di servizio.
Passaggi successivi
- Scopri di più sui download basati su browser utilizzando l'autenticazione dei cookie.
- Scopri come vengono utilizzati gli account di servizio in generale in Google Cloud e nello specifico in Cloud Storage
- Scopri di più sulle chiavi API che possono essere utilizzate per identificare un'applicazione.
- Scopri di più sugli ambiti OAuth 2.0 di Cloud Storage.