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 der Kurzanleitung zum Bereitstellen einer MySQL-Instanz mit App Lifecycle Manager 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.
- Verknüpfen Sie eine VM mit der Mandantenressource.
- Konfigurieren Sie App Lifecycle Manager und Ihre Terraform-Konfiguration, um Ressourcen in einem separaten Mandantenprojekt bereitzustellen.
- Beheben Sie häufige Probleme mit Berechtigungen und der API-Aktivierung bei der projektübergreifenden Bereitstellung.
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.
MySQL-Instanz mit App Lifecycle Manager bereitstellen, einschließlich der Erstellung einer Terraform-Konfiguration, eines Artifact Registry-Repositorys, eines SaaS-Angebots, einer Einheit, einer Einheit und Komponenten (einschließlich
terraform-files.zip).- Prüfen Sie, ob die im Abschnitt Vorbereitung des Schnellstarts aufgeführten APIs in Ihrem Erstellerprojekt aktiviert sind.
- Prüfen Sie, ob Sie die erforderlichen Dienstkonten und IAM-Rollen im Erstellerprojekt 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
Sie können Mandanten verwenden, um Einheitenressourcen zu 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 Ihre
vm-quickstart-unit-Ressource mit Ihrervm-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 mit
vm-quickstart-tenant-blueprintverknüpfte Artefakt aus. Klicken Sie auf Weiter.Klicken Sie auf Erstellen. Sie haben die Ressource
vm-quickstart-tenant-releaseerstellt.
Mandantenprojekt erstellen und Einheit bereitstellen
Im Schnellstart: MySQL-Instanz 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 um.
Bei der Bereitstellung von Einheiten 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 Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Rolle „Inhaber“ (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. 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 dann 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 über Ihr 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 Abschnitt 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 zum Starten 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 Ressourcenbereitstellung).