Mandanten und Mandantenprojekte

In diesem Leitfaden erhalten Sie einen Überblick über App Lifecycle Manager-Mandanten und wie Sie sie verwenden können, um Ihr SaaS-Angebot zu organisieren.

Mandanten und Mandantenprojekte

Eine Mandantenressource von App Lifecycle Manager stellt einen logischen Kunden, Client oder Mandanten Ihres SaaS-Angebots dar. Sie dient in erster Linie als Organisationstool, mit dem 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. Um Ihre Mandantenressourcen in dedizierte Google Cloud Projekte zu unterteilen, müssen Sie mindestens zwei Projekte erstellen:

  • Produzentenprojekt:Das Projekt, in dem Ihr SaaS-Angebot konfiguriert ist. Sie benötigen nur ein Produzentenprojekt für Ihre SaaS-Anwendung.
  • Mandantenprojekte: Die Projekte mit App Lifecycle Manager-Ressourcen 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 verfolgen und Ressourcen für jeden Mandanten verwalten.

Aktivierungsdienstkonten 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 Aktivierungskonto einzurichten.

Weitere Informationen zu Aktivierungsdienstkonten und den möglicherweise erforderlichen Berechtigungen finden Sie unter Aktivierungsdienstkonto.

APIs in einem Mandantenprojekt

Wenn App Lifecycle Manager Infrastructure Manager und das Aktivierungsdienstkonto verwendet, um 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.

Provisorische Einheit verwenden, um die Einrichtung von Mandanten zu automatisieren

Wenn Sie Projekte manuell erstellen, APIs aktivieren und IAM für jeden neuen Mandanten konfigurieren, ist das zeitaufwendig und fehleranfällig. Sie können die Einrichtung von Mandanten mit App Lifecycle Manager automatisieren, indem Sie eine provisorische 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 Aktivierungsdienstkonto für den bereitgestellten Mandanten (entweder im Produzentenprojekt oder im Mandantenprojekt).
  • Gewährt die erforderlichen IAM-Berechtigungen für Dienstkonten im Mandantenprojekt.
  • Richtet Netzwerke, Logging oder andere grundlegende Infrastruktur ein.

Ihre provisorische Einheit sollte:

  • Terraform-output-Variablen für die tenant_project_id, tenant_project_number und die E-Mail-Adresse des erstellten actuation_sa definieren.
  • tenant_project_id und tenant_project_number als input-Variablen empfangen.

Konfigurieren Sie Ihre Anwendungseinheit so, dass sie von der provisorischen Einheit abhängt, und ordnen Sie die Ausgabevariablen den entsprechenden Eingabevariablen der Anwendungseinheit zu.

Nachdem Sie die Abhängigkeiten der Einheiten konfiguriert haben, prüft App Lifecycle Manager, ob die zugrunde liegende Mandanteninfrastruktureinheit bereitgestellt wurde (Erstellung eines Mandantenprojekts und Einrichtung der Berechtigungen), 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