Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Mandanteneinheiten verwalten

Auf dieser Seite wird erläutert, wie Sie Mandanteneinheiten für Ihren Dienst verwalten. Eine Mandanteneinheit ist eine einfache Ressource, die die Beziehung zwischen einem Dienstnutzer und einem verwalteten Dienst darstellt. Jedem Dienstnutzer kann für einen verwalteten Dienst nur eine aktive Mandanteneinheit zugewiesen sein. Dieses Feature wird von Service Infrastructure bereitgestellt.

Der Ressourcenname einer Mandanteneinheit hat das folgende Format:

services/{your service name}/projects/{consumer project number}/tenancyUnits/{id}

Die ID einer Mandanteneinheit wird automatisch generiert, wenn Sie sie erstellen. Sie können beim Aufrufen der Methode services.tenancyUnits.create auch eine ID angeben. Die von Ihnen bereitgestellte ID muss innerhalb des verwalteten Dienstes dienstübergreifend für alle Dienstnutzer global eindeutig sein.

In den Beispielen auf dieser Seite wird die Service Consumer Management REST API direkt aufgerufen. Für die Nutzung in der Produktionsumgebung sollten Sie die von Google bereitgestellten Clientbibliotheken verwenden, um die Nutzerfreundlichkeit und Zuverlässigkeit zu erhöhen.

Hinweis

  • Die Service Consumer Management API ist für die Verwendung mit verwalteten Diensten und Diensterstellerprojekten vorgesehen. Sie müssen bereits ein Google Cloud-Projekt und einen verwalteten Dienst (z. B. einen Dienst, der mit Cloud Endpoints erstellt wurde) in diesem Projekt haben.
  • Damit Mandanteneinheiten verwendet werden können, muss die Service Consumer Management API Mandantenprojekte in Ihrer Diensterstellerorganisation erstellen. Sie benötigen ein ausreichendes Kontingent für die erforderliche Anzahl von Mandantenprojekten für die Nutzer Ihres Dienstes.
  • Jedes Mandantenprojekt, das in einer Mandanteneinheit erstellt wird, muss sich in einem Ordner befinden, den Sie als Teil der Mandantenprojektkonfiguration angegeben haben. Aus diesem Grund benötigen Sie eine Organisation, um Mandanteneinheiten nutzen zu können.

Authentifizierung

Cloud APIs wie die Service Consumer Management API nehmen nur authentifizierte Aufrufe an. Falls Sie kein Dienstkonto haben, finden Sie unter Erste Schritte bei der Authentifizierung eine Anleitung zum Erstellen eines Dienstkontos und zum Abrufen eines JSON-Schlüssels für die Authentifizierung bei Cloud APIs. Wenn Sie eine Google-Clientbibliothek verwenden, können Sie Ihre Umgebung so einrichten, dass die Anmeldedaten Ihres Dienstkontos standardmäßig verwendet werden. Für direkte Aufrufe der REST API müssen Sie in jedem Header ein Zugriffstoken bereitstellen. Beispiel:

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" --header 'Content-Type: application/json' --data '{"tag":"tag1", "project_config":{"folder":"folders/9876543210", "tenant_project_policy": {"policy_bindings":{"role":"roles/owner", "members":"user:user1@company.com"}}, "billing_config":{"billing_account":"billingAccounts/123456-472F22-28F9AA"}}}' -X POST "https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/consumers/12345678901/tenancyUnits/tu-hello:addProject"

Damit Sie Mandanteneinheiten erstellen und löschen können, müssen Sie die Schritte zur Ersteinrichtung unter Erste Schritte mit der Service Consumer Management API ausführen.

Mandanteneinheit erstellen

Mandanteneinheiten und die darin enthaltenen Mandantenprojekte werden normalerweise erstellt, wenn Ressourcen in Ihrem eigenen Dienst erstellt werden, die von zusätzlichen Google Cloud-Ressourcen abhängen, welche für die Nutzer bereitgestellt werden sollen.

So erstellen Sie eine Mandanteneinheit:

POST https://serviceconsumermanagement.googleapis.com/v1/services/service.example.com/projects/12345678901/tenancyUnits

"projects/12345678901" ist hier der Dienstnutzer und service.example.com der Name Ihres Dienstes.

Die zurückgegebene Datenstruktur hat den Namen der Mandanteneinheit und eine einmalig generierte ID, über die auf die Mandanteneinheit zugegriffen werden kann. In diesem Beispiel lautet der generierte Name services/your-service.example.com/projects/12345678901/tenancyUnits/absdef.

Mandantenprojekt hinzufügen

Sie können jetzt ein Projekt für den Nutzer hinzufügen. Rufen Sie folgende Methode auf, um der im vorherigen Schritt erstellten Mandanteneinheit ein neues Mandantenprojekt hinzuzufügen:

POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef:addProject

Hierbei werden folgende Daten verwendet:

{"tag":"tag1", "project_config":{"folder":"folders/9876543210", "tenant_project_policy":{"policy_bindings":{"role":"roles/owner", "members":"user:bob@example.com"}}, "billing_config":{"billing_account":"billingAccounts/123456-472F22-28F9AA"}}}

Der Wert von tag ist eine Kennzeichnung, die Sie dem Projekt in der Mandanteneinheit zuweisen. Hier lautet er tag1, Sie können aber auch einen beliebigen Wert wie eine Region, ein Nutzernetzwerk oder nur eine String-ID verwenden.

Dieser Aufruf gibt einen lange laufenden Vorgang zurück, den Sie abfragen können, um die erfolgreiche Projekterstellung zu bestätigen.

Wenn Sie eine andere Konfiguration anwenden müssen, um beispielsweise neue verwaltete Dienste hinzuzufügen, rufen Sie die Methode services.tenancyUnits.applyProjectConfig auf.

Mandanteneinheiten suchen

Mandanteneinheit für einen Dienstnutzer suchen

Mit der Methode services.tenancyUnits.ListTenancyUnits können Sie eine Mandanteneinheit für einen bestimmten Dienstnutzer ermitteln. Geben Sie dazu die Nummer des zugehörigen Dienstnutzerprojekts an:

GET https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits

Mandanteneinheiten suchen

Mit der Methode services.tenancyUnits.SearchTenancyUnits können Sie nach Mandanteneinheiten suchen, die für Ihren Dienst definiert sind. Die folgende Abfrage gibt beispielsweise alle Mandanteneinheiten zurück, die ein Projekt mit dem Tag "tag1" enthalten.

GET https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com:search?query=tenant_resources.tag=tag1

Mandanteneinheiten bereinigen

Wenn ein Dienstnutzer Ihren Dienst nicht mehr verwendet, müssen Sie seine Mandanteneinheit entfernen, um Ressourcen freizugeben und zu gewährleisten, dass die Nutzerdaten gelöscht werden.

Mandanteneinheiten entfernen

Sie müssen alle Mandantenprojekte löschen, bevor Sie die beschädigte Mandanteneinheit löschen. Verwenden Sie die Methode services.tenancyUnits.removeProject, um ein Mandantenprojekt und alle darin enthaltenen Ressourcen zu löschen:

POST https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef:removeProject

Mandanteneinheiten löschen

Nachdem Sie alle Mandantenprojekte aus einer Mandanteneinheit gelöscht haben oder sich alle im Status DELETED befinden, können Sie die Mandanteneinheit löschen:

DELETE https://serviceconsumermanagement.googleapis.com/v1/services/your-service.example.com/projects/12345678901/tenancyUnits/absdef