Créer une instance avec accès aux identifiants utilisateur

Cette page explique comment créer une instance Vertex AI Workbench qui accède aux services et aux API Google Cloud avec vos identifiants utilisateur.

Vos identifiants utilisateur sont ceux associés à votre compte Google. Vos identifiants utilisateur déterminent les services et les API auxquels votre compte Google a accès. Google Cloud

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 en utilisant les 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 pour qu'elle ait le même accès à Google Cloud que vos identifiants utilisateur.

Présentation

Vertex AI Workbench utilise un client OAuth géré par Google au niveau mondial pour gérer l'accès aux identifiants utilisateur, limité aux ressources Google Cloud du projet de l'utilisateur. Les utilisateurs doivent autoriser le client OAuth à gérer leurs identifiants pour chaque instance Vertex AI Workbench. Cette opération est effectuée une seule fois par instance via une boîte de dialogue qui s'ouvre lorsque vous cliquez sur le bouton Ouvrir JupyterLab dans la console Google Cloud .

Le compte de service utilisé pour créer l'instance Vertex AI Workbench est l'agent de service suivant :

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

Cet agent de service fournit des autorisations limitées pour les services essentiels tels que l'exportation de journaux. Les utilisateurs ne peuvent pas spécifier un autre compte de service si la fonctionnalité d'identifiants de l'utilisateur final est activée.

Les instances pour lesquelles les identifiants de l'utilisateur final sont activés comportent le libellé Compute Engine notebooks-managed-euc: true et la clé de métadonnées euc-enabled: true associés à la ressource de VM pour indiquer que la fonctionnalité est activée.

Limites

Tenez compte des limites suivantes lorsque vous planifiez votre projet :

  • Vertex AI Workbench utilise un client OAuth géré par Google au niveau mondial pour gérer l'accès aux identifiants utilisateur. Les organisations ne peuvent pas appliquer de contrôles précis, accéder au client OAuth ni utiliser la journalisation pour vérifier l'utilisation du client OAuth.

  • Pour protéger la sécurité des instances Vertex AI Workbench avec des identifiants utilisateur gérés, les utilisateurs ne peuvent pas :

    • Utilisez SSH pour accéder à l'instance.
    • Exécutez un script post-démarrage.
    • Accédez à la page d'informations détaillées sur la VM.
    • Utilisez une image qui n'a pas été créée par Google.
  • L'utilisation d'identifiants tiers n'est pas prise en charge, car le client OAuth n'accepte que les identifiants OAuth gérés par Google.

Avant de commencer

  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. Verify 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. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

  8. Rôles requis

    Pour obtenir les autorisations nécessaires pour créer une instance Vertex AI Workbench, demandez à votre administrateur de vous accorder 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.

    Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

    Créer une instance mono-utilisateur

    Pour créer une instance Vertex AI Workbench à l'aide de la console Google Cloud , procédez comme suit :

    1. Dans la console Google Cloud , accédez à la page Instances.

      Accéder à la page "Instances"

    2. Cliquez sur Créer.

    3. Dans la boîte de dialogue Nouvelle instance, cliquez sur Options avancées.

    4. 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. Il 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.
    5. Dans la section IAM et sécurité, sélectionnez Un seul utilisateur.

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

    7. Sélectionnez Activer les identifiants gérés de l'utilisateur final.

    8. 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 un lien Ouvrir JupyterLab dans la console Google Cloud .

    9. Les utilisateurs doivent autoriser le client OAuth à gérer leurs identifiants pour chaque instance Vertex AI Workbench. Cette opération est effectuée une seule fois par instance. Pour accorder votre consentement, cliquez sur Ouvrir JupyterLab et remplissez la boîte de dialogue qui s'affiche.

      Si vous essayez d'accéder à l'instance sans donner votre consentement, JupyterLab affiche un message vous invitant à vous authentifier en ouvrant JupyterLab depuis la consoleGoogle Cloud .

    10. Pour vérifier que vos identifiants d'utilisateur final sont disponibles dans JupyterLab, ouvrez un terminal dans JupyterLab et saisissez la commande suivante :

      gcloud auth list

    Authentifiez 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 si l'une des limites vous empêche d'activer les identifiants gérés.

    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 :

    1. Dans la console Google Cloud , accédez à la page Instances.

      Accéder à la page "Instances"

    2. En regard du nom de l'instance, cliquez sur Ouvrir JupyterLab.

    3. Dans JupyterLab, sélectionnez Fichier > Nouveau > Terminal.

    4. Dans la fenêtre de terminal, exécutez la commande suivante :

      gcloud auth login
    5. Saisissez Y.

    6. 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 :

    1. Ouvrez JupyterLab à l'aide du proxy JupyterLab fédéré.

    2. Dans JupyterLab, sélectionnez Fichier > Nouveau > Terminal.

    3. Créez un fichier d'identifiants pour la fédération d'identité de personnel avec la connexion sans interface graphique.

    4. 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éé.

    5. Suivez les instructions pour vous authentifier via le portail d'authentification tiers.

    6. Vérifiez que vos identifiants sont accessibles via votre instance à l'aide de la commande suivante :

      gcloud auth list