Créer une instance avec un accès par identifiants utilisateur
Cette page explique comment créer une instance Vertex AI Workbench qui accède aux services et aux API Google Cloud via vos identifiants utilisateur.
Vos identifiants utilisateur sont les identifiants associés à votre compte Google. Vos identifiants utilisateur déterminent les Google Cloud services et API auxquels votre compte Google a accès.
Par défaut, lorsque vous exécutez du code dans une instance Vertex AI Workbench, votre instance peut accéder aux services et aux API Google Cloud à l'aide des identifiants associés au compte de service de votre instance. Cela signifie que votre instance dispose du même accès à Google Cloud que le compte de service.
Cette page explique comment créer et configurer une instance afin qu'elle dispose des mêmes droits d'accès à Google Cloud que vos identifiants utilisateur.
Présentation
Vertex AI Workbench n'est pas compatible directement avec l'accès aux identifiants utilisateur, mais vous pouvez toujours configurer une instance pour qu'elle dispose d'un accès basé sur les identifiants utilisateur aux services et aux API Google Cloud .
Cette page explique comment configurer et authentifier une instance basée sur des identifiants utilisateur en procédant comme suit:
Configurez un compte de service avec des autorisations limitées. Ce compte de service ne pourra pas accéder à Google Cloud, sauf pour l'accès spécifique requis pour le bon fonctionnement de l'instance.
Créez une instance avec les spécifications suivantes:
Accès à un seul utilisateur. Cela limite l'accès à JupyterLab à l'utilisateur que vous spécifiez.
Accès SSH désactivé : l'accès SSH à votre instance est géré par OS Login par défaut. Désactiver l'accès SSH empêche les utilisateurs qui pourraient avoir un accès SSH à votre VM Compute Engine sous-jacente d'y accéder.
Appartenant à votre compte de service avec des autorisations limitées Par défaut, une nouvelle instance appartient à un compte de service et peut accéder à tous les services et APIGoogle Cloud auxquels le compte de service a accès. Spécifier votre compte de service avec des autorisations limitées empêche tout accès inattendu aux services et aux API afin que vous puissiez configurer un accès contrôlé par vos identifiants utilisateur. Google Cloud
Authentifiez l'instance avec vos identifiants utilisateur. Une fois l'instance en cours d'exécution, vous fournissez vos identifiants utilisateur aux identifiants par défaut de l'application (ADC). L'ADC authentifie vos identifiants utilisateur auprès des services et des API. Google Cloud C'est ce qui donne à votre instance Vertex AI Workbench le même accès à Google Cloud que vos identifiants utilisateur.
Avant de commencer
- 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.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
Rôles requis
Pour vous assurer que votre compte utilisateur dispose des autorisations nécessaires pour créer une instance Vertex AI Workbench, demandez à votre administrateur d'accorder à votre compte utilisateur le rôle IAM Exécuteur de notebooks (roles/notebooks.runner
) sur le projet.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Votre administrateur peut également attribuer à votre compte utilisateur les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Préparer un compte de service
Une instance Vertex AI Workbench nécessite un compte de service pour créer une instance de VM Compute Engine qui héberge le serveur JupyterLab. Ce compte de service gère également les activités de journalisation requises.
Vous devez préparer un compte de service avec les autorisations suivantes uniquement:
logging.logEntries.create
logging.logEntries.route
monitoring.metricDescriptors.create
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.monitoredResourceDescriptors.get
monitoring.monitoredResourceDescriptors.list
monitoring.timeSeries.create
Pour créer un compte de service, consultez la section Créer des comptes de service.
Pour modifier un compte de service existant, consultez la section Lister et modifier les comptes de service.
Créer une instance pour un seul utilisateur
Vous pouvez créer une instance Vertex AI Workbench à l'aide de la console Google Cloud ou de Google Cloud CLI.
Console
Pour créer une instance Vertex AI Workbench, procédez comme suit :
Dans la console Google Cloud, accédez à la page Instances.
Cliquez sur
Créer.Dans la boîte de dialogue Nouvelle instance, cliquez sur Options avancées.
Dans la boîte de dialogue Créer une instance, dans la section Détails, fournissez les informations suivantes pour la nouvelle instance:
- Nom : donnez un nom à la nouvelle instance. Le nom doit commencer par une lettre suivie de 1 à 62 caractères (lettres minuscules, chiffres ou traits d'union). Il ne peut pas se terminer par un trait d'union.
- Région et Zone : sélectionnez une région et une zone pour la nouvelle instance. Pour obtenir les meilleures performances réseau, sélectionnez la région la plus proche de vous géographiquement. Consultez les emplacements Vertex AI Workbench disponibles.
Pour désactiver l'accès SSH:
Dans la section Environnement, sous Métadonnées, cliquez sur
Ajouter des métadonnées.Pour Clé 1, saisissez
disable-ssh
.Pour Valeur 1, saisissez
true
.
Dans la section IAM et sécurité, sélectionnez Un seul utilisateur, puis, dans le champ Adresse e-mail de l'utilisateur, saisissez le compte utilisateur auquel vous souhaitez accorder l'accès. Si l'utilisateur spécifié n'est pas le créateur de l'instance, vous devez lui attribuer le rôle Utilisateur du compte de service (
roles/iam.serviceAccountUser
) sur le compte de service de l'instance.Décochez la case Utiliser le compte de service Compute Engine par défaut, puis saisissez l'adresse e-mail du compte de service que vous avez préparée précédemment dans ce guide. Si vous n'avez pas encore préparé de compte de service, consultez Préparer un compte de service.
Renseignez le reste de la boîte de dialogue de création d'instance, puis cliquez sur Créer.
Vertex AI Workbench crée une instance et la démarre automatiquement. Lorsque l'instance est prête à l'emploi, Vertex AI Workbench active automatiquement un lien Ouvrir JupyterLab.
gcloud
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
-
INSTANCE_NAME
: nom de votre instance Vertex AI Workbench. Doit commencer par une lettre suivie de 62 caractères (lettres minuscules, chiffres ou traits d'union (-)) et ne peut pas se terminer par un trait d'union. PROJECT_ID
: ID de votre projet.LOCATION
: zone dans laquelle vous souhaitez placer votre instance.-
VM_IMAGE_PROJECT
: ID du Google Cloud projet auquel appartient l'image de VM, au format:projects/IMAGE_PROJECT_ID
-
VM_IMAGE_NAME
: nom complet de l'image. Pour trouver le nom d'image d'une version spécifique, consultez la page Rechercher la version spécifique. -
MACHINE_TYPE
: type de machine de la VM de votre instance -
METADATA
: métadonnées personnalisées à appliquer à cette instance. Par exemple, pour désactiver le protocole SSH, vous pouvez utiliser la balise de métadonnéesdisable-ssh
au format :"--metadata=disable-ssh=true"
. -
SERVICE_ACCOUNT
: adresse e-mail du compte de service à utiliser pour l'instance -
OWNER
: adresse e-mail du compte de l'unique utilisateur autorisé à accéder à l'instance. Un seul utilisateur est accepté.
Exécutez la commande suivante :
Linux, macOS ou 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
Pour en savoir plus sur la commande permettant de créer une instance à partir de la ligne de commande, consultez la documentation de gcloud CLI.
Vertex AI Workbench crée une instance et la démarre automatiquement. Lorsque l'instance est prête à l'emploi, Vertex AI Workbench active automatiquement un lien Ouvrir JupyterLab dans la console Google Cloud.
Authentifier l'instance avec vos identifiants utilisateur
Vertex AI Workbench peut utiliser les identifiants par défaut de l'application (ADC) pour authentifier vos identifiants utilisateur auprès des services et des API. Google Cloud Cette section explique comment fournir vos identifiants utilisateur à ADC.
La procédure d'authentification varie selon que vous utilisez un compte Google ou des identifiants tiers.
Compte Google
Une fois que vous pouvez accéder à JupyterLab sur votre instance, procédez comme suit:
Dans la console Google Cloud, accédez à la page Instances.
En regard du nom de l'instance, cliquez sur Ouvrir JupyterLab.
Dans JupyterLab, sélectionnez Fichier > Nouveau > Terminal.
Dans la fenêtre de terminal, exécutez la commande suivante:
gcloud auth login
Saisissez
Y
.Suivez les instructions pour copier un code de validation et le saisir dans le terminal.
Identifiants tiers
Si vous avez créé une instance avec des identifiants tiers, procédez comme suit une fois le proxy JupyterLab disponible:
Ouvrez JupyterLab à l'aide du proxy JupyterLab fédéré.
Dans JupyterLab, sélectionnez Fichier > Nouveau > Terminal.
Créez un fichier d'identifiants pour la fédération d'identité des employés avec la connexion sans tête.
Dans la fenêtre de terminal, exécutez la commande suivante:
gcloud auth login --cred-file="CREDENTIAL_FILE"
Remplacez CREDENTIAL_FILE par le chemin d'accès et le nom du fichier d'identifiants que vous avez créé.
Suivez les instructions pour vous authentifier via le portail d'authentification tiers.
Vérifiez que vos identifiants sont accessibles via votre instance à l'aide de la commande suivante:
gcloud auth list
Limites
- La migration d'une instance de notebooks gérés vers des instances Vertex AI Workbench ne conserve pas l'accès basé sur les identifiants utilisateur de l'instance d'origine. Vous devez configurer l'instance migrée et authentifier les identifiants utilisateur comme décrit dans ce guide.