Autenticazione degli sviluppatori

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Oltre ad azioni amministrative come la creazione, l'aggiornamento e l'eliminazione di servizi, gli sviluppatori spesso vogliono testare i servizi in privato prima di rilasciarli.

Prima di iniziare

Assicurati di concedere le autorizzazioni per accedere ai servizi per i quali esegui l'autenticazione. Devi concedere il ruolo Invoker di Cloud Run allo sviluppatore o al gruppo di sviluppatori:

Interfaccia utente della console

  1. Vai a Google Cloud Console:

    Vai a Google Cloud Console

  2. Seleziona il servizio.

  3. Fai clic su Mostra riquadro informazioni nell'angolo in alto a destra per visualizzare la scheda Autorizzazioni.

  4. Fai clic su Aggiungi membri.

  5. Nel campo Aggiungi membri, inserisci l'indirizzo email dell'account sviluppatore.

  6. Seleziona il ruolo Cloud Run Invoker dal menu a discesa Seleziona un ruolo.

  7. Fai clic su Salva.

gcloud

Usa il comando gcloud run services add-iam-policy-binding:

gcloud run services add-iam-policy-binding SERVICE \
  --member='USER:EMAIL' \
  --role='roles/run.invoker'

dove

  • SERVICE è il nome del servizio.
  • USER è il valore user o group a seconda che tu stia autorizzando un singolo sviluppatore o un gruppo.
  • EMAIL è l'account email.

    Ad esempio:

    gcloud run services add-iam-policy-binding myservice \
    --member='user:test-user@gmail.com' \
    --role='roles/run.invoker'
    

Test del servizio privato in corso...

Il modo più semplice per testare un servizio che richiede l'autenticazione è utilizzare uno strumento come curl e passare un token di autenticazione nell'intestazione Authorization:

curl -H "Authorization: Bearer $(gcloud auth print-identity-token)" SERVICE_URL

Affinché il comando curl funzioni, devi trasmettere un token di identità valido per un utente con l'autorizzazione run.routes.invoke, ad esempio Amministratore Cloud Run o Invoker di Cloud Run. Consulta Ruoli IAM di Cloud Run per l'elenco completo dei ruoli e delle relative autorizzazioni.

Come mostrato nell'esempio, per ottenere un token di identità valido per l'identità attualmente collegata a gcloud, puoi utilizzare gcloud auth print-identity-token. Tieni presente che i token ID generati utilizzando il comando gcloud devono essere utilizzati solo in un'impostazione di sviluppo perché non richiede 'audience'. Richiedendo audience riduce il rischio di attacchi di ripetizione. Al contrario, audience è necessario per la generazione di token dagli account di servizio.

Per un comodo riutilizzo, puoi creare un alias a riga di comando nel tuo profilo shell Linux o macOS:

alias gcurl='curl --header "Authorization: Bearer $(gcloud auth print-identity-token)"'

Usala per effettuare richieste ai tuoi servizi:

gcurl OPTIONAL_CURL_FLAGS SERVICE_URL

Per testare un sito web o un'API nel tuo browser, puoi utilizzare le estensioni del browser che modificano le intestazioni delle richieste HTTP.