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.
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
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.
Accedi a gcloud:
gcloud auth login
gcloud apre una finestra del browser e ti chiede l'autorizzazione.
Imposta il progetto:
gcloud config set project PROJECT_ID
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.