Créer une instance avec accès aux identifiants utilisateur
Cette page explique comment créer une instance Gemini Enterprise Agent Platform Workbench qui accède aux Google Cloud services et aux API à l'aide de vos identifiants utilisateur.
Vos identifiants utilisateur sont ceux associés à votre compte Google. Ils déterminent les Google Cloud services et les API auxquels votre compte Google a accès.
Par défaut, lorsque vous exécutez du code dans une instance Agent Platform Workbench, votre instance peut accéder aux Google Cloud services et aux API à 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 du même accès à Google Cloud que vos identifiants utilisateur.
Présentation
Agent Platform Workbench utilise un client OAuth mondial géré par Google pour gérer l'accès aux identifiants utilisateur, limité aux Google Cloud ressources du projet de l'utilisateur. Les utilisateurs doivent autoriser le client OAuth à gérer leurs identifiants pour chaque instance Agent Platform 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 Google Cloud console.
Le compte de service utilisé pour créer l'instance Agent Platform Workbench est l'agent de service suivant :
service-PROJECT_NUMBER@gcp-sa-notebooks-vm..
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 d'utilisateur final est activée.
Les instances pour lesquelles les identifiants d'utilisateur final sont activés sont associées au libellé Compute Engine notebooks-managed-euc: true et à la clé de métadonnées euc-enabled: true pour indiquer que la fonctionnalité est activée.
Créer des instances avec des scripts post-démarrage
Vous pouvez utiliser des scripts post-démarrage pour effectuer des actions après le démarrage de votre instance. Si vous activez les identifiants d'utilisateur final sur votre instance Agent Platform Workbench, les identifiants ne sont pas disponibles au démarrage. Ils ne sont disponibles qu'une fois que le propriétaire de l'instance a accédé à l'interface JupyterLab pour la première fois. En raison de ce délai, votre script doit interroger la disponibilité des identifiants avant d'exécuter des commandes nécessitant une authentification. Pour que votre script s'exécute, vous devez accorder au compte de service de l'instance l'autorisation de lire le fichier de script à partir de son emplacement Cloud Storage. Pour des raisons de sécurité, vous ne pouvez pas modifier l'emplacement du script une fois l'instance créée.
La prise en charge des scripts post-démarrage pour les instances avec identifiants d'utilisateur final est en disponibilité générale privée. Pour en savoir plus sur l'accès à cette version, consultez la page de demande d'accès.
Limites
Tenez compte des limites suivantes lorsque vous planifiez votre projet :
Agent Platform Workbench utilise un client OAuth mondial géré par Google 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 Agent Platform Workbench avec des identifiants utilisateur gérés, les utilisateurs ne peuvent pas :
- utiliser SSH pour accéder à l'instance ;
- exécuter un script de démarrage Compute Engine ;
- accéder à la page détaillée de la VM ;
- utiliser 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
- Connectez-vous à votre Google Cloud compte. Si vous n'avez jamais utilisé Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. 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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. 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.enablepermission. Learn how to grant roles.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer une instance Agent Platform 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 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 à utilisateur unique
Pour créer une instance Agent Platform Workbench à l'aide de la Google Cloud console, procédez comme suit :
Dans la Google Cloud console, 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 votre 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 disponibles pour Agent Platform Workbench locations.
Dans la section IAM et sécurité, sélectionnez Utilisateur unique.
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.Sélectionnez Activer les identifiants gérés de l'utilisateur final.
Renseignez le reste de la boîte de dialogue de création d'instance, puis cliquez sur Créer.
Agent Platform Workbench crée une instance et la démarre automatiquement. Lorsque l'instance est prête à l'emploi, Agent Platform Workbench active un lien Ouvrir JupyterLab dans la Google Cloud console.
Les utilisateurs doivent autoriser le client OAuth à gérer leurs identifiants pour chaque instance Agent Platform Workbench. Cette opération est effectuée une seule fois par instance. Pour accorder votre autorisation, cliquez sur Ouvrir JupyterLab et remplissez la boîte de dialogue qui s'affiche.
Si vous essayez d'accéder à l'instance sans accorder votre autorisation, JupyterLab affiche un message vous invitant à vous authentifier en ouvrant JupyterLab à partir de la Google Cloud console.
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
Authentifier l'instance avec vos identifiants utilisateur
Agent Platform Workbench peut utiliser les identifiants par défaut de l'application (ADC, Application Default Credentials) pour authentifier vos identifiants utilisateur auprès des Google Cloud services et des API. Cette section explique comment fournir vos identifiants utilisateur à ADC si l'une des limites vous empêche d'activer les identifiants gérés.
Les étapes d'authentification varient 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 Google Cloud console, 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 Workforce Identity Federation avec une connexion sans interface graphique.
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