Autenticazione 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 per la risorsa o se il gruppo allUsers è incluso un criterio IAM applicabile 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 contenere 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 terminale utente. L'utente accede per completare l'autenticazione. Usa questa procedura se le tue l'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 Guida all'autenticazione Google Cloud.

Autenticazione dell'interfaccia a riga di comando

Se lavori con Cloud Storage utilizzando Google Cloud CLI, in genere deve autenticarsi 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 <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 account di servizio collegati, come App Engine, Cloud Functions Cloud Run, o Compute Engine, l'ambiente già fornisce le informazioni di autenticazione dell'account di servizio, in modo che è richiesta la configurazione. Per Compute Engine, l'ambito dell'account di servizio dipende da come 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 effettuare richieste utilizzando OAuth 2.0 con l'API XML di Cloud Storage o l'API JSON, includi il token di accesso della tua applicazione nel Authorization in 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 della sala giochi, fai clic su Exchange Authorization code for tokens (Scambia codice di autorizzazione per i token) per il codice di autorizzazione visualizzato.

  5. Copia il tuo token di accesso e includilo nell'intestazione Authorization del tuo 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 del metodo degli 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 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 comando gcloud auth application-default print-access-token per generare di accesso.

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