Controllo dell'accesso all'API Service Management

L'API Service Management utilizza Identity and Access Management (Cloud IAM) per controllare l'accesso ai servizi gestiti e alle relative risorse secondarie. Questa pagina illustra le risorse, i ruoli e le autorizzazioni IAM forniti dall'API Service Management e come utilizzarli per controllare l'accesso.

Risorse IAM

IAM applica i criteri IAM alle risorse per controllare chi può eseguire quali azioni sulle risorse. L'API Service Management utilizza le seguenti risorse per fornire le sue funzionalità:

Per utilizzare e gestire risorse diverse, sono necessarie autorizzazioni diverse. Per informazioni dettagliate, consulta le sezioni seguenti.

Autorizzazioni IAM

Le chiamate all'API Service Management richiedono che chi effettua la chiamata disponga delle autorizzazioni IAM necessarie sulle risorse di destinazione.

La tabella seguente elenca le autorizzazioni che si applicano ai servizi:

Autorizzazione Descrizione
servicemanagement.services.delete Eliminare i servizi.
servicemanagement.services.get Leggi i servizi.
servicemanagement.services.create Creare nuovi servizi nei progetti.
servicemanagement.services.list Elenca i servizi nei progetti.
servicemanagement.services.update Aggiorna i servizi.
servicemanagement.services.bind Visualizza e abilita il servizio nei progetti controllati dall'utente che chiama.
servicemanagement.services.setIamPolicy Imposta il criterio di accesso IAM per i servizi.
servicemanagement.services.getIamPolicy Leggere il criterio di accesso IAM per i servizi.
servicemanagement.services.check Controlla lo stato del consumatore del servizio. Consulta services.check
servicemanagement.services.quota Allocazione della quota per un consumer di servizi. Vedi services.allocateQuota
servicemanagement.services.report Segnalare l'utilizzo del servizio. Consulta services.report

La tabella seguente mostra le autorizzazioni richieste per ciascun metodo dell'API Service Management, ove applicabili. Queste informazioni sono inoltre documentate nel riferimento dell'API:

Metodo Autorizzazioni richieste
services.delete servicemanagement.services.delete sul service_name specificato.
services.get servicemanagement.services.get sul service_name specificato.
services.getConfig servicemanagement.services.get sul service_name specificato.
services.undelete servicemanagement.services.delete sul service_name specificato.
services.configs.create servicemanagement.services.update sul service_name specificato.
services.configs.get servicemanagement.services.get sul service_name specificato.
services.configs.list servicemanagement.services.get sul service_name specificato.
services.configs.submit servicemanagement.services.update sul service_name specificato.
services.rollouts.create servicemanagement.services.update sul service_name specificato.
services.rollouts.get servicemanagement.services.get sul service_name specificato.
services.rollouts.list servicemanagement.services.get sul service_name specificato.

Ruoli IAM

Con Identity and Access Management, le autorizzazioni vengono concesse associando gli utenti ai ruoli. Per maggiori dettagli, consulta la sezione Informazioni sui ruoli.

La tabella seguente elenca i ruoli applicabili ai servizi:

Ruolo Autorizzazioni
roles/viewer servicemanagement.services.get
servicemanagement.services.list
roles/editor Tutte le autorizzazioni di roles/viewer, più

servicemanagement.services.bind
servicemanagement.services.check
servicemanagement.services.create
servicemanagement.services.delete
servicemanagement.services.quota
servicemanagement.services.report
servicemanagement.services.update
roles/owner Tutte le autorizzazioni di roles/editor, più

servicemanagement.services.getIamPolicy
servicemanagement.services.setIamPolicy
roles/servicemanagement.admin monitoring.timeSeries.list
resourcemanager.folders.get
resourcemanager.folders.list
resourcemanager.organizations.get
resourcemanager.projects.get
resourcemanager.projects.list
serviceconsumermanagement.consumers.get
serviceconsumermanagement.quota.get
serviceconsumermanagement.quota.update
serviceconsumermanagement.tenancyu.addResource
serviceconsumermanagement.tenancyu.create
serviceconsumermanagement.tenancyu.delete
serviceconsumermanagement.tenancyu.list
serviceconsumermanagement.tenancyu.removeResource
servicemanagement.services.bind
servicemanagement.services.check
servicemanagement.services.create
servicemanagement.services.delete
servicemanagement.services.get
servicemanagement.services.getIamPolicy
servicemanagement.services.list
servicemanagement.services.quota
servicemanagement.services.report
servicemanagement.services.setIamPolicy
servicemanagement.services.update
serviceusage.quotas.get
serviceusage.services.get
roles/servicemanagement.configEditor servicemanagement.services.get
servicemanagement.services.update
roles/servicemanagement.reporter servicemanagement.services.report
roles/servicemanagement.serviceConsumer servicemanagement.services.bind
roles/servicemanagement.serviceController servicemanagement.services.check
servicemanagement.services.get
servicemanagement.services.quota
servicemanagement.services.report

Gestione dei criteri

IAM valuta i criteri in modo gerarchico: una risorsa figlia eredita sempre il criterio del relativo elemento principale. Per l'API Service Management, ogni servizio gestito è una risorsa secondaria del suo progetto di producer di servizi. Pertanto, i ruoli concessi nel progetto di produzione del servizio si applicano a tutti i servizi gestiti che appartengono al progetto. Consulta Gestire i criteri per istruzioni su come concedere i ruoli a livello di progetto.

Puoi anche gestire il criterio IAM per un singolo servizio. Le sezioni seguenti descrivono come gestire i ruoli a livello di servizio utilizzando la console Google Cloud, l'API Service Management e Google Cloud CLI.

Gestione dell'accesso tramite la console Google Cloud

  1. Apri la pagina Endpoint nella console Google Cloud.

    Apri la pagina Endpoint

  2. Fai clic sul servizio per cui vuoi gestire l'accesso.
  3. Fai clic sul link "AUTORIZZAZIONI" nella parte superiore della pagina. In questo modo, il riquadro delle informazioni viene attivato e disattivato.
  4. Dal riquadro delle informazioni, puoi visualizzare l'elenco dei membri attuali, aggiungerne di nuovi e rimuoverli per qualsiasi ruolo a livello di servizio.

Gestione dell'accesso tramite gcloud CLI

L'interfaccia a riga di comando gcloud include i comandi gcloud endpoints services per gestire i criteri IAM per i servizi gestiti:

  • endpoints services get-iam-policy
    • Mostra il criterio IAM del servizio.
  • endpoints services check-iam-policy
    • Controlla il criterio IAM del servizio.
  • endpoints services add-iam-policy-binding
    • Aggiungi un membro a un ruolo.
  • endpoints services remove-iam-policy-binding
    • Rimuovere un membro da un ruolo.

Ad esempio:

# Show the IAM policy of service "endpointsapis.appspot.com".
gcloud endpoints services get-iam-policy endpointsapis.appspot.com

# The above command may produce an output similar to this:
bindings:
- members:
  - user:email1@gmail.com
  - group:group1@googlegroups.com
  role: roles/servicemanagement.serviceConsumer

# Add a user to "roles/servicemanagement.serviceConsumer" role.
gcloud endpoints services add-iam-policy-binding endpointsapis.appspot.com --member "user:email1@gmail.com" --role "roles/servicemanagement.serviceConsumer"

# Add a group to "roles/servicemanagement.serviceConsumer" role.
gcloud endpoints services add-iam-policy-binding endpointsapis.appspot.com --member "group:group1@googlegroups.com" --role "roles/servicemanagement.serviceConsumer"

# Remove a user from "roles/servicemanagement.serviceConsumer" role.
gcloud endpoints services remove-iam-policy-binding endpointsapis.appspot.com --member "user:email1@gmail.com" --role "roles/servicemanagement.serviceConsumer"

# Remove a group from "roles/servicemanagement.serviceConsumer" role.
gcloud endpoints services remove-iam-policy-binding endpointsapis.appspot.com --member "group:group1@googlegroups.com" --role "roles/servicemanagement.serviceConsumer"

Gestione dell'accesso tramite l'API Service Management

L'API Service Management include l'API IAM Policy per la gestione dei criteri a livello di servizio e di consumatore. Puoi utilizzare il comando gcurl per fare esperimenti con i metodi dell'API. Per i passaggi di configurazione iniziale, consulta la sezione Guida introduttiva.

Ad esempio:

# View the current IAM policy on service "endpointsapis.appspot.com".
gcurl -d '{}' https://servicemanagement.googleapis.com/v1/services/endpointsapis.appspot.com:getIamPolicy

# View the current IAM policy on service "endpointsapis.appspot.com" and consumer "12345".
gcurl -d '{}' https://servicemanagement.googleapis.com/v1/services/endpointsapis.appspot.com/consumers/12345:getIamPolicy