Instanz mit Zugriff über Nutzeranmeldedaten erstellen

Auf dieser Seite wird beschrieben, wie Sie eine Vertex AI Workbench-Instanz erstellen, die über Ihre Nutzeranmeldedaten auf Google Cloud-Dienste und ‑APIs zugreift.

Ihre Nutzeranmeldedaten sind die Anmeldedaten, die mit Ihrem Google-Konto verknüpft sind. Ihre Nutzeranmeldedaten bestimmen, auf welche Google Cloud-Dienste und ‑APIs Ihr Google-Konto Zugriff hat.

Wenn Sie Code in einer Vertex AI Workbench-Instanz ausführen, kann Ihre Instanz standardmäßig mithilfe der Anmeldedaten, die mit dem Dienstkonto Ihrer Instanz verknüpft sind, auf Google Cloud-Dienste und ‑APIs zugreifen. Das bedeutet, dass Ihre Instanz denselben Zugriff auf Google Cloud hat wie das Dienstkonto.

Auf dieser Seite wird beschrieben, wie Sie eine Instanz erstellen und konfigurieren, damit sie denselben Zugriff auf Google Cloud hat wie Ihre Nutzeranmeldedaten.

Übersicht

Vertex AI Workbench unterstützt den Zugriff über Nutzeranmeldedaten nicht direkt. Sie können jedoch eine Instanz so konfigurieren, dass Nutzer über ihre Anmeldedaten auf Google Cloud-Dienste und ‑APIs zugreifen können.

Auf dieser Seite wird beschrieben, wie Sie eine Instanz mit Nutzeranmeldedaten konfigurieren und authentifizieren:

  1. Erstellen Sie ein Dienstkonto mit eingeschränkten Berechtigungen. Dieses Dienstkonto hat keinen Zugriff auf Google Cloud, mit Ausnahme des spezifischen Zugriffs, der für die Funktion der Instanz erforderlich ist.

  2. Erstellen Sie eine Instanz mit den folgenden Spezifikationen:

    • Zugriff für einzelnen Nutzer Dadurch wird der Zugriff auf JupyterLab auf den von Ihnen angegebenen Nutzer beschränkt.

    • SSH-Zugriff deaktiviert: Der SSH-Zugriff auf Ihre Instanz wird standardmäßig über OS Login verwaltet. Wenn Sie den SSH-Zugriff deaktivieren, wird der Zugriff von Nutzern verhindert, die möglicherweise SSH-Zugriff auf die zugrunde liegende Compute Engine-VM haben.

    • Dem Dienstkonto mit eingeschränkten Berechtigungen zugewiesen Standardmäßig ist das Inhaber eines neuen Containers ein Dienstkonto. Es kann auf alle Google Cloud-Dienste und ‑APIs zugreifen, auf die das Dienstkonto Zugriff hat. Wenn Sie ein Dienstkonto mit eingeschränkten Berechtigungen angeben, wird unerwarteter Zugriff auf Google Cloud-Dienste und ‑APIs verhindert. So können Sie einen Zugriff einrichten, der durch Ihre Nutzeranmeldedaten gesteuert wird.

  3. Authentifizieren Sie die Instanz mit Ihren Nutzeranmeldedaten. Nachdem die Instanz ausgeführt wird, geben Sie Ihre Nutzeranmeldedaten als Standardanmeldedaten für Anwendungen an. ADC authentifiziert Ihre Nutzeranmeldedaten bei Google Cloud-Diensten und ‑APIs. Dadurch hat Ihre Vertex AI Workbench-Instanz denselben Zugriff auf Google Cloud wie Ihre Nutzeranmeldedaten.

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

Erforderliche Rollen

Um sicherzustellen, dass Ihr Nutzerkonto über die erforderlichen Berechtigungen zum Erstellen einer Vertex AI Workbench-Instanz verfügt, bitten Sie Ihren Administrator, Ihrem Nutzerkonto die IAM-Rolle Notebooks-Runner (roles/notebooks.runner) für das Projekt zu gewähren. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Ihr Administrator kann Ihrem Nutzerkonto möglicherweise auch die erforderlichen Berechtigungen über benutzerdefinierte Rollen oder andere vordefinierte Rollen erteilen.

Dienstkonto vorbereiten

Für eine Vertex AI Workbench-Instanz ist ein Dienstkonto erforderlich, um eine Compute Engine-VM-Instanz zu erstellen, auf der der JupyterLab-Server gehostet wird. Dieses Dienstkonto verwaltet auch die erforderlichen Protokollierungsaktivitäten.

Sie müssen ein Dienstkonto mit den folgenden Berechtigungen einrichten:

  • logging.logEntries.create
  • logging.logEntries.route
  • monitoring.metricDescriptors.create
  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.monitoredResourceDescriptors.get
  • monitoring.monitoredResourceDescriptors.list
  • monitoring.timeSeries.create

Informationen zum Erstellen eines Dienstkontos finden Sie unter Dienstkonten erstellen.

Informationen zum Ändern eines vorhandenen Dienstkontos finden Sie unter Dienstkonten auflisten und bearbeiten.

Instanz für einen einzelnen Nutzer erstellen

Sie können eine Vertex AI Workbench-Instanz mit der Google Cloud Console oder der Google Cloud CLI erstellen.

Console

So erstellen Sie eine Vertex AI Workbench-Instanz:

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

    Zur Seite „VM-Instanzen“

  2. Klicken Sie auf  NEU ERSTELLEN.

  3. Klicken Sie im Dialogfeld Neue Instanz auf Erweiterte Optionen.

  4. Geben Sie im Dialogfeld Instanz erstellen im Abschnitt Details die folgenden Informationen für Ihre neue Instanz ein:

    • Notebookname: Geben Sie einen Namen für Ihre neue Instanz ein. Der Name muss mit einem Buchstaben beginnen, gefolgt von bis zu 62 Kleinbuchstaben, Ziffern oder Bindestrichen (-), und darf nicht mit einem Bindestrich enden.
    • Region und Zone: Wählen Sie eine Region und eine Zone für die neue Instanz aus. Wählen Sie für eine optimale Netzwerkleistung die Region aus, die Ihnen geografisch am nächsten liegt. Verfügbare Vertex AI Workbench-Standorte
  5. So deaktivieren Sie den SSH-Zugriff:

    1. Klicken Sie im Bereich Umgebung unter Metadaten auf  Metadaten hinzufügen.

    2. Geben Sie für Schlüssel 1 disable-ssh ein.

    3. Für Wert 1 geben Sie true ein.

  6. Wählen Sie im Abschnitt IAM und Sicherheit die Option Einzelner Nutzer aus und geben Sie dann im Feld E-Mail-Adresse des Nutzers das Nutzerkonto ein, dem Sie Zugriff gewähren möchten. Wenn der angegebene Nutzer nicht der Ersteller der Instanz ist, müssen Sie ihm die Rolle Service Account User (roles/iam.serviceAccountUser) für das Dienstkonto der Instanz zuweisen.

  7. Entfernen Sie das Häkchen aus dem Kästchen Compute Engine-Standarddienstkonto verwenden und geben Sie dann die E-Mail-Adresse des Dienstkontos ein, das Sie zuvor in diesem Leitfaden vorbereitet haben. Wenn Sie noch kein Dienstkonto vorbereitet haben, lesen Sie den Hilfeartikel Dienstkonto vorbereiten.

  8. Schließen Sie den Rest des Dialogfelds zur Instanzerstellung ab und klicken Sie dann auf Erstellen.

    Vertex AI Workbench erstellt eine Instanz und startet sie automatisch. Sobald die Instanz einsatzbereit ist, aktiviert Vertex AI Workbench den Link JupyterLab öffnen.

gcloud

Ersetzen Sie folgende Werte, bevor sie einen der Befehlsdaten verwenden:

  • INSTANCE_NAME: der Name Ihrer Vertex AI Workbench-Instanz; muss mit einem Buchstaben beginnen, gefolgt von bis zu 62 Kleinbuchstaben, Ziffern oder Bindestrichen (-) und darf nicht mit einem Bindestrich enden
  • PROJECT_ID: Ihre Projekt-ID.
  • LOCATION: die Zone, in der sich Ihre Instanz befinden soll
  • VM_IMAGE_PROJECT: Die ID des Google Cloud-Projekts, zu dem das VM-Image gehört, im Format: projects/IMAGE_PROJECT_ID
  • VM_IMAGE_NAME: Der vollständige Image-Name. Um den Image-Namen einer bestimmten Version zu finden, siehe Spezifische Version finden
  • MACHINE_TYPE: Der Maschinentyp der VM-Instanz.
  • METADATA: Benutzerdefinierte Metadaten, die auf diese Instanz angewendet werden sollen. Wenn Sie beispielsweise SSH deaktivieren möchten, können Sie das Metadaten-Tag disable-ssh im folgenden Format verwenden: "--metadata=disable-ssh=true"
  • SERVICE_ACCOUNT: die E-Mail-Adresse des Dienstkontos, das für die Instanz verwendet werden soll
  • OWNER: Die E-Mail-Adresse des Kontos des einzelnen Nutzers, der auf die Instanz zugreifen kann. Es wird nur ein Nutzer unterstützt.

Führen Sie folgenden Befehl aus:

Linux, macOS oder Cloud Shell

gcloud workbench instances create INSTANCE_NAME \
    --project=PROJECT_ID \
    --location=LOCATION \
    --vm-image-project=VM_IMAGE_PROJECT \
    --vm-image-name=VM_IMAGE_NAME \
    --machine-type=MACHINE_TYPE \
    --metadata=METADATA \
    --service-account-email=SERVICE_ACCOUNT
    --instance-owners=OWNER

Windows (PowerShell)

gcloud workbench instances create INSTANCE_NAME `
    --project=PROJECT_ID `
    --location=LOCATION `
    --vm-image-project=VM_IMAGE_PROJECT `
    --vm-image-name=VM_IMAGE_NAME `
    --machine-type=MACHINE_TYPE `
    --metadata=METADATA `
    --service-account-email=SERVICE_ACCOUNT
    --instance-owners=OWNER

Windows (cmd.exe)

gcloud workbench instances create INSTANCE_NAME ^
    --project=PROJECT_ID ^
    --location=LOCATION ^
    --vm-image-project=VM_IMAGE_PROJECT ^
    --vm-image-name=VM_IMAGE_NAME ^
    --machine-type=MACHINE_TYPE ^
    --metadata=METADATA ^
    --service-account-email=SERVICE_ACCOUNT
    --instance-owners=OWNER

Weitere Informationen zum Befehl zum Erstellen einer Instanz über die Befehlszeile ausführen, siehe gcloud CLI Dokumentation.

Vertex AI Workbench erstellt eine Instanz und startet sie automatisch. Sobald die Instanz einsatzbereit ist, aktiviert Vertex AI Workbench den Link JupyterLab öffnen in der Google Cloud Console.

Instanz mit Ihren Nutzeranmeldedaten authentifizieren

Vertex AI Workbench kann Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) verwenden, um Ihre Nutzeranmeldedaten bei Google Cloud-Diensten und ‑APIs zu authentifizieren. In diesem Abschnitt wird beschrieben, wie Sie Ihre Nutzeranmeldedaten an ADC weitergeben.

Die Authentifizierungsschritte hängen davon ab, ob Sie ein Google-Konto oder Anmeldedaten eines Drittanbieters verwenden.

Google-Konto

Sobald Sie auf JupyterLab in Ihrer Instanz zugreifen können, gehen Sie so vor:

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

    Zur Seite „VM-Instanzen“

  2. Klicken Sie neben dem Namen Ihrer Instanz auf JupyterLab öffnen.

  3. Wählen Sie in JupyterLab Datei > Neu > Terminal aus.

  4. Führen Sie im Terminalfenster Folgendes aus:

    gcloud auth login
  5. Geben Sie Y ein.

  6. Folgen Sie der Anleitung, um einen Bestätigungscode zu kopieren und in das Terminal einzugeben.

Anmeldedaten von Drittanbietern

Wenn Sie eine Instanz mit Anmeldedaten eines Drittanbieters erstellt haben, gehen Sie so vor, sobald der JupyterLab-Proxy verfügbar ist:

  1. Öffnen Sie JupyterLab mit dem föderierten JupyterLab-Proxy.

  2. Wählen Sie in JupyterLab Datei > Neu > Terminal aus.

  3. Erstellen Sie eine Anmeldedatendatei für die Workforce Identity-Föderation mit headless-Anmeldung.

  4. Führen Sie im Terminalfenster Folgendes aus:

    gcloud auth login --cred-file="CREDENTIAL_FILE"

    Ersetzen Sie CREDENTIAL_FILE durch den Pfad und den Namen der von Ihnen erstellten Anmeldedatendatei.

  5. Folgen Sie der Anleitung, um sich über das Authentifizierungsportal des Drittanbieters zu authentifizieren.

  6. Prüfen Sie mit dem folgenden Befehl, ob über Ihre Instanz auf Ihre Anmeldedaten zugegriffen werden kann:

    gcloud auth list

Beschränkungen

  • Wenn Sie eine verwaltete Notebook-Instanz zu Vertex AI Workbench-Instanzen migrieren, wird der nutzerbasierte Zugriff der ursprünglichen Instanz nicht beibehalten. Sie müssen die migrierte Instanz konfigurieren und die Nutzeranmeldedaten wie in diesem Leitfaden beschrieben authentifizieren.