Utilizza OAuth (auto e motori)

Per autorizzare le richieste a annotatePaths, è necessario un account di servizio nella lista consentita per il progetto Google Cloud associato. Puoi quindi impersonare l'account di servizio e generare un token OAuth, che viene passato come intestazione nelle richieste.

Configurare un account di servizio

Poiché solo gli account di servizio inclusi nella lista consentita sono autorizzati a chiamare annotatePaths, devi agire come account di servizio tramite il furto d'identità degli account di servizio.

  1. Segui le istruzioni in Creazione di un account di servizio. L'email dell'account di servizio ha il seguente formato generale:

    SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
    
  2. Invia l'email dell'account di servizio al rappresentante aziendale Google. Il rappresentante aggiunge questo account di servizio a una lista consentita autorizzata a chiamare annotatePaths.

Aggiungi utenti che possono impersonare l'account di servizio

Aggiungi un utente autorizzato a simulare l'identità dell'account di servizio:

gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT \
    --member=user:USER_EMAIL \
    --role=roles/iam.serviceAccountTokenCreator \
    --project=PROJECT_ID

Puoi anche aggiungere utenti autorizzati a impersonare l'account di servizio tramite la console Cloud. Vedi Creare un account di servizio.

Risoluzione dei problemi se il comando non riesce

Se questo comando non va a buon fine, chiedi a un proprietario del progetto di eseguire il comando per tuo conto o di concederti il ruolo roles/iam.serviceAccountAdmin nell'account di servizio eseguendo:

gcloud iam service-accounts add-iam-policy-binding \
   SERVICE_ACCOUNT \
    --member=USER_EMAIL \
    --role=roles/iam.serviceAccountAdmin \
    --project=PROJECT_ID

Generare un token OAuth di breve durata

Se vuoi configurare annotatePaths utilizzando un token OAuth, ma non hai un ambiente configurato per generare token, utilizza la procedura descritta in questa sezione per ottenere un token OAuth di breve durata utilizzando gcloud CLI. Il token scade dopo un'ora. Per maggiori dettagli, vedi Creare credenziali di breve durata per un account di servizio. I passaggi che seguono sono una versione abbreviata di queste istruzioni.

  1. Accedi a gcloud:

    gcloud auth login
    

    gcloud apre una finestra del browser e ti chiede l'autorizzazione.

  2. Imposta il progetto:

    gcloud config set project PROJECT_ID
    
  3. Ottieni un token di accesso di breve durata utilizzando print-access-token:

    gcloud auth print-access-token
    

    Questo comando restituisce un token. Copia il token e inseriscilo in YOUR_ACCESS_TOKEN nel seguente comando:

    curl -X POST \
    https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT:generateAccessToken \
    -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d '{"scope": ["https://www.googleapis.com/auth/cloud-platform"],"lifetime": "3600s"}'
    

    L'interfaccia a riga di comando restituisce il token di accesso OAuth di breve durata che ora puoi utilizzare per effettuare richieste a annotatePaths.

(Facoltativo) Controllare le autorizzazioni del token OAuth

Se si verificano problemi di autorizzazione, puoi controllare le autorizzazioni del token OAuth inserendolo nel seguente URL, personalizzando OAUTH_TOKEN. Incollalo nella barra degli indirizzi.

https://oauth2.googleapis.com/tokeninfo?access_token=OAUTH_TOKEN

La risposta deve includere un ambito di https://www.googleapis.com/auth/cloud-platform. In caso contrario, assicurati di impostare correttamente l'ambito, come mostrato nella sezione precedente.

Utilizza OAuth in ambienti di produzione

Per istruzioni sull'utilizzo di OAuth in un ambiente di produzione, consulta Autenticazione in Google.

Risoluzione dei problemi

Se la tua richiesta restituisce un messaggio di errore che indica che le credenziali dell'utente finale non sono supportate da questa API, consulta Credenziali utente non funzionanti.