Instanz mit Zugriff auf Nutzeranmeldedaten erstellen

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

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

Wenn Sie standardmäßig Code in einer Vertex AI Workbench-Instanz ausführen, kann Ihre Instanz auf Google Cloud Dienste und APIs zugreifen, indem sie die Anmeldedaten verwendet, die mit dem Dienstkonto Ihrer Instanz verknüpft sind. 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 verwendet einen globalen von Google verwalteten OAuth-Client um den Zugriff auf Nutzeranmeldedaten zu verwalten, der auf die Google Cloud Ressourcen im Projekt des Nutzers beschränkt ist. Nutzer müssen dem OAuth-Client die Einwilligung erteilen, ihre Anmeldedaten für jede Vertex AI Workbench-Instanz zu verwalten. Dies erfolgt einmal pro Instanz über ein Dialogfeld, das geöffnet wird, wenn Sie in der Console auf die Schaltfläche Google Cloud JupyterLab öffnen klicken.

Das Dienstkonto, das zum Erstellen der Vertex AI Workbench-Instanz verwendet wird, ist der folgende Dienst-Agent:

service-PROJECT_NUMBER@gcp-sa-notebooks-vm.iam.gserviceaccount.com.

Dieser Dienst-Agent bietet eingeschränkte Berechtigungen für wichtige Dienste wie den Export von Logs. Nutzer können kein anderes Dienstkonto angeben, wenn die Funktion für Anmeldedaten von Endnutzern aktiviert ist.

Instanzen, bei denen Anmeldedaten von Endnutzern aktiviert sind, haben das Compute Engine-Label notebooks-managed-euc: true und den Metadatenschlüssel euc-enabled: true, die an die VM-Ressource angehängt sind, um die Aktivierung der Funktion anzugeben.

Instanzen mit Post-Startscripts erstellen

Sie können Post-Startscripts verwenden, um Aktionen auszuführen, nachdem Ihre Instanz gestartet wurde. Wenn Sie Anmeldedaten von Endnutzern in Ihrer Vertex AI Workbench-Instanz aktivieren, sind die Anmeldedaten beim Start nicht verfügbar. Sie sind erst verfügbar, nachdem der Instanzinhaber zum ersten Mal auf die JupyterLab-Oberfläche zugegriffen hat. Aufgrund dieser Verzögerung muss Ihr Skript die Verfügbarkeit der Anmeldedaten abfragen, bevor Befehle ausgeführt werden, für die eine Authentifizierung erforderlich ist. Damit Ihr Skript ausgeführt werden kann, müssen Sie dem Dienstkonto der Instanz die Berechtigung erteilen, die Skriptdatei aus dem Cloud Storage-Speicherort zu lesen. Aus Sicherheitsgründen können Sie den Skriptspeicherort nicht ändern, nachdem die Instanz erstellt wurde.

Die Unterstützung von Post-Startscripts für Instanzen mit Anmeldedaten von Endnutzern ist in der privaten GA-Phase. Informationen zum Zugriff auf diesen Release finden Sie auf der Seite Zugriffsanforderung.

Beschränkungen

Beachten Sie bei der Planung Ihres Projekts die folgenden Einschränkungen:

  • Vertex AI Workbench verwendet einen globalen von Google verwalteten OAuth-Client, um den Zugriff auf Nutzeranmeldedaten zu verwalten. Organisationen können keine detaillierten Kontrollen durchführen, auf den OAuth-Client zugreifen oder die Protokollierung verwenden, um die Verwendung des OAuth-Clients zu prüfen.

  • Um die Sicherheit von Vertex AI Workbench-Instanzen mit verwalteten Nutzeranmeldedaten zu schützen, können Nutzer Folgendes nicht tun:

    • Mit SSH auf die Instanz zugreifen.
    • Ein Compute Engine-Startscript ausführen.
    • Auf die detaillierte VM-Seite zugreifen.
    • Ein Image verwenden, das nicht von Google erstellt wurde.
  • Die Verwendung von Anmeldedaten von Drittanbietern wird nicht unterstützt, da der OAuth-Client nur von Google verwaltete OAuth-Anmeldedaten unterstützt.

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Konto haben, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Google CloudNeukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. 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

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. 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

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Notebooks-Runner (roles/notebooks.runner) für das Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Erstellen einer Vertex AI Workbench-Instanz 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.

Instanz für einen einzelnen Nutzer erstellen

So erstellen Sie eine Vertex AI Workbench-Instanz mit der Google Cloud Console:

  1. Rufen Sie in der Google Cloud Console die Instanzen Seite 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 an:

    • 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 ansehen
  5. Wählen Sie im Abschnitt IAM und Sicherheit die Option Einzelner Nutzer aus.

  6. Geben Sie im Feld Nutzer-E-Mail 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. Wählen Sie Verwaltete Anmeldedaten von Endnutzern aktivieren aus.

  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 in der Google Cloud Console.

  9. Nutzer müssen dem OAuth-Client die Einwilligung erteilen, ihre Anmeldedaten für jede Vertex AI Workbench-Instanz zu verwalten. Dies erfolgt einmal pro Instanz. Klicken Sie zum Erteilen der Einwilligung auf JupyterLab öffnen und füllen Sie das angezeigte Dialogfeld aus.

    Wenn Sie versuchen, auf die Instanz zuzugreifen, ohne die Einwilligung zu erteilen, wird in JupyterLab eine Meldung angezeigt, in der Sie aufgefordert werden, sich zu authentifizieren, indem Sie JupyterLab über die Google Cloud Console öffnen.

  10. Wenn Sie prüfen möchten, ob Ihre Anmeldedaten von Endnutzern in JupyterLab verfügbar sind, öffnen Sie ein Terminal in JupyterLab und geben Sie den folgenden Befehl ein:

    gcloud auth list

Instanz mit Ihren Nutzeranmeldedaten authentifizieren

Vertex AI Workbench kann Standardanmeldedaten für Anwendungen (Application Default Credentials, ADC) verwenden, um Ihre Nutzeranmeldedaten für Google Cloud Dienste und APIs zu authentifizieren. In diesem Abschnitt wird beschrieben, wie Sie Ihre Nutzeranmeldedaten für ADC angeben, wenn Sie aufgrund von Einschränkungen keine verwalteten Anmeldedaten aktivieren können.

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

Google-Konto

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

  1. Rufen Sie in der Google Cloud Console die Instanzen Seite 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 von Drittanbietern erstellt haben, gehen Sie nach der Verfügbarkeit des JupyterLab-Proxys so vor:

  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 Workload Identity-Föderation mit der 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 Anmeldedatendatei, die Sie erstellt haben.

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

  6. Prüfen Sie mit dem folgenden Befehl, ob Ihre Anmeldedaten über Ihre Instanz zugänglich sind:

    gcloud auth list