Einheiten mit Mandanten verknüpfen

In dieser Kurzanleitung ändern Sie Ihr App-Angebot, um die bereitgestellte VM-Einheit mit einer Mandantenressource zu verknüpfen 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 die Sicherheit und Compliance für Ihr App-Angebot verbessern können.

Wir bauen auf dem Szenario aus der Kurzanleitung MySQL-Instanz mit App Lifecycle Manager bereitstellen auf und ändern es so, dass die bereitgestellte VM-Einheit mit einer Mandantenressource verknüpft und die VM in einem dedizierten Projekt bereitgestellt wird, das dem Mandanten gehört:

  1. Erstellen Sie eine Mandantenressource in App Lifecycle Manager.
  2. Verknüpfen Sie eine VM mit der Mandantenressource.
  3. Konfigurieren Sie App Lifecycle Manager und Ihre Terraform-Konfiguration, um Ressourcen in einem separaten Mandantenprojekt bereitzustellen.
  4. 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 App-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 die Grundlagen des App Lifecycle Manager Ökosystems kennen und ein App-Angebot erstellen.

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie noch kein Google Cloud-Nutzer sind, erstellen Sie ein Konto, um zu sehen, wie sich unsere Produkte in realen Szenarien schlagen. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

  2. Stellen Sie eine MySQL-Instanz mit App Lifecycle Manager bereit, einschließlich der Erstellung einer Terraform-Konfiguration, eines Artifact Registry-Repositorys, eines App-Angebots, einer Einheitsart, einer Einheit und von Komponenten (einschließlich terraform-files.zip).

    • Prüfen Sie, ob die im Abschnitt Hinweis der Kurzanleitung aufgeführten APIs in Ihrem Producer-Projekt 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.com im Producer-Projekt gewährt wurden.
  3. Ihr Producer-Projekt und alle Mandantenprojekte müssen erstellt werden, bevor Sie Ihre Mandantenressourcen erstellen und verknüpfen. Weitere Informationen finden Sie unter Mandantenprojekt einrichten.

Mandantenressource erstellen und verknüpfen

Mit Mandanten können Sie Einheitsressourcen gruppieren. Erstellen Sie eine Mandantenressource im App-Angebot Ihres Producer-Projekts, um Ihren Kunden darzustellen:

  1. Rufen Sie in der Google Cloud Console App Lifecycle Manager > Mandanten auf.

    Zu „Mandanten“

  2. Klicken Sie auf Erstellen.

  3. Geben Sie auf der Seite Mandanten erstellen im Feld Mandantenname vm-quickstart-tenant ein.

  4. Wählen Sie im Feld App-Angebot vm-quickstart-saas-offering aus.

  5. Wählen Sie im Drop-down-Menü Region die Option us-central1 aus.

  6. Klicken Sie auf Einheit hinzufügen. Ein Abschnitt Neue Einheit wird angezeigt.

  7. Wählen Sie im Drop-down-Menü Einheit die Einheit projects/YOUR-PROJECT-NAME/locations/us-central1/units/vm-quickstart-unit aus.

  8. Klicken Sie auf Fertig , um die Ressource vm-quickstart-unit mit der Ressource vm-quickstart-tenant zu verknüpfen.

  9. Klicken Sie auf Erstellen , um die Mandantenressource zu erstellen. Sie haben die Ressource vm-quickstart-tenant erfolgreich erstellt und mit der Ressource vm-quickstart-unit verknüpft. Diese Verknüpfung dient in erster Linie als organisatorisches Tag in der Google Cloud Console, mit dem Sie erkennen können, welche Einheiten zu welchem Mandanten gehören.

Mandantenrelease erstellen

  1. Rufen Sie in der Google Cloud Console App Lifecycle Manager > Releases auf.

    Zu „Releases“

  2. Klicken Sie auf der Seite Releases auf Erstellen.

  3. Geben Sie auf der Seite Release erstellen im Feld Releasename vm-quickstart-tenant-release ein.

  4. Wählen Sie im Feld Einheitsart vm-quickstart-unit-kind aus. Klicken Sie auf Weiter.

  5. Klicken Sie im Schritt Blaupause auswählen auf die Schaltfläche Vorhandenes Image aus Artifact Registry auswählen.

  6. Klicken Sie im Schritt Blaupause speichern auf Durchsuchen und wählen Sie das Artefakt aus, das mit vm-quickstart-tenant-blueprint verknüpft ist. Klicken Sie auf Weiter.

  7. Klicken Sie auf Erstellen. Sie haben die Ressource vm-quickstart-tenant-release erfolgreich erstellt.

Mandantenprojekt erstellen und Einheit bereitstellen

In der Kurzanleitung MySQL-Instanz mit App Lifecycle Manager bereitstellen stellen Sie App Lifecycle Manager-Ressourcen im selben Projekt bereit, das Ihre App-Angebotskonfiguration enthält.

In dieser Kurzanleitung leiten Sie die Ressourcenbereitstellung stattdessen in das Mandanten projekt um.

Sie müssen während der Einheitsbereitstellung die geänderten Variablen tenant_project_id und tenant_project_number übergeben.

  1. Erstellen Sie ein Mandantenprojekt, in dem Sie die Dateien terraform-vm.zip bereitstellen:

    gcloud projects create quickstart-tenant-project --name="SaaS Tenant A Project"
    
  2. 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 gewähren.

APIs in Ihrem Mandantenprojekt aktivieren

Aktivieren Sie die Compute Engine API im Mandantenprojekt mit der Google Cloud Console:

  1. Rufen Sie die Projektauswahl auf.

    Zur Projektauswahl

  2. Klicken Sie auf Projekt auswählen.

  3. Wählen Sie quickstart-tenant-project aus.

  4. Aktivieren Sie die Compute Engine API, falls sie noch nicht aktiviert ist.

    Erforderliche Rollen zum Aktivieren von APIs

    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 „Administrator der Dienstnutzung“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen.

    API aktivieren

  5. Achten Sie darauf, dass Sie die folgende Rolle oder die folgenden Rollen für das Projekt haben: roles/compute.admin

    Rollen prüfen

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

      IAM aufrufen
    2. Wählen Sie das Projekt aus.
    3. Suchen Sie in der Spalte Hauptkonto alle Zeilen, in denen Sie oder eine Gruppe, zu der Sie gehören, angegeben sind. Wenden Sie sich an Ihren Administrator, um herauszufinden, zu welchen Gruppen Sie gehören.

    4. Prüfen Sie in allen Zeilen, in denen Sie angegeben sind oder die Sie enthalten, in der Spalte Rolle , ob die Liste der Rollen die erforderlichen Rollen enthält.

    Rollen zuweisen

    1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

      IAM aufrufen
    2. Wählen Sie das Projekt aus.
    3. Klicken Sie auf „“ Zugriffsrechte erteilen.
    4. Geben Sie im Feld Neue Hauptkonten Ihre Nutzer-ID ein. Das ist in der Regel die E‑Mail-Adresse eines Google-Kontos.

    5. Klicken Sie auf Rolle auswählen und suchen Sie nach der Rolle.
    6. Klicken Sie auf Add another role, wenn Sie weitere Rollen zuweisen möchten.
    7. Klicken Sie auf Speichern.

Einheit mit Variablen für das Mandantenprojekt bereitstellen

Stellen Sie in Ihrem Producer-Projekt eine neue Einheit mit den Eingabevariablen Ihres Mandantenprojekts bereit:

  1. Rufen Sie die Projektauswahl auf.

    Zur Projektauswahl

  2. Klicken Sie auf Projekt auswählen.

  3. Wählen Sie Ihr Producer-Projekt aus.

  4. Rufen Sie in der Google Cloud Console App Lifecycle Manager > Einheiten auf.

    Zu „Einheiten“

  5. Wählen Sie die Ressource vm-quickstart-unit aus.

  6. Klicken Sie auf Bereitstellen.

  7. Wählen Sie die Ressource vm-quickstart-tenant-release aus.

  8. Wählen Sie das Dienstkonto zum Starten aus, dem Sie Berechtigungen im Mandantenprojekt gewährt haben.

  9. Im Abschnitt Eingabevariablen:

    • Die Variable tenant_project_id wird so aufgeführt, wie Sie sie in variables.tf definiert haben.
    • Geben Sie im Feld Mandantenprojekt-ID quickstart-tenant-project ein.
  10. Klicken Sie auf Bereitstellen.

App Lifecycle Manager löst mit dem angegebenen Dienstkonto zum Starten Infrastructure Manager 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.

  1. Wechseln Sie in der Google Cloud -Console zur Seite Ressourcen verwalten.

    Zu „Ressourcen verwalten“

  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie an der Eingabeaufforderung die Projekt-ID ein und klicken Sie auf Beenden.

Nächste Schritte