L'API Service Management utilizza Identity and Access Management (Cloud IAM) per controllare ai servizi gestiti e alle relative risorse figlio. In questa pagina vengono spiegate le Risorse, ruoli e autorizzazioni IAM forniti da Service Management API e come usarle 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à:
Avrai bisogno di autorizzazioni diverse per utilizzare e gestire risorse diverse, consulta le sezioni seguenti per maggiori dettagli.
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 sui progetti controllati dal chiamante. |
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 ogni Metodo API Service Management, se applicabile. Queste informazioni sono inoltre descritte nel riferimento dell'API:
Metodo | Autorizzazioni richieste |
---|---|
services.delete |
servicemanagement.services.delete per il service_name specificato. |
services.get |
servicemanagement.services.get sul service_name specificato. |
services.getConfig |
servicemanagement.services.get per il service_name specificato. |
services.undelete |
servicemanagement.services.delete sul service_name specificato. |
services.configs.create |
servicemanagement.services.update per il service_name specificato. |
services.configs.get |
servicemanagement.services.get sul service_name specificato. |
services.configs.list |
servicemanagement.services.get per il 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.
Nella tabella seguente sono elencati i ruoli che si applicano 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 figlio e il suo progetto di producer di servizi. Pertanto, i ruoli concessi nel servizio il progetto producer si applica a tutti i servizi gestiti che appartengono al progetto. Consulta: Gestione dei criteri per le 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 degli accessi mediante la console Google Cloud
Apri la pagina Endpoints nella console Google Cloud.
- Fai clic sul servizio per il quale vuoi gestire l'accesso.
- Fai clic sul link "AUTORIZZAZIONI" nella parte superiore della pagina. In questo modo, il riquadro delle informazioni viene attivato e disattivato.
- 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 con gcloud CLI
gcloud CLI include
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 con 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 iniziali, consulta la 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