La maggior parte delle operazioni che esegui in Cloud Storage deve essere
autenticati. Le uniche eccezioni sono le operazioni sulle risorse che consentono 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 su Internet.
Autenticazione OAuth 2.0
Cloud Storage utilizza OAuth 2.0 per API l'autenticazione e l'autorizzazione. L'autenticazione è il processo di determinazione l'identità di un client. I dettagli dell'autenticazione variano a seconda di come accedi a Cloud Storage, ma rientrano in due tipologie generali:
Un flusso incentrato sul server consente a un'applicazione di gestire direttamente le credenziali di un account di servizio per completare l'autenticazione. Utilizza questo flusso se la tua applicazione utilizza i propri dati anziché quelli dell'utente. Google Cloud i progetti hanno account di servizio predefiniti che puoi utilizzare. In alternativa, puoi crearne di nuovi quelli.
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. Fai riferimento a Credenziali dell'account utente per scenari in cui è appropriato un flusso incentrato sull'utente.
Tieni presente che puoi utilizzare entrambi i tipi di autenticazione in una un'applicazione. Per ulteriori informazioni sull'autenticazione, consulta la Guida all'autenticazione di Google Cloud.
Autenticazione dell'interfaccia a riga di comando
Se utilizzi Cloud Storage con 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,
include l'accesso al tuo account utente. Per altre opzioni di autenticazione,
consulta Autenticazione per l'utilizzo di gcloud CLI.
Autenticazione della 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 Autentica per l'utilizzo delle librerie client.
Google Cloud
Se esegui l'applicazione su servizi che supportano account di servizio collegati, come App Engine, funzioni Cloud Run, Cloud Run o Compute Engine, l'ambiente fornisce già le informazioni di autenticazione di un account di servizio, pertanto non è richiesta alcuna ulteriore configurazione. Per Compute Engine, l'ambito dell'account di servizio dipende dal modo in cui hai creato l'istanza. Consulta: Ambiti di accesso nella documentazione di Compute Engine. Per App Engine, viene utilizzato l'ambito
cloud-platform
.Altri ambienti
Per inizializzare il tuo ambiente di sviluppo o produzione locale, crea una l'account di servizio Google Cloud, scarica la relativa chiave e imposta
GOOGLE_APPLICATION_CREDENTIALS
variabile di ambiente per utilizzare la chiave. Per informazioni dettagliate, consulta la sezione Configurare l'autenticazione con Librerie client di Cloud Storage.
Autenticazione API
Per inviare richieste utilizzando OAuth 2.0 all'API XML o all'API JSON di Cloud Storage, includi il token di accesso della tua applicazione nell'intestazione Authorization
di ogni richiesta che richiede l'autenticazione. Puoi
genera un token di accesso da OAuth 2.0 Playground:
In OAuth 2.0 Playground, fai clic su API Cloud Storage v1, e seleziona un livello di accesso per la tua applicazione (
full_control
,read_only
oread_write
).Fai clic su Authorize APIs (Autorizza API)
Quando richiesto, accedi al tuo account. Nella finestra di dialogo visualizzata, fai clic su Consenti.
Nel passaggio 2 di Playground, 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 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 Objects.
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 a scopo di test, puoi utilizzare 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 a scopo di test, puoi utilizzare curl con la seguente sintassi:
curl -H "Authorization: Bearer OAUTH2_TOKEN""https://BUCKET_NAME.storage.googleapis.com"
Per i test locali, puoi utilizzare
comando gcloud auth application-default print-access-token
per generare
di accesso.
A causa della complessità della gestione e dell'aggiornamento dei token di accesso e della quando si gestiscono direttamente le applicazioni crittografiche, Ti invitiamo a utilizzare una libreria client verificata.
Se cerchi 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 che utilizzano l'autenticazione tramite cookie.
- Scopri come vengono utilizzati gli account di servizio in generale in Google Cloud e nello specifico in Cloud Storage
- Scopri di più sugli ambiti OAuth 2.0 di Cloud Storage.