L'API Service Management utilizza Identity and Access Management (Cloud IAM) per controllare l'accesso ai servizi gestiti e alle relative risorse figlio. Questa pagina descrive le risorse, i ruoli e le autorizzazioni IAM forniti dall'API Service Management e come utilizzarli per controllare l'accesso.
Risorse IAM
IAM applica criteri IAM alle risorse per controllare chi può eseguire determinate azioni sulle risorse. L'API Service Management utilizza le seguenti risorse per fornire le sue funzionalità:
Per utilizzare e gestire risorse diverse, avrai bisogno di autorizzazioni diverse. Per i dettagli, consulta le sezioni seguenti.
Autorizzazioni IAM
Le chiamate all'API Service Management richiedono che il chiamante disponga delle autorizzazioni IAM necessarie per le risorse di destinazione.
Nella tabella seguente sono elencate le autorizzazioni che si applicano ai servizi:
Autorizzazione | Descrizione |
---|---|
servicemanagement.services.delete |
Elimina i servizi. |
servicemanagement.services.get |
Lettura dei servizi. |
servicemanagement.services.create |
Creare nuovi servizi nei progetti. |
servicemanagement.services.list |
Elenca 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 |
Lettura del criterio di accesso IAM per i servizi. |
servicemanagement.services.check |
Controlla lo stato del consumatore di servizi. Vedi services.check |
servicemanagement.services.quota |
Alloca la quota per un consumer di servizi. Vedi services.allocateQuota |
servicemanagement.services.report |
Segnala l'utilizzo del servizio. Vedi services.report |
La tabella seguente mostra le autorizzazioni richieste per ogni metodo dell'API Service Management, ove applicabile. Questa informazione è documentata anche nei riferimenti 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 ulteriori dettagli, consulta Informazioni sui ruoli.
La tabella seguente elenca 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.consumermanagement.get serviceconsumermanagement.quota.get serviceconsumermanagement.quota.update serviceconsumermanagement.tenancyu.addResource servizio.consumermanagement.tenancyu.addResource servizio.consumermanagement.tenancyu.addResource servizio |
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 secondaria eredita sempre il criterio della risorsa padre. Per l'API Service Management, ogni servizio gestito è una risorsa secondaria del progetto di producer di servizi. Pertanto, i ruoli concessi nel progetto del producer di servizi si applicano a tutti i servizi gestiti che appartengono al progetto. Vedi 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 seguenti sezioni 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 utilizzando la console Google Cloud
Apri la pagina Endpoint nella console Google Cloud.
- Fai clic sul servizio per cui 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 informazioni, puoi visualizzare l'elenco dei membri attuali, aggiungere nuovi membri e rimuovere membri per qualsiasi ruolo a livello di servizio.
Gestione dell'accesso mediante gcloud CLI
L'interfaccia a riga di comando gcloud include i comandi di 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
- Aggiungere 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 consumer. Puoi usare il comando gcurl
per sperimentare i metodi dell'API.
Consulta la Guida introduttiva per i passaggi di configurazione iniziali.
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