Einheiten mit Mietern verknüpfen
In dieser Kurzanleitung ändern Sie Ihr SaaS-Angebot, um die bereitgestellte VM-Einheit einer Mandantenressource zuzuordnen und die VM in einem dedizierten Mandantenprojekt bereitzustellen, das Ihrem Mandanten gehört.
Dieser Ansatz verbessert die Ressourcenisolation, sodass Sie Ressourcen für jeden Mandanten separat verwalten und für Ihr SaaS-Angebot eine bessere Sicherheit und Compliance bieten können.
Wir bauen auf dem Szenario aus dem Schnellstart: VM mit App Lifecycle Manager bereitstellen auf und ändern es so, dass die bereitgestellte VM-Einheit einer Mandantenressource zugeordnet und die VM in einem dedizierten Projekt bereitgestellt wird, das dem Mandanten gehört:
- Erstellen Sie eine Mandantenressource in App Lifecycle Manager.
- Ordnen Sie eine VM der Mandantenressource zu.
- Konfigurieren Sie App Lifecycle Manager und Ihre Terraform-Konfiguration, um Ressourcen in einem separaten Mandantenprojekt bereitzustellen.
- Häufige Probleme mit Berechtigungen und der API-Aktivierung bei der projektübergreifenden Bereitstellung beheben
Am Ende dieser Kurzanleitung haben Sie die Grundlage für ein SaaS-Angebot mit mehreren Mandanten geschaffen, mit dem Sie Konfigurationen und Richtlinien auf Mandantenebene festlegen können, indem Sie Mandanten erstellen und sie mit Einheiten verknüpfen.
Hinweis
Bevor Sie Mandanten erstellen oder sie mit Einheiten verknüpfen, sollten Sie sich mit den Grundlagen des App Lifecycle Manager-Ökosystems vertraut machen und ein SaaS-Angebot erstellen.
-
Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
Verify that billing is enabled for your Google Cloud project.
VM mit App Lifecycle Manager bereitstellen, einschließlich Erstellen einer Terraform-Konfiguration, eines Artifact Registry-Repositorys, eines SaaS-Angebots, eines Einheitentyps, einer Einheit und von Komponenten (einschließlich
terraform-files.zip).- Prüfen Sie, ob die im Schnellstart im Abschnitt Vorbereitung aufgeführten APIs in Ihrem Erstellerprojekt aktiviert sind.
- Prüfen Sie, ob Sie die erforderlichen Dienstkonten und IAM-Rollen im Producer-Projekt haben.
Dazu gehören das vom Nutzer erstellte Dienstkonto und die Berechtigungen, die dem Konto
service-PROJECT-NUMBER@gcp-sa-saasservicemgmt.iam.gserviceaccount.comim Erstellerprojekt gewährt wurden.
Ihr Erstellerprojekt und alle Mandantenprojekte müssen erstellt werden, bevor Sie Ihre Mandantenressourcen erstellen und zuordnen. Weitere Informationen finden Sie unter Mandantenprojekt einrichten.
Mandantenressource erstellen und zuordnen
Mit Mandanten können Sie Einheitenressourcen gruppieren. Erstellen Sie eine tenant-Ressource im SaaS-Angebot Ihres Erstellerprojekts, um Ihren Kunden zu repräsentieren:
Rufen Sie in der Google Cloud Console App Lifecycle Manager > Tenants auf.
Klicken Sie auf Erstellen.
Geben Sie auf der Seite Mandant erstellen im Feld Mandantenname den Wert
vm-quickstart-tenantein.Wählen Sie im Feld SaaS-Angebot die Option
vm-quickstart-saas-offeringaus.Wählen Sie im Drop-down-Menü Region die Option
us-central1aus.Klicken Sie auf Einheit hinzufügen. Der Abschnitt Neue Einheit wird angezeigt.
Wählen Sie im Drop-down-Menü Einheit die Einheit
projects/YOUR-PROJECT-NAME/locations/us-central1/units/vm-quickstart-unitaus.Klicken Sie auf Fertig, um die
vm-quickstart-unit-Ressource mit dervm-quickstart-tenant-Ressource zu verknüpfen.Klicken Sie auf Erstellen, um die Mandantenressource zu erstellen. Sie haben die Ressource
vm-quickstart-tenanterstellt und der Ressourcevm-quickstart-unitzugeordnet. Diese Zuordnung dient in erster Linie als organisatorisches Tag in derGoogle Cloud -Konsole, damit Sie erkennen können, welche Einheiten zu welchem Mandanten gehören.
Mandantenrelease erstellen
Rufen Sie in der Google Cloud Console App Lifecycle Manager > Releases auf.
Klicken Sie auf der Seite Releases auf Erstellen.
Geben Sie auf der Seite Release erstellen im Feld Releasename
vm-quickstart-tenant-releaseein.Wählen Sie im Feld Einheitentyp die Option
vm-quickstart-unit-kindaus. Klicken Sie auf Weiter.Klicken Sie im Schritt Entwurf auswählen auf den Schalter Vorhandenes Image aus Artifact Registry auswählen.
Klicken Sie im Schritt Store Blueprint auf Durchsuchen und wählen Sie das Artefakt aus, das mit
vm-quickstart-tenant-blueprintverknüpft ist. Klicken Sie auf Weiter.Klicken Sie auf Erstellen. Sie haben die Ressource
vm-quickstart-tenant-releaseerstellt.
Mandantenprojekt erstellen und Einheit bereitstellen
Im Schnellstart: VM mit App Lifecycle Manager bereitstellen stellen Sie App Lifecycle Manager-Ressourcen im selben Projekt bereit, das Ihre SaaS-Angebotkonfiguration enthält.
In dieser Kurzanleitung leiten Sie die Bereitstellung der Ressourcen in das Mandantenprojekt anstelle des Erstellerprojekts weiter.
Bei der Gerätebereitstellung müssen Sie die geänderten Variablen tenant_project_id und tenant_project_number übergeben.
Erstellen Sie ein Mandantenprojekt, in dem Sie die
terraform-vm.zip-Dateien bereitstellen:gcloud projects create quickstart-tenant-project --name="SaaS Tenant A Project"Aktivieren Sie APIs und gewähren Sie IAM-Rollen für das Mandantenprojekt. Wenn Sie Einheiten in Ihrem Mandantenprojekt bereitstellen möchten, müssen Sie die Compute Engine API aktivieren und IAM-Rollen für Ihr Mandantenprojekt zuweisen.
APIs in Ihrem Mandantenprojekt aktivieren
Aktivieren Sie die Compute Engine API im Mandantenprojekt über die Google Cloud Konsole:
Rufen Sie die Projektauswahl auf.
Klicken Sie auf Projekt auswählen.
Wählen Sie
quickstart-tenant-projectaus.Aktivieren Sie die Compute Engine API.
Rollen, die zum Aktivieren von APIs erforderlich sind
Zum Aktivieren von APIs benötigen Sie die IAM-Rolle „Service Usage-Administrator“ (
roles/serviceusage.serviceUsageAdmin), die die Berechtigungserviceusage.services.enableenthält. Weitere Informationen zum Zuweisen von RollenPrüfen Sie, ob Sie die folgenden Rollen für das Projekt haben: roles/compute.admin
Rollen prüfen
-
Rufen Sie in der Google Cloud Console die Seite IAM auf.
IAM aufrufen - Wählen Sie das Projekt aus.
-
Suchen Sie in der Spalte Hauptkonto nach allen Zeilen, in denen Sie oder eine Gruppe, zu der Sie gehören, angegeben sind. Fragen Sie Ihren Administrator, zu welchen Gruppen Sie gehören.
- Prüfen Sie in allen Zeilen, in denen Sie angegeben oder enthalten sind, die Spalte Rolle, um zu sehen, ob die Liste der Rollen die erforderlichen Rollen enthält.
Rollen zuweisen
-
Rufen Sie in der Google Cloud Console die Seite IAM auf.
IAM aufrufen - Wählen Sie das Projekt aus.
- Klicken Sie auf Zugriffsrechte erteilen.
-
Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Das ist in der Regel die E‑Mail-Adresse eines Google-Kontos.
- Klicken Sie auf Rolle auswählen und suchen Sie nach der Rolle.
- Klicken Sie auf Weitere Rolle hinzufügen, wenn Sie weitere Rollen zuweisen möchten.
- Klicken Sie auf Speichern.
-
Einheit mit Variablen für Mandantenprojekt bereitstellen
Stellen Sie in Ihrem Producer-Projekt eine neue Einheit mit den Eingabevariablen Ihres Mandantenprojekts bereit:
Rufen Sie die Projektauswahl auf.
Klicken Sie auf Projekt auswählen.
Wählen Sie Ihr Producer-Projekt aus.
Rufen Sie in der Google Cloud -Konsole App Lifecycle Manager > Einheiten auf.
Wählen Sie die
vm-quickstart-unit-Ressource aus.Klicken Sie auf Bereitstellen.
Wählen Sie die Ressource
vm-quickstart-tenant-releaseaus.Wählen Sie das Actuation-Dienstkonto aus, dem Sie Berechtigungen im Mandantenprojekt gewährt haben.
Im Bereich Eingabevariablen:
- Die Variable
tenant_project_idwird so aufgeführt, wie Sie sie invariables.tfdefiniert haben. - Geben Sie in das Feld Tenant Project ID (Projekt-ID des Mandanten)
quickstart-tenant-projectein.
- Die Variable
Klicken Sie auf Bereitstellen.
App Lifecycle Manager löst Infrastructure Manager mit dem angegebenen Dienstkonto aus. Infrastructure Manager liest die Variable tenant_project_id und erstellt die VM in diesem Mandantenprojekt.
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
- Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
- Geben Sie an der Eingabeaufforderung die Projekt-ID ein und klicken Sie auf Beenden.
Nächste Schritte
- Weitere Informationen zum Einrichten von Mandantenprojekten und ‑ressourcen
- Verwenden Sie Variablen und Variablenzuordnung für die anspruchsvolle Orchestrierung von SaaS-Angeboten (einschließlich der automatischen Bereitstellung von Ressourcen).