Autenticazione degli sviluppatori

Oltre ad azioni amministrative come la creazione, l'aggiornamento e l'eliminazione dei servizi, spesso gli sviluppatori vogliono testare i servizi privatamente prima di rilasciarli. Questa opzione si applica ai servizi Cloud Run e non ai job Cloud Run.

Prima di iniziare

Assicurati di concedere le autorizzazioni per accedere ai servizi per cui ti stai autenticando. Devi concedere il ruolo Invoker di Cloud Run allo sviluppatore o al gruppo di sviluppatori:

Interfaccia utente della console

  1. Vai alla console Google Cloud:

    Vai alla console Google Cloud

  2. Seleziona il servizio, ma non fare clic.

  3. Fai clic sulla scheda Autorizzazioni nel riquadro laterale a destra. Potrebbe essere necessario fare prima clic su Mostra riquadro informazioni nell'angolo in alto a destra.

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

Utilizzo del proxy Cloud Run in Google Cloud CLI

Il modo più semplice per testare i servizi privati è utilizzare il proxy Cloud Run in Google Cloud CLI. Questo comando esegue il proxy del servizio privato a http://localhost:8080 (o alla porta specificata con --port), fornendo il token dell'account attivo o un altro token da te specificato. Questa operazione ti consente di utilizzare un browser web o uno strumento come curl. Questo è il modo consigliato per testare in privato un sito web o un'API nel tuo browser.

Puoi eseguire il proxy di un servizio localmente utilizzando il seguente comando:

gcloud run services proxy SERVICE --project PROJECT-ID

Uso: curl

In alternativa, puoi testare i servizi privati senza il proxy utilizzando uno strumento come curl e passando un token di autenticazione nell'intestazione Authorization:

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

Affinché il comando curl funzioni, devi passare un token ID 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 autorizzazioni associate.

Per ottenere un token ID valido per l'identità che ha eseguito l'accesso a gcloud CLI, utilizza gcloud auth print-identity-token. Puoi utilizzare i token creati da gcloud CLI per richiamare le richieste HTTP in qualsiasi progetto, a condizione che il tuo account disponga dell'autorizzazione run.routes.invoke per il servizio. A scopo di sviluppo, utilizza i token ID generati dallgcloud CLI. Tuttavia, tieni presente che questi token non hanno un'attestazione del pubblico, il che li rende più vulnerabili agli attacchi. Negli ambienti di produzione, utilizza i token ID emessi per un account di servizio con il segmento di pubblico appropriato specificato. Questo approccio migliora la sicurezza limitando l'utilizzo dei token solo al servizio previsto.

Ti consigliamo di allocare l'insieme minimo di autorizzazioni necessarie per sviluppare e utilizzare i tuoi servizi. Assicurati che i criteri IAM sui tuoi servizi siano limitati al numero minimo di utenti e account di servizio.