Concedere e revocare l'accesso all'API

Controllare chi ha accesso a un'API è parte integrante dello sviluppo. Ad esempio, durante il test dell'API, potresti voler automatizzare il redeployment delle configurazioni di Cloud Endpoints aggiornate utilizzando un account di servizio che disponga dell'autorizzazione per farlo. 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 consoleGoogle Cloud o Google Cloud CLI.

Endpoints utilizza i ruoli di Identity and Access Management per concedere e revocare l'accesso a livello di API. Puoi concedere e revocare l'accesso a un utente, a account di servizio o a un gruppo Google.

Google Gruppi è un modo conveniente per concedere o revocare l'accesso a un insieme di utenti. Puoi concedere o revocare l'accesso per un intero gruppo contemporaneamente, anziché concederlo o revocarlo uno alla volta per singoli utenti o account di servizio. Puoi anche aggiungere e rimuovere facilmente membri da un gruppo Google anziché concedere o revocare il ruolo IAM per ogni membro.

Concessione dell'accesso

ConsoleGoogle Cloud

  1. Nella console Google Cloud , vai alla pagina Endpoint > Servizi per il tuo progetto.

    Vai alla pagina Servizi endpoint

  2. Se hai più di un'API, fai clic sul nome dell'API.
  3. Se il riquadro laterale Autorizzazioni non è aperto, fai clic su Autorizzazioni.
  4. Nella casella Aggiungi membri, inserisci l'indirizzo email di un utente, di un service account o di un gruppo Google.
  5. Nel menu a discesa Seleziona un ruolo, fai clic su Gestione servizi e seleziona uno dei seguenti ruoli:
    • Consumer servizi:questo ruolo contiene le autorizzazioni per consentire a un utente non membro del progetto di visualizzare e abilitare 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.
    • Service Controller: questo ruolo contiene le autorizzazioni per effettuare chiamate ai metodi check e report nell'API Service Infrastructure durante l'runtime.
    • Editor configurazione servizio:questo ruolo contiene le autorizzazioni minime richieste da Service Management per eseguire il deployment di una configurazione Endpoints in un servizio esistente.
    • Amministratore gestione servizi:questo ruolo contiene le autorizzazioni nei ruoli Editor configurazione servizi, Consumer di servizi e Controller di 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.

    Per informazioni su questo ruolo, consulta l'argomento Controllo dell'accesso all'API Service Management. Sebbene la console Google Cloud ti consenta di selezionare altri ruoli, questi non sono utili per gestire l'API.

  6. Per aggiungere il membro al ruolo IAM specificato, fai clic su Aggiungi.
  7. Ripeti l'aggiunta dei membri e la selezione del ruolo, se necessario.
  8. 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 nel progetto. Per maggiori dettagli, consulta Concessione, modifica e revoca dell'accesso alle risorse.

gcloud

  1. Apri Cloud Shell o, se hai installato Google Cloud CLI, apri una finestra del terminale.
  2. Inserisci il comando gcloud applicabile:
    • Se concedi 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 richieste da Service Management per eseguire il deployment di una configurazione 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 Concedere, modificare e revocare l'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 concedi 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 il seguente 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'

  3. 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 nel progetto. Per maggiori dettagli, consulta Concessione, modifica e revoca dell'accesso alle risorse.

Revoca dell'accesso

Per revocare l'accesso alla tua API, rimuovi il ruolo IAM dal membro che lo ricopriva in precedenza.

ConsoleGoogle Cloud

  1. Nella console Google Cloud , vai alla pagina Endpoint > Servizi per il tuo progetto.

    Vai alla pagina Servizi endpoint

  2. Se hai più di un'API, fai clic sul nome dell'API.
  3. Se il riquadro laterale Autorizzazioni non è aperto, fai clic su Autorizzazioni.
  4. Individua il membro a cui vuoi revocare l'accesso. Puoi fare clic sulla scheda Ruolo applicabile per visualizzare un elenco dei membri oppure puoi inserire un nome o un ruolo nella casella Cerca membri.
  5. Fai clic su Elimina .
  6. Se vuoi anche revocare l'accesso di un utente al tuo progetto Google Cloud, consulta l'articolo Concessione, modifica e revoca dell'accesso alle risorse per maggiori dettagli.

gcloud

  1. Apri Cloud Shell o, se hai installato gcloud CLI, apri una finestra del terminale.
  2. 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 il comando seguente:
      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'
  3. Se vuoi anche revocare l'accesso di un utente al tuo progetto Google Cloud, consulta l'articolo Concessione, modifica e revoca dell'accesso alle risorse per maggiori dettagli.

Passaggi successivi

Scopri di più su: