Autenticazione di Cloud Storage

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:

  1. 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 o read_write).

  2. Fai clic su Authorize APIs (Autorizza API)

  3. Quando richiesto, accedi al tuo account. Nella finestra di dialogo visualizzata, fai clic su Consenti.

  4. Nel passaggio 2 di Playground, fai clic su Scambia codice di autorizzazione per i token per il codice di autorizzazione visualizzato.

  5. 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