Controllare chi ha accesso a un'API è parte integrante dello sviluppo. Ad esempio, mentre testi l'API, potresti voler automatizzare la riesecuzione del deployment delle configurazioni Cloud Endpoints aggiornate utilizzando un account di servizio che disponga dell'autorizzazione necessaria. Per impostazione predefinita, solo il proprietario del progetto può gestire l'accesso a un'API. Questa pagina mostra come concedere e revocare l'accesso alla tua API utilizzando la console Google Cloud o Google Cloud CLI.
Endpoints utilizza i ruoli Identity and Access Management per concedere e revocare l'accesso a livello di API. Puoi concedere e revocare l'accesso a un utente, a un account di servizio o a un gruppo Google.
Google Gruppi è un modo pratico per concedere o revocare l'accesso a un insieme di utenti. Puoi concedere o revocare l'accesso a un intero gruppo contemporaneamente, anziché concedere o revocare l'accesso uno alla volta per singoli utenti o account di servizio. Inoltre, puoi aggiungere e rimuovere facilmente membri da un gruppo Google invece di concedere o revocare il ruolo IAM per ogni membro.
Concessione dell'accesso
Console Google Cloud
-
Nella console Google Cloud, vai alla pagina Endpoint > Servizi relativa al tuo progetto.
Vai alla pagina di Endpoints Services
-
Se disponi di più API, fai clic sul nome dell'API.
-
Se il riquadro laterale Autorizzazioni non è aperto, fai clic su addAutorizzazioni.
-
Nella casella Aggiungi membri, inserisci l'indirizzo email di un utente, di un account di servizio o di un gruppo Google.
-
Nel menu a discesa Seleziona un ruolo, fai clic su Gestione servizio e seleziona uno dei ruoli seguenti:
-
Consumatore di servizi: questo ruolo contiene le autorizzazioni per consentire a un non membro del progetto di visualizzare e attivare l'API nel proprio progetto. Se hai creato un portale per la tua API, questo ruolo consente agli utenti dell'API di accedere al portale.
-
Controller di servizi: questo ruolo contiene le autorizzazioni per effettuare chiamate ai metodi
check
e
report
nell'API Service Infrastructure durante il runtime.
-
Editor configurazione servizio: questo ruolo contiene le autorizzazioni minime necessarie per Service Management per il deployment di una configurazione di endpoint in un servizio esistente.
-
Amministratore gestione servizi: questo ruolo contiene le autorizzazioni nei ruoli Editor configurazione servizio, Consumer servizi e Controller servizi, oltre alle autorizzazioni necessarie per concedere l'accesso a questa API utilizzando
gcloud
o i metodi programmatici descritti in
Concessione, modifica e revoca dell'accesso alle risorse.
Consulta l'argomento Controllo dell'accesso all'API Service Management per informazioni su questo ruolo. Sebbene la console Google Cloud ti consenta di selezionare altri ruoli, questi non sono utili per la gestione dell'API.
-
Per aggiungere il membro al ruolo IAM specificato, fai clic su Aggiungi.
-
Ripeti l'aggiunta dei membri e seleziona il ruolo in base alle esigenze.
-
I ruoli di gestione dei servizi non consentono agli utenti di accedere alla pagina Endpoint > Servizi nella console Google Cloud. Se vuoi che gli utenti possano accedere alla pagina Endpoint > Servizi, devi concedere loro il ruolo Visualizzatore progetto o un ruolo superiore per il progetto. Per maggiori dettagli, consulta Concessione, modifica e revoca dell'accesso alle risorse.
gcloud
-
Apri Cloud Shell oppure, se hai installato Google Cloud CLI, apri una finestra del terminale.
-
Inserisci il comando
gcloud
applicabile:
-
Se stai concedendo l'accesso a un utente, esegui questo comando:
gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
--member='user:[EMAIL-ADDRESS]' \
--role='[ROLE]'
Per il ruolo, specifica uno dei seguenti ruoli IAM:
-
roles/servicemanagement.configEditor
: questo ruolo contiene le autorizzazioni minime necessarie per Service Management per il deployment di una configurazione di Endpoints in un servizio esistente.
-
roles/servicemanagement.admin
: questo ruolo contiene le
autorizzazioni in roles/servicemanagement.configEditor
,
roles/servicemanagement.serviceConsumer
e
roles/servicemanagement.serviceController
, oltre alle
autorizzazioni necessarie per concedere l'accesso a questa API utilizzando
gcloud
o i metodi programmatici descritti in
Concessione,
modifica e revoca dell'accesso alle risorse.
Ad esempio:
gcloud endpoints services add-iam-policy-binding example-service-name \
--member='user:example-user@gmail.com' \
--role='roles/servicemanagement.admin'
-
Se stai concedendo l'accesso a un account di servizio, esegui questo comando:
gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
--member='serviceAccount:[EMAIL-ADDRESS]' \
--role='[ROLE]'
Ad esempio:
gcloud endpoints services add-iam-policy-binding example-service-name \
--member='serviceAccount:example-service-account@example-project.iam.gserviceaccount.com' \
--role='roles/servicemanagement.configEditor'
-
Se stai concedendo l'accesso a un gruppo Google, esegui questo comando:
gcloud endpoints services add-iam-policy-binding [SERVICE-NAME] \
--member='group:[GROUP-NAME]@googlegroups.com' \
--role='[ROLE]'
Ad esempio:
gcloud endpoints services add-iam-policy-binding example-service-name \
--member='group:example-group@googlegroups.com' \
--role='roles/servicemanagement.configEditor'
-
I ruoli di gestione dei servizi non consentono agli utenti di accedere alla pagina Endpoint > Servizi nella console Google Cloud. Se vuoi che gli utenti possano accedere alla pagina Endpoint > Servizi, devi concedere loro il ruolo Visualizzatore progetto o un ruolo superiore per il progetto. Per maggiori dettagli, consulta Concessione, modifica e revoca dell'accesso alle risorse.
Revoca dell'accesso
Per revocare l'accesso all'API, rimuovi il ruolo IAM dal membro che in precedenza aveva il ruolo.
Console Google Cloud
-
Nella console Google Cloud, vai alla pagina Endpoint > Servizi relativa al tuo progetto.
Vai alla pagina di Endpoints Services
-
Se disponi di più API, fai clic sul nome dell'API.
-
Se il riquadro laterale Autorizzazioni non è aperto, fai clic su addAutorizzazioni.
-
Individua il membro per cui vuoi revocare l'accesso. Puoi fare clic sulla scheda Ruolo applicabile per visualizzare un elenco di membri oppure puoi inserire un nome o un ruolo nella casella Cerca membri.
-
Fai clic su Elimina delete.
-
Se vuoi anche revocare l'accesso di un utente al tuo progetto Google Cloud, consulta Concessione, modifica e revoca dell'accesso alle risorse per maggiori dettagli.
gcloud
-
Apri Cloud Shell o, se hai installato gcloud CLI, apri una finestra del terminale.
-
Inserisci il comando
gcloud
applicabile:
-
Se stai revocando l'accesso per un utente, esegui questo comando:
gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
--member='user:[EMAIL-ADDRESS]' \
--role='[ROLE-NAME]'
Ad esempio:
gcloud endpoints services remove-iam-policy-binding example-service-name \
--member='user:example-user@gmail.com' \
--role='roles/editor'
-
Se stai revocando l'accesso per un account di servizio, esegui questo comando:
gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
--member='serviceAccount:[EMAIL-ADDRESS]' \
--role='[ROLE-NAME]'
Ad esempio:
gcloud endpoints services remove-iam-policy-binding example-service-name \
--member='serviceAccount:example-service-account@example-project.iam.gserviceaccount.com' \
--role='roles/servicemanagement.configEditor'
-
Se stai revocando l'accesso per un gruppo Google, esegui questo comando:
gcloud endpoints services remove-iam-policy-binding [SERVICE-NAME] \
--member='group:[GROUP-NAME]@googlegroups.com' \
--role='[ROLE-NAME]'
Ad esempio:
gcloud endpoints services remove-iam-policy-binding example-service-name \
--member='group:example-group@googlegroups.com' \
--role='roles/viewer'
-
Se vuoi anche revocare l'accesso di un utente al tuo progetto Google Cloud, consulta Concessione, modifica e revoca dell'accesso alle risorse per maggiori dettagli.
Passaggi successivi
Scopri di più su: