Hostprojekt einrichten (Legacy)

In diesem Dokument wird beschrieben, wie Sie ein Hostprojekt in App Hub einrichten und eine Grenze für mehrere Projekte erstellen.

Das Hostprojekt ist ein Legacy-Anwendungseinrichtungsmodell, das für bestehende App Hub-Nutzer unterstützt wird. Wir empfehlen, für neue Implementierungen Grenzen auf Ordnerebene festzulegen indem Sie einen für Anwendungen aktivierten Ordner einrichten. Grenzen auf Ordnerebene bieten Zugriff auf die vollständige Palette an anwendungsbezogenen Google Cloud-Funktionen wie App Design Center und Gemini Cloud Assist. Einen Vergleich der wichtigsten Unterschiede zwischen den verfügbaren Modellen für die Anwendungsverwaltung finden Sie unter Anwendungsmodell auswählen.

Übersicht über Host- und Dienstprojekte

Ein Hostprojekt ist ein Google Cloud Projekt, an das Sie andere Projekte anhängen, die die Dienste und Arbeitslasten enthalten, die Sie als App Hub-Anwendungen gruppieren möchten. Die Projekte, die Sie an das Hostprojekt anhängen, werden als Dienstprojektebezeichnet. Durch das Anhängen des Hostprojekts und der Dienstprojekte wird eine Grenze für mehrere Projekte definiert.

Ein Hostprojekt kann seine eigenen Ressourcen direkt verwalten, indem es an sich selbst angehängt wird. Für eine Einrichtung mit einem einzelnen Projekt empfehlen wir jedoch den Ansatz mit einem einzelnen Projekt .

Hinweis

Bevor Sie ein Google Cloud Projekt als Hostprojekt einrichten und Dienst Projekte daran anhängen, führen Sie die folgenden Schritte aus:

  1. Identifizieren Sie das Google Cloud Projekt, das Sie als Hostprojekt verwenden möchten. Sie können ein vorhandenes Projekt verwenden oder ein neues Projekt erstellen.
  2. Identifizieren Sie die Google Cloud Projekte, die Sie als Dienstprojekte an das Host Projekt anhängen möchten. Sie müssen alle Projekte identifizieren, die die Dienste und Arbeitslasten enthalten, die Sie für App Hub-Anwendungen registrieren möchten. Ressourcen in anderen Projekten sind für App Hub nicht sichtbar. Für Dienstprojekte gelten die folgenden Anforderungen:

    • Dienstprojekte müssen sich in derselben Organisation wie das Hostprojekt befinden.
    • Ein Dienstprojekt kann jeweils nur an ein Hostprojekt angehängt werden.
    • Ein Hostprojekt kann als Dienstprojekt für sich selbst fungieren, um seine eigenen Ressourcen zu verwalten. Sie können es jedoch nicht als Dienstprojekt an ein anderes Hostprojekt anhängen.
    • Wählen Sie ein Hostprojekt und Dienstprojekte aus, die keine Nachfolger von Ordnern sind, die Sie für die Anwendungs verwaltung konfiguriert haben. Durch diese Trennung wird sichergestellt, dass alle Ressourcen in einem Ordner mit demselben Einrichtungstyp verwaltet werden.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die App Hub-Administrator (roles/apphub.admin) IAM-Rolle für das Hostprojekt und für jedes Dienstprojekt zuzuweisen, das Sie anhängen möchten, um die Berechtigungen zu erhalten, die Sie zum Anhängen von Dienstprojekten an das Hostprojekt benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Hostprojekt einrichten

So konfigurieren Sie ein Google Cloud Projekt als Hostprojekt:

Console

  1. Wählen Sie in der Google Cloud Console mit der Projektauswahl Ihr Projekt aus.

  2. Rufen Sie in App Hub die Seite Übersicht auf:

    Zur Übersicht

  3. Klicken Sie auf App Hub einrichten.

  4. Wählen Sie auf der Seite App Hub aktivieren die Option Vollständige Einrichtung aus, um eine Grenze für mehrere Projekte zu erstellen.

  5. Notieren Sie sich den Projektnamen und die Projekt-ID. Diese Informationen identifizieren das Hostprojekt und Sie verwenden diese Werte, um Zugriff zu gewähren.

  6. Prüfen Sie die Liste der aktivierten APIs. Für einige APIs fallen Kosten an. Weitere Informationen zu den Kosten von APIs finden Sie hier Klicken Sie auf die einzelnen APIs, um die zugehörigen Kosten zu sehen.

  7. Klicken Sie auf Weiter.

  8. Prüfen Sie auf dem Tab Grenze definieren die Projektinformationen.

  9. Klicken Sie auf Projekt hinzufügen, um Ihrer Grenze Dienstprojekte hinzuzufügen oder diese später hinzuzufügen.

  10. Klicken Sie auf Weiter.

  11. Wählen Sie auf dem Tab Zugriff gewähren die entsprechenden IAM-Rollen und ‑Berechtigungen für Administratoren im Projekt aus. Eine Liste der empfohlenen anwendungsbezogenen Rollen für verschiedene Google Cloud Produkte finden Sie unter Anwendungsbezogene Rollen für Nutzer zuweisen.

  12. Geben Sie im Feld Neue Hauptkonten die Nutzer, Gruppen oder Dienstkonten ein, die Administratorzugriff auf anwendungsbezogene Aufgaben im Projekt haben sollen.

  13. Klicken Sie auf Rollen zuweisen und dann auf Fertig.

Später können Sie Ihren Prinzipalen auf der Seite IAM zusätzliche IAM-Rollen zuweisen. Weitere Informationen finden Sie unter IAM-Rolle über die Google Cloud Console zuweisen.

gcloud

  1. Aktivieren Sie Cloud Shell in der Google Cloud Console.

    Cloud Shell aktivieren

    Unten in der Google Cloud Console wird eine Cloud Shell Sitzung gestartet und eine Eingabeaufforderung angezeigt. Cloud Shell ist eine Shell-Umgebung in der das Google Cloud CLI bereits installiert ist und Werte für Ihr aktuelles Projekt bereits festgelegt sind. Das Initialisieren der Sitzung kann einige Sekunden dauern.

  2. Prüfen Sie, ob die neueste Version der Google Cloud CLI installiert ist:

    gcloud components update
    
  3. Suchen Sie die Projekt-ID des Google Cloud Projekts, das Sie als Host projekt konfigurieren möchten.

  4. Legen Sie das Hostprojekt als Standardprojekt für Befehle fest:

    gcloud config set project HOST_PROJECT_ID
    

    Ersetzen Sie HOST_PROJECT_ID durch die ID des Projekts, das Sie als Hostprojekt konfigurieren möchten.

  5. Aktivieren Sie die App Hub API im Hostprojekt:

    gcloud services enable apphub.googleapis.com \
        --project=HOST_PROJECT_ID
    

Dienstprojekte hinzufügen

Fügen Sie Ihrer Grenze für die Anwendungsverwaltung hinzu, indem Sie sie an das Hostprojekt anhängen.

So hängen Sie Dienstprojekte an das Hostprojekt an und erstellen eine Grenze für mehrere Projekte:

Console

  1. Wählen Sie in der Google Cloud Console mit der Projektauswahl das Host Projekt aus.

    Zur Begrüßung

  2. Rufen Sie in App Hub die Seite Grenzeinstellungen auf:

    Zu den Grenzeinstellungen

  3. Klicken Sie auf Projekt hinzufügen.

  4. Wählen Sie die Dienstprojekte aus, die Sie an das Hostprojekt anhängen und Ihrer Grenze hinzufügen möchten, und gehen Sie dabei so vor:

    • Wählen Sie in der Liste der Projekte die Kästchen für die Projekte aus, die Sie als Dienstprojekte anhängen möchten.
    • Filtern Sie die Projektnamen und wählen Sie die Kästchen aus.
  5. Klicken Sie auf Auswählen.

    In der Tabelle Projekte in Ihrer Grenze werden die ausgewählten Dienstprojekte angezeigt. Das Anhängen kann einige Zeit dauern.

  6. Prüfen Sie, ob die Liste der Dienstprojekte vollständig ist.

gcloud

  1. Suchen Sie die Projekt-ID jedes Google Cloud Projekts, das Sie als Dienstprojekt konfigurieren möchten.
  2. Hängen Sie jedes Dienstprojekt an:

    gcloud apphub service-projects add SERVICE_PROJECT_ID \
        --project=HOST_PROJECT_ID
    

    Ersetzen Sie Folgendes:

    • SERVICE_PROJECT_ID: die ID des Dienstprojekts, das angehängt werden soll.
    • HOST_PROJECT_ID: die ID des Hostprojekts.
  3. Wiederholen Sie den vorherigen Vorgang für jedes Dienstprojekt, das Sie an das Hostprojekt anhängen möchten.

Terraform

Verwenden Sie die Ressource google_apphub_service_project_attachment, um ein Dienstprojekt mit Terraform an ein Hostprojekt anzuhängen:

resource "google_apphub_service_project_attachment" "example" {
    service_project_attachment_id = google_project.service_project.project_id
    depends_on = [time_sleep.wait_120s]
}

resource "google_project" "service_project" {
    project_id ="project-1"
    name = "Service Project"
    org_id = "123456789"
    deletion_policy = "DELETE"
}

resource "time_sleep" "wait_120s" {
    depends_on = [google_project.service_project]

    create_duration = "120s"
}

Informationen zum Trennen eines Dienstprojekts von einem Hostprojekt finden Sie unter Dienstprojekte entfernen.

App Hub-Rollen und ‑Berechtigungen zuweisen

So weisen Sie App Hub-Rollen und ‑Berechtigungen den App Hub-Nutzern im Hostprojekt und in den Dienstprojekten zu:

Console

  1. Wählen Sie in der Google Cloud Console mit der Projektauswahl das Host Projekt aus.

    Zur Begrüßung

  2. Rufen Sie die Seite IAM auf:

    IAM aufrufen

  3. Klicken Sie auf Zugriff gewähren. Der Bereich Zugriff gewähren wird geöffnet.

  4. Geben Sie im Feld Neue Prinzipalen die E-Mail-Adresse des Prinzipals ein, dem Sie Zugriff auf App Hub gewähren möchten.

  5. Klicken Sie auf Rolle auswählen und geben Sie im Feld Filter App Hub ein.

  6. Wählen Sie die App Hub-IAM-Rolle aus, die Sie dem Hauptkonto zuweisen möchten, und klicken Sie auf Speichern.

  7. Wiederholen Sie den vorherigen Vorgang in jedem der App Hub-Dienstprojekte, die Sie an das Hostprojekt angehängt haben, um denselben Nutzern dieselben Rollen zuzuweisen.

gcloud

  1. Suchen Sie die Projekt-ID jedes Google Cloud Projekts, das Sie als Host- und Dienstprojekt konfiguriert haben.

  2. Gewähren Sie Prinzipalen im Hostprojekt Zugriff:

    gcloud projects add-iam-policy-binding HOST_PROJECT_ID \
        --member='user:EMAIL_ADDRESS' \
        --role='ROLE_NAME'
    

    Ersetzen Sie Folgendes:

    • HOST_PROJECT_ID: die ID des Hostprojekts.
    • EMAIL_ADDRESS: die E-Mail-Adresse des Hauptkontos, das Zugriff auf App Hub im Hostprojekt erhalten muss. Dieser Wert muss das Format username@yourdomain haben, z. B. my.user@example.com.
    • ROLE_NAME: die App Hub-IAM-Rolle die Sie dem Hauptkonto zuweisen möchten, z. B. roles/apphub.admin.
  3. Weisen Sie in jedem der App Hub-Dienstprojekte, die Sie an das Hostprojekt angehängt haben, denselben Nutzern dieselben Rollen zu:

    gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \
        --member='user:EMAIL_ADDRESS' \
        --role='ROLE_NAME'
    

    Ersetzen Sie SERVICE_PROJECT_ID durch die ID des Dienstprojekts, für das Sie Zugriff gewähren.

VPC Service Controls einrichten

Wenn Sie Ihre Anwendungen mit einem VPC Service Controls-Perimeter schützen möchten, fügen Sie dem Perimeter Ihr App Hub-Hostprojekt und Ihre Dienstprojekte hinzu, bevor Sie Ihre Anwendungen erstellen. Weitere Informationen finden Sie unter VPC Service Controls mit App Hub verwenden.

Optional: Messwertbereich konfigurieren

Wenn Sie Systemmesswerte für Anwendungen in Ihrem Hostprojekt in Cloud Monitoring aufrufen möchten, fügen Sie die angehängten Dienstprojekte dem Messwertbereich des Hostprojekts hinzu. Das Hostprojekt dient als Scoping-Projekt für Zeitreihendaten und ermöglicht die Erstellung von Diagrammen und die Überwachung von Daten. Weitere Informationen und Konfigurationsanleitungen finden Sie unter Messwertbereich konfigurieren und Messwertbereich mithilfe der API konfigurieren.

Dienstprojekte entfernen

Entfernen Sie Dienstprojekte aus Ihrer Grenze für die Anwendungsverwaltung indem Sie sie vom Hostprojekt trennen.

So trennen Sie ein Dienstprojekt von einem Hostprojekt:

Console

  1. Wählen Sie in der Google Cloud Console mit der Projektauswahl das Host Projekt aus.

    Zur Begrüßung

  2. Rufen Sie in App Hub die Seite Grenzeinstellungen auf:

    Zu den Grenzeinstellungen

  3. Wählen Sie die Kästchen der Dienstprojekte aus, die Sie vom Hostprojekt trennen und aus Ihrer Grenze entfernen möchten.

  4. Klicken Sie auf Projekte trennen.

    Die Tabelle Projekte in Ihrer Grenze wird aktualisiert und zeigt nur die Projekte an, die weiterhin an das Hostprojekt angehängt sind.

  5. Prüfen Sie, ob die Liste der Dienstprojekte aktualisiert wurde.

gcloud

  1. Suchen Sie die Projekt-ID jedes Dienstprojekts, das Sie aus dem Host Projekt entfernen möchten.
  2. Entfernen Sie jedes Dienstprojekt:

    gcloud apphub service-projects remove SERVICE_PROJECT_ID \
        --project=HOST_PROJECT_ID
    

    Ersetzen Sie Folgendes:

    • SERVICE_PROJECT_ID: die ID des Dienstprojekts, das entfernt werden soll.
    • HOST_PROJECT_ID: die ID des Hostprojekts.
  3. Wiederholen Sie den vorherigen Vorgang für jedes Dienstprojekt, das Sie aus dem Hostprojekt entfernen möchten.

Wenn Sie ein Dienstprojekt aus einem Hostprojekt entfernen, sollten Sie es auch aus dem Messwertbereich des Hostprojekts entfernen, falls Sie den Messwertbereich zuvor konfiguriert haben. Weitere Informationen finden Sie unter Projekte aus einem Messwertbereich entfernen.

Nächste Schritte