Autentica gli sviluppatori

Oltre ad azioni amministrative come la creazione, l'aggiornamento e l'eliminazione gli sviluppatori spesso vogliono testare i servizi in privato prima di rilasciarli che li rappresentano. Questa opzione è per i servizi Cloud Run e non per Cloud Run di lavoro.

Prima di iniziare

Assicurati di concedere le autorizzazioni per accedere ai servizi per cui stai eseguendo l'autenticazione. 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 servirti fai clic su Mostra riquadro informazioni nell'angolo in alto a destra.)

  4. Fai clic su Aggiungi entità.

  5. Nel campo Nuove entità, inserisci l'email dell'account sviluppatore.

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

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

Testa il servizio privato

Puoi utilizzare il proxy Cloud Run o curl per testare il servizio privato.

Utilizza il proxy Cloud Run in Google Cloud CLI

Il modo più semplice per testare i servizi privati è utilizzare Proxy Cloud Run in Google Cloud CLI. In questo modo il servizio privato viene delegato a http://localhost:8080 (o alla porta specificata con --port), fornendo il token dell'account attivo o un altro token da te specificato. In questo modo puoi usare un browser web o uno strumento come curl. Questo è il metodo consigliato per testare in privato un sito web o un'API nel tuo browser.

Puoi eseguire il proxy di un servizio localmente utilizzando la riga di comando seguente in un ambiente Linux: macOS, WSL (opzione preferita), o cygwin:

gcloud run services proxy SERVICE --project PROJECT-ID

Utilizza 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'intero di ruoli con le relative autorizzazioni associate.

Per ottenere un token ID valido per l'identità che ha eseguito l'accesso a gcloud CLI, utilizza la gcloud auth print-identity-token . Puoi utilizzare i token creati da gcloud CLI per richiamare HTTP richieste in qualsiasi progetto, purché il tuo account disponga di run.routes.invoke per il servizio.

A scopo di sviluppo, utilizza i token ID generati dalla gcloud CLI. Tuttavia, puoi notare che questi token non presentano una dichiarazione del pubblico, il che li rende suscettibili attacchi di inoltro. In ambienti di produzione, utilizza i token ID emessi per un servizio specifico con il segmento di pubblico appropriato. Questo approccio migliora la sicurezza limitando l'uso dei token al solo servizio previsto. Per gli Account non Google: Utilizzare la Federazione delle identità per la forza lavoro per richiamare il tuo servizio Cloud Run in modo da non dover scaricare chiave dell'account di servizio.

Ti consigliamo di assegnare l'insieme minimo di autorizzazioni necessarie per sviluppare e utilizzare i tuoi servizi. Assicurati che i ruoli IAM i criteri dei tuoi servizi sono limitati al numero minimo di utenti e account di servizio.