Creare un'istanza con accesso alle credenziali utente

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

Le credenziali utente sono le credenziali associate al tuo Account Google. Le 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 Google Cloud a servizi e API utilizzando le credenziali associate all'account di servizio della tua istanza. Ciò significa che l'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 non supporta direttamente l'accesso con le credenziali utente, ma puoi comunque configurare un'istanza in modo che abbia accesso Google Cloud a servizi e API Google Cloud in base alle credenziali utente.

Questa pagina descrive come configurare e autenticare un'istanza basata sulle credenziali utente seguendo questi passaggi:

  1. Prepara un account di servizio con autorizzazioni limitate. Questo account di servizio non potrà accedere a Google Cloud, ad eccezione dell'accesso specifico necessario per il funzionamento dell'istanza.

  2. Crea un'istanza con le seguenti specifiche:

    • Accesso a un solo utente. In questo modo, l'accesso a JupyterLab viene limitato solo all'utente specificato.

    • Accesso SSH disattivato. L'accesso SSH all'istanza viene gestito tramite OS Login per impostazione predefinita. La disattivazione dell'accesso SSH impedisce l'accesso da parte di utenti che potrebbero avere accesso SSH alla VM Compute Engine sottostante.

    • Di proprietà del tuo account di servizio con autorizzazioni limitate. Per impostazione predefinita, una nuova istanza è di proprietà di un account di servizio e può accedere a qualsiasi Google Cloud servizio e API a cui ha accesso l'account di servizio. La specifica dell'account di servizio con autorizzazioni limitate impedisce l'accesso imprevisto a Google Cloud servizi e API in modo da poter configurare l'accesso controllato dalle tue credenziali utente.

  3. Autenticare l'istanza con le tue credenziali utente. Una volta avviata l'istanza, fornisci le tue credenziali utente alle credenziali predefinite dell'applicazione (ADC). ADC autentica le tue credenziali utente per Google Cloud servizi e API. In questo modo, l'istanza di Vertex AI Workbench avrà lo stesso accesso a Google Cloud delle tue credenziali utente.

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.

    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

Ruoli obbligatori

Per assicurarti che il tuo account utente disponga delle autorizzazioni necessarie per creare un'istanza di Vertex AI Workbench, chiedi all'amministratore di concedere al tuo account utente il ruolo IAM Runner di notebook (roles/notebooks.runner) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

L'amministratore potrebbe anche assegnare al tuo account utente le autorizzazioni richieste tramite ruoli personalizzati o altri ruoli predefiniti.

Preparare un account di servizio

Un'istanza di Vertex AI Workbench richiede un account di servizio per creare un'istanza VM Compute Engine che ospiti il server JupyterLab. Questo account di servizio gestisce anche le attività di registrazione richieste.

Devi preparare un account di servizio con solo le seguenti autorizzazioni:

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

Per creare un account di servizio, consulta Creare account di servizio.

Per modificare un account di servizio esistente, consulta Elenca e modifica gli account di servizio.

Creare un'istanza con un solo utente

Puoi creare un'istanza di Vertex AI Workbench utilizzando la console Google Cloud o Google Cloud CLI.

Console

Per creare un'istanza di Vertex AI Workbench:

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

    Vai a Istanze

  2. Fai clic su  Crea nuova.

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

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

    • Nome: inserisci 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 della rete, seleziona la regione geograficamente più vicina a te. Consulta le località di Vertex AI Workbench disponibili.
  5. Per disattivare l'accesso SSH:

    1. Nella sezione Ambiente, in Metadati, fai clic su  Aggiungi metadati.

    2. In Tasto 1, inserisci disable-ssh.

    3. In Valore 1, inserisci true.

  6. Nella sezione IAM e sicurezza, seleziona Singolo utente e poi, 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. Deseleziona Utilizza l'account di servizio Compute Engine predefinito, quindi inserisci l'indirizzo email dell'account di servizio che hai preparato in precedenza in questa guida. Se non hai ancora preparato un account di servizio, consulta Preparare un account di servizio.

  8. Completa la parte rimanente 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.

gcloud

Prima di utilizzare i dati dei comandi riportati di seguito, effettua le seguenti sostituzioni:

  • INSTANCE_NAME: il nome dell'istanza di Vertex AI Workbench; deve iniziare con una lettera seguita da un massimo di 62 lettere minuscole, numeri o trattini (-) e non può terminare con un trattino
  • PROJECT_ID: il tuo ID progetto
  • LOCATION: la zona in cui vuoi che si trovi l'istanza
  • VM_IMAGE_PROJECT: l'ID del Google Cloud progetto a cui appartiene l'immagine VM, nel formato: projects/IMAGE_PROJECT_ID
  • VM_IMAGE_NAME: il nome completo dell'immagine. Per trovare il nome dell'immagine di una versione specifica, consulta Trovare la versione specifica
  • MACHINE_TYPE: il tipo di macchina della VM della tua istanza
  • METADATA: metadati personalizzati da applicare a questa istanza. Ad esempio, per disattivare SSH puoi utilizzare il tag dei metadati disable-ssh nel formato: "--metadata=disable-ssh=true"
  • SERVICE_ACCOUNT: l'indirizzo email dell'account di servizio da utilizzare per l'istanza
  • OWNER: l'indirizzo email dell'account del singolo utente che può accedere all'istanza. È supportato un solo utente

Esegui il seguente comando:

Linux, macOS o 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

Per ulteriori informazioni sul comando per la creazione di un'istanza dalla riga di comando, consulta la documentazione della riga di comando gcloud.

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.

Autentica l'istanza con le tue credenziali utente

Vertex AI Workbench può utilizzare le credenziali predefinite dell'applicazione (ADC) per autenticare le credenziali utente per i servizi e le API. Google Cloud Questa sezione descrive come fornire le credenziali utente ad ADC.

I passaggi di autenticazione dipendono dal fatto che tu stia utilizzando un Account Google o le credenziali di terze parti.

Account Google

Dopo aver eseguito l'accesso a JupyterLab sulla tua istanza, svolgi i seguenti passaggi:

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

    Vai a Istanze

  2. Fai clic su Apri JupyterLab accanto al nome dell'istanza.

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

  4. Nella finestra del terminale, esegui quanto segue:

    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 credenze di terze parti, dopo che il proxy JupyterLab è disponibile, segui questi passaggi:

  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à della forza lavoro con accesso headless.

  4. Nella finestra del terminale, esegui quanto segue:

    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 autenticarti tramite il portale di autenticazione di terze parti.

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

    gcloud auth list

Limitazioni

  • La migrazione di un'istanza di notebook gestiti alle istanze di Vertex AI Workbench non conserva l'accesso basato sulle credenziali utente dell'istanza originale. Devi configurare l'istanza di cui è stata eseguita la migrazione e autenticare le credenziali utente come descritto in questa guida.