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.
.
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
- 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.
-
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. Nella console Google Cloud , vai alla pagina Istanze.
Fai clic su
Crea nuovo.Nella finestra di dialogo Nuova istanza, fai clic su Opzioni avanzate.
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.
Nella sezione IAM e sicurezza, seleziona Utente singolo.
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.Seleziona Abilita credenziali utente finale gestite.
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 .
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 .
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
Nella console Google Cloud , vai alla pagina Istanze.
Accanto al nome dell'istanza, fai clic su Apri JupyterLab.
In JupyterLab, seleziona File > Nuovo > Terminale.
Nella finestra del terminale, esegui questo comando:
gcloud auth login
Inserisci
Y
.Segui le istruzioni per copiare un codice di verifica e inserirlo nel terminale.
Apri JupyterLab utilizzando il proxy JupyterLab federato.
In JupyterLab, seleziona File > Nuovo > Terminale.
Crea un file delle credenziali della federazione delle identità per la forza lavoro con accesso headless.
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.
Segui le istruzioni per l'autenticazione tramite il portale di autenticazione di terze parti.
Verifica che le credenziali siano accessibili tramite l'istanza utilizzando questo comando:
gcloud auth list
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:
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:
Credenziali di terze parti
Se hai creato un'istanza con credenziali di terze parti, dopo che il proxy JupyterLab è disponibile, procedi nel seguente modo: