Crea un'istanza con accesso alle credenziali utente

Questa pagina descrive come creare un'istanza di Vertex AI Workbench che accede Google Cloud a servizi e API tramite le tue credenziali utente.

Le credenziali utente sono quelle associate al tuo Account Google. Le tue credenziali utente determinano a quali Google Cloud servizi e API ha accesso il tuo Account Google.

Per impostazione predefinita, quando esegui il codice in un'istanza di Vertex AI Workbench, la tua istanza può accedere ai servizi e alle API Google Cloud utilizzando le credenziali associate aaccount di serviziont dell'istanza. Ciò significa che la tua istanza ha lo stesso accesso a Google Cloud dell'account di servizio.

Questa pagina descrive come creare e configurare un'istanza in modo che abbia lo stesso accesso a Google Cloud delle tue credenziali utente.

Panoramica

Vertex AI Workbench utilizza un client OAuth gestito da Google globale per gestire l'accesso alle credenziali utente, con ambito per le risorse Google Cloud nel progetto dell'utente. Gli utenti devono concedere il consenso al client OAuth per gestire le proprie credenziali per ogni istanza di Vertex AI Workbench. Questa operazione viene eseguita una sola volta per istanza tramite una finestra di dialogo che si apre quando fai clic sul pulsante Apri JupyterLab nella console Google Cloud .

Il account di servizio utilizzato per creare l'istanza di Vertex AI Workbench è il seguente service agent:

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

Questo service agent fornisce autorizzazioni limitate per i servizi essenziali, ad esempio l'esportazione dei log. Gli utenti non possono specificare un account di servizio diverso se la funzionalità delle credenziali dell'utente finale è attivata.

Le istanze con le credenziali utente finale abilitate hanno l'etichetta Compute Engine notebooks-managed-euc: true e la chiave di metadati euc-enabled: true collegata alla risorsa VM per indicare l'attivazione della funzionalità.

Limitazioni

Quando pianifichi il progetto, tieni presente le seguenti limitazioni:

  • Vertex AI Workbench utilizza un client OAuth globale gestito da Google per gestire l'accesso alle credenziali utente. Le organizzazioni non possono attivare controlli granulari, accedere al client OAuth o utilizzare la registrazione per verificare l'utilizzo del client OAuth.

  • Per proteggere la sicurezza delle istanze Vertex AI Workbench con credenziali utente gestite, gli utenti non possono:

    • Utilizza SSH per accedere all'istanza.
    • Esegui uno script post-avvio.
    • Accedi alla pagina dettagliata della VM.
    • Utilizza un'immagine non creata da Google.
  • L'utilizzo di credenziali di terze parti non è supportato perché il client OAuth supporta solo le credenziali OAuth gestite da Google.

Prima di iniziare

  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.

    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 (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 (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

  8. Ruoli obbligatori

    Per ottenere le autorizzazioni necessarie per creare un'istanza Vertex AI Workbench, chiedi all'amministratore di concederti il ruolo IAM Notebooks Runner (roles/notebooks.runner) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

    Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

    Creare un'istanza per un singolo utente

    Per creare un'istanza di Vertex AI Workbench utilizzando la Google Cloud console, procedi nel seguente modo:

    1. Nella console Google Cloud , vai alla pagina Istanze.

      Vai a Istanze

    2. Fai clic su  Crea nuovo.

    3. Nella finestra di dialogo Nuova istanza, fai clic su Opzioni avanzate.

    4. Nella finestra di dialogo Crea istanza, nella sezione Dettagli, fornisci le seguenti informazioni per la nuova istanza:

      • Nome: fornisci un nome per la nuova istanza. Il nome deve iniziare con una lettera seguita da un massimo di 62 lettere minuscole, numeri o trattini (-) e non può terminare con un trattino.
      • Regione e Zona: seleziona una regione e una zona per la nuova istanza. Per ottenere le migliori prestazioni di rete, seleziona la regione geograficamente più vicina a te. Consulta le posizioni di Vertex AI Workbench disponibili.
    5. Nella sezione IAM e sicurezza, seleziona Utente singolo.

    6. Nel campo Email utente, inserisci l'account utente a cui vuoi concedere l'accesso. Se l'utente specificato non è il creatore dell'istanza, devi concedergli il ruolo Utente account di servizio (roles/iam.serviceAccountUser) nell'account di servizio dell'istanza.

    7. Seleziona Abilita credenziali utente finale gestite.

    8. Completa il resto della finestra di dialogo di creazione dell'istanza e poi fai clic su Crea.

      Vertex AI Workbench crea un'istanza e la avvia automaticamente. Quando l'istanza è pronta per l'uso, Vertex AI Workbench attiva un link Apri JupyterLab nella console Google Cloud .

    9. Gli utenti devono concedere il consenso al client OAuth per gestire le proprie credenziali per ogni istanza di Vertex AI Workbench. Questa operazione viene eseguita una sola volta per istanza. Per concedere il consenso, fai clic su Apri JupyterLab e completa la finestra di dialogo visualizzata.

      Se provi ad accedere all'istanza senza concedere il consenso, JupyterLab mostra un messaggio per l'autenticazione aprendo JupyterLab dalla consoleGoogle Cloud .

    10. Per verificare che le credenziali dell'utente finale siano disponibili in JupyterLab, apri un terminale in JupyterLab e inserisci il seguente comando:

      gcloud auth list

    Autentica l'istanza con le tue credenziali utente

    Vertex AI Workbench può utilizzare le Credenziali predefinite dell'applicazione (ADC) per autenticare le tue credenziali utente per Google Cloud servizi e API. Questa sezione descrive come fornire le credenziali utente ad ADC se una delle limitazioni impedisce l'attivazione delle credenziali gestite.

    I passaggi di autenticazione dipendono dall'utilizzo di un Account Google o di credenziali di terze parti.

    Account Google

    Dopo aver avuto accesso a JupyterLab sulla tua istanza, procedi nel seguente modo:

    1. Nella console Google Cloud , vai alla pagina Istanze.

      Vai a Istanze

    2. Accanto al nome dell'istanza, fai clic su Apri JupyterLab.

    3. In JupyterLab, seleziona File > Nuovo > Terminale.

    4. Nella finestra del terminale, esegui questo comando:

      gcloud auth login
    5. Inserisci Y.

    6. Segui le istruzioni per copiare un codice di verifica e inserirlo nel terminale.

    Credenziali di terze parti

    Se hai creato un'istanza con credenziali di terze parti, dopo che il proxy JupyterLab è disponibile, procedi nel seguente modo:

    1. Apri JupyterLab utilizzando il proxy JupyterLab federato.

    2. In JupyterLab, seleziona File > Nuovo > Terminale.

    3. Crea un file delle credenziali della federazione delle identità per la forza lavoro con accesso headless.

    4. Nella finestra del terminale, esegui questo comando:

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

      Sostituisci CREDENTIAL_FILE con il percorso e il nome del file delle credenziali che hai creato.

    5. Segui le istruzioni per l'autenticazione tramite il portale di autenticazione di terze parti.

    6. Verifica che le credenziali siano accessibili tramite l'istanza utilizzando questo comando:

      gcloud auth list