Per impostazione predefinita, solo i proprietari e gli editor del progetto possono creare, aggiornare, eliminare richiamano servizi e job e solo i proprietari del progetto e gli amministratori di Cloud Run modificare i criteri IAM (Identity and Access Management), ad esempio per servizio pubblico. Consulta Ruoli IAM di Cloud Run per maggiori dettagli.
Per concedere ad altre entità o gruppi la possibilità di eseguire queste azioni, usa IAM per concedere ruoli a diversi entità.
Ruoli predefiniti di Cloud Run
Rispetto ai ruoli di base (Proprietario, Editor e Visualizzatore), le seguenti impostazioni i ruoli hanno un controllo dell'accesso più granulare per l'accesso a Cloud Run di risorse:
Ruolo | Descrizione |
---|---|
Amministratore Cloud Run (roles/run.admin ) |
Consente di creare, aggiornare ed eliminare servizi e job, nonché recuperare, elencare ed eliminare le esecuzioni di job. Può richiamare servizi e job e annullare le esecuzioni di job. Può ottenere e impostare criteri IAM. Può visualizzare, applicare e ignorare i suggerimenti. Richiede una configurazione aggiuntiva per eseguire il deployment dei servizi. |
Sviluppatore Cloud Run (roles/run.developer ) |
Consente di creare, aggiornare ed eliminare servizi e job, nonché recuperare, elencare ed eliminare le esecuzioni di job. Può ricevere, ma non impostare criteri IAM. Può visualizzare, applicare e ignorare i consigli. |
Visualizzatore Cloud Run (roles/run.viewer ) |
Può visualizzare servizi, job ed esecuzioni di job. Può ottenere criteri IAM. Può visualizzare suggerimenti. |
Invoker di Cloud Run (roles/run.invoker ) |
Può richiamare servizi e job e annullare le esecuzioni di job. |
Controllare l'accesso a un singolo servizio o job
Puoi controllare l'accesso in base al servizio o al job utilizzando o IAM.
Rendere pubblico un servizio
Questa opzione si riferisce a un servizio Cloud Run che è un'API o un sito web pubblici.
Per consentire chiamate non autenticate a un servizio, assegna il ruolo IAM
Ruolo Invoker di Cloud Run per il tipo di membro allUsers
.
Devi disporre dell'autorizzazione run.services.setIamPolicy
per configurare l'autenticazione
su un servizio Cloud Run. Questa autorizzazione è inclusa sia nella proprietà Proprietario
Ruoli di Amministratore Cloud Run. Consulta Ruoli IAM di Cloud Run
per l'elenco completo dei ruoli e delle autorizzazioni associate.
Interfaccia utente della console
Per un servizio Cloud Run esistente:
Vai alla console Google Cloud:
Fai clic sulla casella di controllo a sinistra del servizio che vuoi rendere pubblico. Non fare clic sul servizio stesso.
Nel riquadro delle informazioni nell'angolo in alto a destra, fai clic sul Scheda Autorizzazioni. Se il riquadro delle informazioni non è visibile, potresti aver bisogno di Fai clic su Mostra riquadro informazioni, poi fai clic su Autorizzazioni.
Fai clic su Aggiungi entità.
Nella casella di testo Nuove entità, inserisci il valore allUsers
.
Dal menu a discesa Ruolo, seleziona il ruolo Invoker di Cloud Run.
Fai clic su Salva.
Ti verrà chiesto di verificare se vuoi rendere pubblica questa risorsa. Fai clic su Consenti accesso pubblico per applicare la modifica alle impostazioni IAM del servizio.
Per un nuovo servizio che stai creando, crea il servizio, ma assicurati di selezionare Consenti chiamate non autenticate nella Autenticazione per rendere il servizio disponibile pubblicamente. Se selezioni Richiedi autenticazione, il servizio diventerà privato.
gcloud
Per rendere un servizio accessibile pubblicamente, utilizza il comando gcloud run services
per aggiungere il tipo di membro allUsers
speciale a un servizio e assegnargli l'
Ruolo roles/run.invoker
:
gcloud run services add-iam-policy-binding [SERVICE_NAME] \ --member="allUsers" \ --role="roles/run.invoker"
In alternativa, esegui il comando gcloud run deploy
per rendere il tuo servizio
pubblicamente accessibili quando esegui il deployment del tuo servizio:
gcloud run deploy [SERVICE_NAME] ... --allow-unauthenticated
YAML
Crea un file denominato policy.yaml
con i seguenti contenuti:
bindings:
- members:
- allUsers
role: roles/run.invoker
Consenti chiamate non autenticate per SERVICE esistente utilizzando:
gcloud run services set-iam-policy SERVICE policy.yaml
Terraform
Per creare un servizio Cloud Run, aggiungi quanto segue al file main.tf
esistente:
Per aggiornare l'associazione IAM del servizio per roles/run.invoker
, aggiungi la seguente risorsa che fa riferimento al tuo servizio Cloud Run:
Questa associazione è autorevole solo per il ruolo specificato. Le altre associazioni IAM all'interno del criterio IAM del servizio vengono conservate.
Condivisione limitata per i domini
Se il progetto è soggetto ai vincolo di condivisione limitata ai domini in un criterio dell'organizzazione, non potrai creare servizi pubblici per impostazione predefinita. Puoi usare i tag e condizionale per escludere servizi specifici da questo vincolo. Per maggiori dettagli, consulta il blog post sulla creazione di servizi Cloud Run pubblici quando viene applicata la condivisione limitata per i domini.
Aggiungi entità
Puoi aggiungere entità a un job o a un servizio.
Aggiungi entità a un servizio
Per aggiungere entità a un servizio:
Interfaccia utente della console
Vai alla console Google Cloud:
Fai clic sulla casella di controllo a sinistra del servizio a cui vuoi aggiungere entità. Non fare clic sul servizio stesso.
Nel riquadro delle informazioni nell'angolo in alto a destra, fai clic sul Scheda Autorizzazioni. Se il riquadro delle informazioni non è visibile, potresti aver bisogno di Fai clic su Mostra riquadro informazioni, poi fai clic su Autorizzazioni.
Fai clic su Aggiungi entità.
Nella casella di testo Nuove entità, inserisci una o più identità che devono l'accesso al tuo servizio.
Nel menu a discesa Ruolo, seleziona uno o più ruoli. vengono visualizzate nel riquadro con una breve descrizione delle autorizzazioni concessione.
Fai clic su Salva.
gcloud
Usa il comando gcloud run services add-iam-policy-binding
:
gcloud run services add-iam-policy-binding SERVICE_NAME \ --member=MEMBER_TYPE \ --role=ROLE
dove SERVICE_NAME
è il nome del servizio,
MEMBER_TYPE
è il tipo di entità
(ad es. user:email@domain.com
) e il ruolo è ROLE
.
Per un elenco dei valori accettabili per MEMBER_TYPE
, consulta:
nella pagina dei concetti IAM.
Per un elenco dei valori accettabili per ROLE
, consulta:
Ruoli IAM di Cloud Run.
Aggiungi entità a un job
Per aggiungere entità a un job:
Interfaccia utente della console
Vai alla console Google Cloud:
Fai clic sulla casella di controllo a sinistra del job a cui vuoi aggiungere entità. Non fare clic sul job stesso.
Nel riquadro delle informazioni nell'angolo in alto a destra, fai clic sul Scheda Autorizzazioni. Se il riquadro delle informazioni non è visibile, potresti aver bisogno di Fai clic su Mostra riquadro informazioni, poi fai clic su Autorizzazioni.
Fai clic su Aggiungi entità.
Nella casella di testo Nuove entità, inserisci una o più identità che devono l'accesso al job.
Nel menu a discesa Ruolo, seleziona uno o più ruoli. vengono visualizzate nel riquadro con una breve descrizione delle autorizzazioni concessione.
Fai clic su Salva.
gcloud
Usa il comando gcloud run jobs add-iam-policy-binding
:
gcloud run jobs add-iam-policy-binding JOB_NAME \ --member=MEMBER_TYPE \ --role=ROLE
dove JOB_NAME
è il nome del job,
MEMBER_TYPE
è il tipo di entità
(ad es. user:email@domain.com
) e il ruolo è ROLE
.
Per un elenco dei valori accettabili per MEMBER_TYPE
, consulta:
nella pagina dei concetti IAM.
Per un elenco dei valori accettabili per ROLE
, consulta:
Ruoli IAM di Cloud Run.
Rimuovi entità da un ruolo
Puoi rimuovere le entità da un servizio o da un job.
Rimuovi entità da un ruolo per un servizio
Per rimuovere le entità da un ruolo per un servizio:
Interfaccia utente della console
Vai alla console Google Cloud:
Fai clic sulla casella di controllo a sinistra del servizio che vuoi rimuovere. di cui disponi. Non fare clic sul servizio stesso.
Nel riquadro delle informazioni nell'angolo in alto a destra, fai clic sul Scheda Autorizzazioni. Se il riquadro delle informazioni non è visibile, potresti aver bisogno di Fai clic su Mostra riquadro informazioni, poi fai clic su Autorizzazioni.
Inserisci l'entità che vuoi rimuovere nel filtro dell'elenco dei ruoli, che mostra tutti i ruoli concessi all'entità.
Fai clic sul cestino elimina accanto all'entità all'interno dei per rimuoverlo dall'entità.
Nella finestra di dialogo di conferma, puoi rimuovere l'entità da tutti i ruoli nel servizio. Fai clic su Rimuovi per rimuovere l'entità dal ruolo.
gcloud
Usa il comando gcloud run services remove-iam-policy-binding
:
gcloud run services remove-iam-policy-binding SERVICE_NAME \ --member=MEMBER_TYPE \ --role=ROLE
dove SERVICE_NAME
è il nome del servizio,
MEMBER_TYPE
è il tipo di entità
(ad es. user:email@domain.com
) e il ruolo è ROLE
.
Per un elenco dei valori accettabili per MEMBER_TYPE
, consulta:
nella pagina dei concetti IAM.
Per un elenco dei valori accettabili per ROLE
, consulta:
Ruoli IAM di Cloud Run.
Rimuovi entità da un ruolo per un job
Per rimuovere le entità da un ruolo per un job:
Interfaccia utente della console
Vai alla console Google Cloud:
Fai clic sulla casella di controllo a sinistra del job a cui vuoi aggiungere entità. Non fare clic sul job stesso.
Nel riquadro delle informazioni nell'angolo in alto a destra, fai clic sul Scheda Autorizzazioni. Se il riquadro delle informazioni non è visibile, potresti aver bisogno di Fai clic su Mostra riquadro informazioni, poi fai clic su Autorizzazioni.
Inserisci l'entità che vuoi rimuovere nel filtro dell'elenco dei ruoli, che mostra tutti i ruoli concessi all'entità.
Fai clic sul cestino elimina accanto all'entità all'interno dei per rimuoverlo dall'entità.
Nella finestra di dialogo di conferma, puoi rimuovere l'entità da tutti i ruoli nel job. Fai clic su Rimuovi per rimuovere l'entità dal ruolo.
gcloud
Usa il comando gcloud run jobs remove-iam-policy-binding
:
gcloud run jobs remove-iam-policy-binding JOB_NAME \ --member=MEMBER_TYPE \ --role=ROLE
dove JOB_NAME
è il nome del job,
MEMBER_TYPE
è il tipo di entità
(ad es. user:email@domain.com
) e il ruolo è ROLE
.
Per un elenco dei valori accettabili per MEMBER_TYPE
, consulta:
nella pagina dei concetti IAM.
Per un elenco dei valori accettabili per ROLE
, consulta:
Ruoli IAM di Cloud Run.
Aggiunta o rimozione collettiva di entità
Puoi eseguire un'aggiunta o una rimozione collettiva per i servizi e i job.
Aggiunta e rimozione collettive di entità per i servizi
Per eseguire l'aggiunta o la rimozione collettiva da un servizio:
Interfaccia utente della console
Vai alla console Google Cloud:
Fai clic sulla casella di controllo a sinistra del servizio a cui vuoi aggiungere entità o da cui rimuovere le entità. Non fare clic sul servizio stesso.
Seleziona il servizio a cui vuoi aggiungere o da cui vuoi aggiungere entità.
Nel riquadro delle informazioni nell'angolo in alto a destra, fai clic sul Scheda Autorizzazioni. Se il riquadro delle informazioni non è visibile, potresti aver bisogno di Fai clic su Mostra riquadro informazioni, poi fai clic su Autorizzazioni.
Se vuoi aggiungere entità:
Fai clic su Aggiungi entità.
Nella casella di testo Nuove entità, inserisci una o più identità che devono l'accesso al tuo servizio.
Dal menu a discesa Ruolo, seleziona uno o più ruoli. vengono visualizzate nel riquadro con una breve descrizione delle autorizzazioni concessione.
Fai clic su Salva.
Se vuoi rimuovere entità:
Inserisci l'entità che vuoi rimuovere nel filtro dell'elenco dei ruoli, che mostra tutti i ruoli concessi all'entità.
Fai clic sul cestino elimina accanto all'entità all'interno dei per rimuoverlo dall'entità.
Nella finestra di dialogo di conferma, puoi rimuovere l'entità da tutti i ruoli nel servizio. Fai clic su Rimuovi per rimuovere l'entità dal ruolo.
gcloud
Crea un criterio IAM:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ MEMBER_TYPE ] } ] } EOF
Usa il comando gcloud run services set-iam-policy
:
gcloud run services set-iam-policy SERVICE_NAME policy.json
Per un elenco dei valori accettabili per MEMBER_TYPE
, consulta:
nella pagina dei concetti IAM.
Per un elenco dei valori accettabili per ROLE
, consulta:
Ruoli IAM di Cloud Run.
Aggiunta e rimozione collettive di entità per i job
Per eseguire l'aggiunta o la rimozione collettiva per un lavoro:
Interfaccia utente della console
Vai alla console Google Cloud:
Fai clic sulla casella di controllo a sinistra del job a cui vuoi aggiungere entità. Non fare clic sul job stesso.
Seleziona il job a cui vuoi aggiungere o da cui vuoi aggiungere entità.
Nel riquadro delle informazioni nell'angolo in alto a destra, fai clic sul Scheda Autorizzazioni. Se il riquadro delle informazioni non è visibile, potresti aver bisogno di Fai clic su Mostra riquadro informazioni, poi fai clic su Autorizzazioni.
Se vuoi aggiungere entità:
Fai clic su Aggiungi entità.
Nella casella di testo Nuove entità, inserisci una o più identità che devono l'accesso al tuo servizio.
Dal menu a discesa Ruolo, seleziona uno o più ruoli. vengono visualizzate nel riquadro con una breve descrizione delle autorizzazioni concessione.
Fai clic su Salva.
Se vuoi rimuovere entità:
Inserisci l'entità che vuoi rimuovere nel filtro dell'elenco dei ruoli, che mostra tutti i ruoli concessi all'entità.
Fai clic sul cestino elimina accanto all'entità all'interno dei per rimuoverlo dall'entità.
Nella finestra di dialogo di conferma, puoi rimuovere l'entità da tutti i ruoli nel job. Fai clic su Rimuovi per rimuovere l'entità dal ruolo.
gcloud
Crea un criterio IAM:
cat <<EOF > policy.json { "bindings": [ { "role": ROLE, "members": [ MEMBER_TYPE ] } ] } EOF
Usa il comando gcloud run jobs set-iam-policy
:
gcloud run jobs set-iam-policy JOB_NAME policy.json
Per un elenco dei valori accettabili per MEMBER_TYPE
, consulta:
nella pagina dei concetti IAM.
Per un elenco dei valori accettabili per ROLE
, consulta:
Ruoli IAM di Cloud Run.
Visualizza entità
Puoi visualizzare le entità per servizi e job.
Visualizza le entità per un servizio
Per visualizzare le entità di un servizio:
Interfaccia utente della console
Vai alla console Google Cloud:
Fai clic sulla casella di controllo a sinistra del servizio che vuoi visualizzare e sui ruoli. Non fare clic sul servizio stesso.
Seleziona il servizio che vuoi visualizzare per entità e ruoli.
Nel riquadro delle informazioni nell'angolo in alto a destra, fai clic sul Scheda Autorizzazioni. Se il riquadro delle informazioni non è visibile, potresti aver bisogno di Fai clic su Mostra riquadro informazioni, poi fai clic su Autorizzazioni.
Verrà mostrato l'elenco di ruoli e entità, raggruppati per ruolo concesso.
gcloud
Usa il comando gcloud run services get-iam-policy
:
gcloud run services get-iam-policy SERVICE_NAME
Visualizza le entità per un job
Per visualizzare le entità per un job:
Interfaccia utente della console
Vai alla console Google Cloud:
Fai clic sulla casella di controllo a sinistra del job a cui vuoi aggiungere entità. Non fare clic sul job stesso.
Seleziona il job da visualizzare per entità e ruoli.
Nel riquadro delle informazioni nell'angolo in alto a destra, fai clic sul Scheda Autorizzazioni. Se il riquadro delle informazioni non è visibile, potresti aver bisogno di Fai clic su Mostra riquadro informazioni, poi fai clic su Autorizzazioni.
Verrà mostrato l'elenco di ruoli e entità, raggruppati per ruolo concesso.
gcloud
Usa il comando gcloud run jobs get-iam-policy
:
gcloud run jobs get-iam-policy JOB_NAME
Controlla l'accesso su tutti i servizi e i job in un progetto
Se vuoi concedere ruoli alle entità su tutti i servizi e i job in un progetto, puoi usare a livello di progetto.
Interfaccia utente della console
Vai alla console Google Cloud:
Trova l'entità a cui vuoi concedere un ruolo a livello di progetto.
Fai clic su Modifica Matita sul lato destro della riga dell'entità.
Fai clic su Aggiungi un altro ruolo e scegli il ruolo che ti interessa.
Fai clic su Salva.
gcloud
Usa il comando gcloud projects add-iam-policy-binding
:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=MEMBER_TYPE \ --role=ROLE
dove MEMBER_TYPE
è il tipo di entità
(ad es. user:email@domain.com
) e ROLE
è il
(ad es. roles/run.admin
).
Impossibile applicare i tipi di entità allUsers
e allAuthenticatedUsers
a livello di progetto e vanno aggiunti singolarmente a ogni servizio.
Passaggi successivi
Scopri come autenticare sviluppatori, servizi e utenti in modo sicuro ai servizi che hai appena protetto.