Die Service Management API verwendet Cloud IAM (Identity and Access Management) um den Zugriff auf verwaltete Dienste und ihre untergeordneten Ressourcen zu steuern. Auf dieser Seite werden die IAM-Ressourcen, -Rollen und -Berechtigungen für die Service Management API und deren Verwendung zur Zugriffssteuerung erläutert.
IAM-Ressourcen
IAM steuert mithilfe von IAM-Richtlinien, welcher Nutzer welche Vorgänge für die Ressourcen ausführen darf. Die Service Management API stellt ihre Funktionen mithilfe der folgenden Ressourcen bereit:
Sie benötigen unterschiedliche Berechtigungen, um verschiedene Ressourcen zu verwenden und zu verwalten. Weitere Informationen finden Sie in den folgenden Abschnitten.
IAM-Berechtigungen
Für Aufrufe an die Service Management API muss der Aufrufer über die erforderlichen IAM-Berechtigungen für die Zielressourcen verfügen.
Die folgende Tabelle zeigt die verschiedenen Berechtigungen für Dienste:
Berechtigung | Beschreibung |
---|---|
servicemanagement.services.delete |
Dienste entfernen |
servicemanagement.services.get |
Lesezugriff auf Dienste |
servicemanagement.services.create |
Neue Dienste in Projekten erstellen |
servicemanagement.services.list |
Dienste in Projekten auflisten |
servicemanagement.services.update |
Dienste aktualisieren |
servicemanagement.services.bind |
Dienst für Projekte ansehen und aktivieren, die der Aufrufer steuert |
servicemanagement.services.setIamPolicy |
IAM-Zugriffsrichtlinien für Dienste festlegen |
servicemanagement.services.getIamPolicy |
Lesezugriff auf IAM-Zugriffsrichtlinien für Dienste |
servicemanagement.services.check |
Status für Dienstnutzer prüfen. Siehe services.check |
servicemanagement.services.quota |
Einem Dienstnutzer Kontingente zuweisen. Siehe services.allocateQuota |
servicemanagement.services.report |
Berichte zur Dienstnutzung erstellen. Siehe services.report |
Die folgende Tabelle zeigt die erforderlichen Berechtigungen für die einzelnen Methoden der Service Management API, sofern zutreffend. Die erforderlichen Berechtigungen sind auch in der API-Referenz nachzulesen.
Methode | Erforderliche Berechtigungen |
---|---|
services.delete |
servicemanagement.services.delete für die angegebene service_name . |
services.get |
servicemanagement.services.get für den angegebenen service_name . |
services.getConfig |
servicemanagement.services.get für den angegebenen service_name . |
services.undelete |
servicemanagement.services.delete für den angegebenen service_name . |
services.configs.create |
servicemanagement.services.update für den angegebenen service_name . |
services.configs.get |
servicemanagement.services.get für den angegebenen service_name . |
services.configs.list |
servicemanagement.services.get für den angegebenen service_name . |
services.configs.submit |
servicemanagement.services.update für den angegebenen service_name . |
services.rollouts.create |
servicemanagement.services.update für den angegebenen service_name . |
services.rollouts.get |
servicemanagement.services.get für den angegebenen service_name . |
services.rollouts.list |
servicemanagement.services.get für den angegebenen service_name . |
IAM-Rollen
Bei Identity and Access Management werden Nutzer an Rollen gebunden, um Berechtigungen zu gewähren. Weitere Informationen finden Sie unter Funktionsweise von Rollen.
Die folgende Tabelle zeigt die entsprechenden Rollen für Dienste:
Rolle | Berechtigungen |
---|---|
roles/viewer |
servicemanagement.services.get servicemanagement.services.list |
roles/editor |
Alle Berechtigungen von roles/viewer sowie:servicemanagement.services.bind servicemanagement.services.check servicemanagement.services.create servicemanagement.services.delete servicemanagement.services.quota servicemanagement.services.report servicemanagement.services.update |
roles/owner |
Alle Berechtigungen von roles/editor sowie: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 |
Richtlinien verwalten
IAM bewertet Richtlinien hierarchisch: Eine untergeordnete Ressource übernimmt immer die Richtlinie der jeweils übergeordneten Ressource. Bei der Service Management API ist jeder verwaltete Dienst eine untergeordnete Ressource des Diensterstellerprojekts. Daher gelten die dem Diensterstellerprojekt zugewiesenen Rollen für alle verwalteten Dienste, die zum Projekt gehören. Informationen zum Gewähren von Rollen auf Projektebene finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.
Sie können auch die IAM-Richtlinie für einen einzelnen Dienst verwalten. In den folgenden Abschnitten wird die Verwaltung von Rollen auf Dienstebene mit der Google Cloud Console, der Service Management API und der Google Cloud CLI beschrieben.
Zugriff mit der Google Cloud Console verwalten
Öffnen Sie in der Google Cloud Console die Seite „Endpunkte“.
- Klicken Sie auf den Dienst, für den Sie den Zugriff verwalten möchten.
- Klicken Sie oben auf der Seite auf den Link "BERECHTIGUNGEN". Damit wird das Infofeld aktiviert bzw. deaktiviert.
- Im Infofeld können Sie für jede Rolle auf Dienstebene die Liste der aktuellen Mitglieder ansehen, neue Mitglieder hinzufügen und Mitglieder entfernen.
Zugriff mit der gcloud CLI verwalten
Die gcloud CLI enthält gcloud endpoints services
-Befehle zum Verwalten von IAM-Richtlinien für verwaltete Dienste:
endpoints services get-iam-policy
- IAM-Richtlinie des Dienstes anzeigen
endpoints services check-iam-policy
- Überprüfen Sie die IAM-Richtlinie des Dienstes.
endpoints services add-iam-policy-binding
- Mitglied zu einer Rolle hinzufügen
endpoints services remove-iam-policy-binding
- Mitglied aus einer Rolle entfernen
Beispiel:
# 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"
Zugriff mit der Service Management API verwalten
Die Service Management API enthält die IAM Policy API zur Verwaltung von Richtlinien auf Dienst- und Verbraucherebene. Sie können den Befehl gcurl
verwenden, um API-Methoden zu testen.
Weitere Informationen zu den Schritten für die Ersteinrichtung finden Sie unter Erste Schritte.
Beispiel:
# 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