Mandanten und Mandantenprojekte

In diesem Leitfaden finden Sie einen Überblick über SaaS-Laufzeitmandanten und wie Sie sie zum Organisieren Ihres SaaS-Angebots verwenden können.

Mandanten und Mandantenprojekte

Eine Mandantenressource für die SaaS-Laufzeit stellt einen logischen Kunden, Client oder Mandanten Ihres SaaS-Angebots dar. Es dient in erster Linie als Organisationshilfe, mit der Sie die Einheiten gruppieren können, die zu einem bestimmten Mandanten gehören.

Wenn Ihr SaaS-Angebot mehrere Mandanten hat, empfehlen wir, die Ressourcen jedes Mandanten in einem separaten Google Cloud -Projekt bereitzustellen. Wenn Sie Ihre Mandantenressourcen in dedizierte Google Cloud Projekte aufteilen möchten, müssen Sie mindestens zwei Projekte erstellen:

  • Erstellerprojekt:Das Projekt, in dem Ihr SaaS-Angebot konfiguriert ist. Sie benötigen nur ein Produzentenprojekt für Ihre SaaS-Anwendung.
  • Mandantenprojekte: Die Projekte mit SaaS-Laufzeitressourcen für einen bestimmten Mandanten. Wir empfehlen, ein Projekt für jeden Ihrer Mandanten zu erstellen.

Wenn Sie für jeden Mandanten separate Projekte verwenden, können Sie Konfigurationen (z. B. IAM-Richtlinien oder Netzwerk-Peering) in Mandantenprojekten festlegen und Kosten nachverfolgen sowie Ressourcen für jeden Mandanten verwalten.

Dienstkonten zum Starten in einem Mandantenprojekt

Das Aktivierungsdienstkonto benötigt Berechtigungen im Mandantenprojekt, um die in Ihrer Terraform-Konfiguration definierten Ressourcen zu erstellen und zu verwalten. Wir empfehlen, für jeden Ihrer Mandanten ein separates Konto für die Ausführung einzurichten.

Weitere Informationen zu Dienstkonten für die Ausführung und den möglicherweise erforderlichen Berechtigungen finden Sie unter Dienstkonto für die Ausführung.

APIs in einem Mandantenprojekt

Wenn SaaS Runtime (über Infrastructure Manager und das Dienstkonto des Aktivierungsdienstes) versucht, Ressourcen (z. B. eine VM) in einem Mandantenprojekt zu erstellen, müssen die erforderlichen APIs in diesem Mandantenprojekt aktiviert sein. Andernfalls schlägt die Bereitstellung fehl.

Sie müssen APIs für alle Ressourcentypen aktivieren, die in Ihrer Terraform-Konfiguration in einem Mandantenprojekt verwendet werden.

Vorläufige Einheit verwenden, um die Einrichtung des Mandanten zu automatisieren

Das manuelle Erstellen von Projekten, Aktivieren von APIs und Konfigurieren von IAM für jeden neuen Mandanten ist zeitaufwendig und fehleranfällig. Sie können die Einrichtung des Mandanten mit der SaaS-Laufzeit automatisieren, indem Sie eine vorläufige Art der Einheit erstellen, die eine Terraform-Konfiguration enthält, die Folgendes ausführt:

  • Erstellt ein neues Google Cloud -Projekt für den Mandanten.
  • Aktiviert die erforderlichen APIs in diesem neuen Projekt.
  • Erstellt ein dediziertes Dienstkonto für die Aktivierung für den bereitgestellten Mandanten (entweder im Erstellerprojekt oder im Mandantenprojekt).
  • Gewährt die erforderlichen IAM-Berechtigungen für Dienstkonten im Mandantenprojekt.
  • Richtet Netzwerke, Logging oder andere grundlegende Infrastruktur ein.

Die vorläufige Art der Einheit sollte:

  • Definieren Sie Terraform-output-Variablen für die E-Mail-Adresse tenant_project_id, tenant_project_number und actuation_sa, die erstellt werden.
  • Sie erhalten die tenant_id als input-Variable.

Konfigurieren Sie den Typ der Anwendungseinheit in Abhängigkeit vom vorläufigen Typ der Einheit und ordnen Sie die Ausgabevariablen den entsprechenden Eingabevariablen der Anwendungseinheit zu.

Nachdem Sie die Abhängigkeiten für die Einheitentypen konfiguriert haben, prüft die SaaS-Laufzeit, ob die zugrunde liegende Mandanteninfrastruktureinheit bereitgestellt wurde. Dabei wird ein Mandantenprojekt erstellt und die Berechtigungen dafür eingerichtet, bevor die Einheit mit Ihrer Anwendung bereitgestellt wird.

Weitere Informationen zur Implementierung dieses Musters finden Sie unter Abhängigkeiten zwischen Einheiten verwalten und Variablen verwenden.

Nächste Schritte