OpenAI
Cette page a été traduite automatiquement. Afficher l’article original en anglais.

Configurer le modèle d’application Snowflake dans ChatGPT

Découvrez comment les administrateurs d’un espace de travail ChatGPT et les utilisateurs de ChatGPT Plus ou Pro peuvent connecter ChatGPT à un serveur MCP géré par Snowflake.

Mise à jour : 5 days ago

Utilisez ce guide si vous administrez un espace de travail ChatGPT ou utilisez ChatGPT Plus ou Pro et souhaitez connecter ChatGPT à Snowflake au moyen d’un serveur MCP géré par Snowflake.

La majeure partie de la configuration se fait dans Snowflake. Une fois Snowflake prêt, terminez la connexion du modèle Snowflake dans ChatGPT, puis activez le plugiciel Snowflake qui utilise ce modèle.

  • OAuth intégré : Lorsque cette option est disponible pour votre compte Snowflake et dans ChatGPT, utilisez l’application partenaire ChatGPT activée par un administrateur Snowflake. Connectez-vous à Snowflake en utilisant l’authentification unique (SSO) de votre organisation, si elle est configurée. Vous n’avez pas besoin de saisir un identifiant client ou un secret client dans ChatGPT. Suivez les instructions de la section OAuth intégré ci-dessous.

  • Client OAuth personnalisé : Utilisez cette méthode si votre organisation exige son propre client OAuth ou si OAuth intégré n’est pas disponible. Suivez les instructions de la section Client OAuth personnalisé ci-dessous.

Les deux méthodes OAuth nécessitent la configuration commune du serveur MCP, les autorisations sur les objets sous-jacents et l’accès réseau décrits ci-dessous. Terminez la configuration commune jusqu’à la section Saisir les détails du serveur Snowflake dans ChatGPT avant de configurer OAuth.

Ce que vous configurez

Vous créez un serveur MCP géré par Snowflake qui sert de point de terminaison MCP pour ChatGPT. Le serveur MCP définit :

  • Les actions que ChatGPT peut utiliser.

  • Les données ou les objets Snowflake auxquels ces outils peuvent accéder.

  • Le rôle Snowflake avec lequel chaque utilisateur accorde son autorisation.

  • La base de données, le schéma et le nom du serveur MCP Snowflake qui identifient le point de terminaison.

Vous configurez ensuite Snowflake - Modèle officiel dans ChatGPT avec l’URL complète du serveur MCP géré. L’écran de configuration du modèle peut afficher l’URL sous forme de quatre champs distincts :

  • Préfixe d’hôte Snowflake.

  • Base de données.

  • Schéma.

  • Nom du serveur MCP.

ChatGPT peut uniquement découvrir et utiliser les outils exposés par le serveur MCP et permis par le rôle Snowflake avec lequel l’utilisateur accorde son autorisation.

Avant de commencer

Vous avez besoin des éléments suivants :

  • Un accès d’administrateur ou de propriétaire à un espace de travail ChatGPT, ou un accès à ChatGPT Plus ou Pro.

  • Un accès à Snowflake permettant de créer des objets de serveur MCP et d’accorder des autorisations.

  • La base de données et le schéma Snowflake qui hébergeront le serveur MCP.

  • Une décision sur ce que ChatGPT sera autorisé à utiliser, comme Cortex Search, Cortex Analyst, SQL en lecture seule ou une procédure ou une fonction précise.

  • Un rôle Snowflake respectant le principe du moindre privilège, que les utilisateurs utiliseront pour autoriser l’application.

  • Le préfixe d’hôte du compte Snowflake, y compris tout suffixe de région ou de fournisseur infonuagique.

Si votre compte Snowflake restreint l’accès au moyen d’une politique réseau ou d’une liste d’adresses IP autorisées, demandez à un administrateur Snowflake d’autoriser les connexions entrantes provenant des plages d’adresses IP de sortie des applications ChatGPT actuelles. La liste est dynamique et doit être tenue à jour.

Valeurs à préparer

  • Préfixe d’hôte Snowflake : tout ce qui précède .snowflakecomputing.com dans l’URL du compte Snowflake.

  • Base de données : la base de données contenant le serveur MCP.

  • Schéma : le schéma contenant le serveur MCP.

  • Nom du serveur MCP : le nom de l’objet serveur MCP Snowflake.

  • URL complète du serveur MCP géré, si l’écran de configuration de ChatGPT demande une URL.

  • Rôle Snowflake : le rôle que les utilisateurs doivent utiliser pour autoriser l’application.

  • Liste des outils : les objets et actions Snowflake que vous souhaitez que ChatGPT utilise.

Décider de ce que ChatGPT peut faire

Sélectionnez uniquement les capacités que vous souhaitez exposer. Voici quelques options courantes :

  • La recherche avec Cortex Search pour trouver des réponses dans les données ou le contenu indexés de Snowflake.

  • Les questions-réponses avec Cortex Analyst au moyen d’une vue sémantique approuvée.

  • SQL en lecture seule pour un accès contrôlé aux requêtes.

  • Un agent Snowflake, une procédure stockée ou une fonction définie par l’utilisateur (UDF) pour un flux de travail précis.

Si vous activez SQL, conservez le mode lecture seule, sauf si votre organisation a examiné et approuvé l’accès en écriture.

Ouvrir une feuille de calcul Snowflake

  1. Connectez-vous à l’application Snowflake.

  2. Passez à un rôle permettant de créer le serveur MCP et d’accorder l’accès.

  3. Allez à Espaces de travail.

    Snowflake navigation menu showing Workspaces selected during MCP server setup.
  4. Créez un espace de travail avec un fichier SQL.

    Snowflake workspace with a SQL file open for MCP server setup.
  5. Définissez le contexte de l’espace de travail sur la base de données et le schéma où le serveur MCP sera créé.

    Snowflake worksheet context picker showing the role, warehouse, database, and schema.

Créer le serveur MCP Snowflake

Dans Snowflake, connectez-vous avec un rôle permettant de créer le serveur MCP et d’accorder l’accès. Ouvrez une feuille de calcul dans la base de données et le schéma où le serveur MCP doit être créé.

Exécutez une instruction comme celle de l’exemple suivant. Remplacez les noms par ceux de votre base de données, de votre schéma, de vos services, de vos vues, de votre entrepôt et de votre serveur Snowflake.

CREATE MCP SERVER CHATGPT_SNOWFLAKE_MCP
FROM SPECIFICATION $$
tools:
- name: "support-search"
type: "CORTEX_SEARCH_SERVICE_QUERY"
identifier: "CHATGPT_APPS.TOOLS.SUPPORT_SEARCH_SERVICE"
title: "Support Search"
description: "Search support content for relevant customer issues."
- name: "revenue-analyst"
type: "CORTEX_ANALYST_MESSAGE"
identifier: "CHATGPT_APPS.TOOLS.REVENUE_SEMANTIC_VIEW"
title: "Revenue Analyst"
description: "Answer revenue questions using the approved semantic view."
- name: "sql-readonly"
type: "SYSTEM_EXECUTE_SQL"
title: "Read-only SQL"
description: "Run read-only SQL queries against approved Snowflake data."
config:
read_only: true
query_timeout: 600
warehouse: "CHATGPT_WH"
$$;

Snowflake result confirming that the MCP server was successfully created.

Les noms d’outils et les objets Snowflake de cette instruction sont des exemples :

  • support-search expose le service Cortex Search spécifié.

  • revenue-analyst expose la vue sémantique spécifiée. Ajoutez des outils pour d’autres vues au besoin.

  • sql-readonly expose SQL en lecture seule avec l’entrepôt spécifié.

Utilisez des noms d’outils stables et descriptifs pour que ChatGPT puisse choisir le bon outil. La création du serveur MCP n’accorde pas automatiquement l’accès aux objets Snowflake sous-jacents.

Pour d’autres options de spécification, consultez : Créer un serveur MCP géré par Snowflake.

Accorder les bonnes autorisations Snowflake

Choisissez le rôle Snowflake avec lequel les utilisateurs accorderont l’autorisation, puis donnez à ce rôle accès aux éléments suivants :

  1. La base de données et le schéma.

  2. Le serveur MCP.

  3. Chaque objet sous-jacent utilisé par les outils, comme un service de recherche, une vue sémantique ou un entrepôt.

Exemple :

GRANT USAGE ON DATABASE CHATGPT_APPS TO ROLE CHATGPT_CONNECTOR_ROLE;
GRANT USAGE ON SCHEMA CHATGPT_APPS.TOOLS TO ROLE CHATGPT_CONNECTOR_ROLE;
GRANT USAGE ON MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP TO ROLE CHATGPT_CONNECTOR_ROLE;

GRANT USAGE ON CORTEX SEARCH SERVICE CHATGPT_APPS.TOOLS.SUPPORT_SEARCH_SERVICE TO ROLE CHATGPT_CONNECTOR_ROLE;
GRANT SELECT ON SEMANTIC VIEW CHATGPT_APPS.TOOLS.REVENUE_SEMANTIC_VIEW TO ROLE CHATGPT_CONNECTOR_ROLE;
GRANT USAGE ON WAREHOUSE CHATGPT_WH TO ROLE CHATGPT_CONNECTOR_ROLE;

Si le serveur MCP expose une fonction UDF, une procédure stockée ou un agent Cortex, accordez aussi les autorisations requises pour cet objet.

Vérifier que Snowflake est prêt

Exécutez :

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Exécutez ensuite :

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Vérifiez les points suivants :

  • Le serveur existe dans la base de données et le schéma prévus.

  • La liste des outils correspond à ce que vous aviez prévu.

  • Le champ identifier de chaque outil pointe vers le bon objet Snowflake.

  • Le rôle utilisé pour la connexion dispose du privilège USAGE sur le serveur MCP.

  • Le rôle utilisé pour la connexion dispose des autorisations nécessaires sur chaque objet sous-jacent.

Saisir les détails du serveur Snowflake dans ChatGPT

Pour configurer un espace de travail, ouvrez admin.openai.com, sélectionnez l’espace de travail ChatGPT voulu, puis ouvrez Plugiciels. Pour la navigation dans l’espace de travail et l’accès aux anciennes applications, consultez Contrôles d’administration, sécurité et conformité des plugiciels et des applications.

  1. Dans ChatGPT, passez au compte ou à l’espace de travail où l’application doit être disponible.

  2. Allez à Paramètres > Plugiciels pour une configuration personnelle ou à Console d’administration > Plugiciels en tant qu’administrateur d’un espace de travail pour configurer celui-ci.

  3. Recherchez Snowflake.

  4. Activez Snowflake - Modèle officiel.

  5. Ouvrez Snowflake - Modèle officiel, saisissez un nom de connexion clair, puis sélectionnez Connecter.

  6. Saisissez l’URL complète du serveur MCP géré :

https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}

Exemple :

https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

ChatGPT Snowflake Template connection form with name, managed MCP server URL, and OAuth settings.

Si l’écran de configuration présente la configuration Snowflake dans des champs distincts, utilisez les mêmes valeurs que dans l’URL :

Préfixe d’hôte Snowflake

Utilisez tout ce qui précède .snowflakecomputing.com dans l’URL de votre compte Snowflake, y compris tout suffixe de région ou de nuage.

Par exemple, si l’URL du compte commence par :

https://myorg-myaccount.azure.snowflakecomputing.com

Le préfixe d’hôte est :

myorg-myaccount.azure

Base de données

Saisissez la base de données contenant le serveur MCP, par exemple :

CHATGPT_APPS

Schéma

Saisissez le schéma contenant le serveur MCP, par exemple :

TOOLS

Nom du serveur MCP

Saisissez le nom de l’objet serveur MCP Snowflake, par exemple :

CHATGPT_SNOWFLAKE_MCP

Configurer OAuth

Choisissez la méthode OAuth disponible pour votre compte qui répond aux exigences de votre organisation. Les deux méthodes utilisent la configuration commune du serveur MCP ci-dessus ainsi que les tests de connexion et les contrôles d’accès ci-dessous.

Pour l’une ou l’autre des méthodes OAuth, lorsque vous utilisez session:role:all, Snowflake utilise le rôle par défaut de chaque utilisateur. Le rôle par défaut doit être permis par la liste des rôles autorisés de l’intégration OAuth, si elle est configurée, et ne doit pas être bloqué. Le fait de disposer d’un autre rôle approuvé ne le sélectionne pas automatiquement.

OAuth intégré

Avant de continuer, suivez les sections communes ci-dessus pour créer le serveur MCP, accorder les autorisations, vérifier le serveur et saisir ses détails dans ChatGPT. C’est obligatoire même si vous êtes arrivé directement à cette section.

Utilisez cette méthode uniquement lorsque l’application partenaire ChatGPT est disponible pour votre compte Snowflake et qu’OAuth intégré est disponible dans la fenêtre de configuration de ChatGPT.

  1. Demandez à un administrateur Snowflake d’activer l’intégration partenaire ChatGPT dans le compte Snowflake qui héberge le serveur MCP. Réutilisez une intégration partenaire ChatGPT existante et activée.

  2. Dans la fenêtre de configuration de ChatGPT, utilisez OAuth intégré. Vous n’avez pas besoin de saisir un identifiant client ou un secret client, ni d’enregistrer une URL de rappel.

  3. Poursuivez avec la section Connecter et gérer Snowflake ci-dessous pour vous connecter, donner votre consentement et configurer l’accès. Suivez ensuite la section Tester l’application, y compris les tests avec des membres autorisés non administrateurs.

Le fonctionnement du rôle par défaut, de la liste d’autorisation et des rôles bloqués décrit ci-dessus s’applique aussi à cette méthode.

Client OAuth personnalisé

Avant de continuer, suivez les sections communes ci-dessus pour créer le serveur MCP, accorder les autorisations, vérifier le serveur et saisir ses détails dans ChatGPT. C’est obligatoire même si vous êtes arrivé directement à cette section.

Pour un client OAuth personnalisé, vous avez besoin d’un identifiant client et d’un secret client provenant de Snowflake. Le fonctionnement du rôle par défaut, de la liste d’autorisation et des rôles bloqués décrit ci-dessus s’applique aussi à cette méthode.

  1. Dans la fenêtre de configuration de ChatGPT, sélectionnez Paramètres OAuth avancés > Client OAuth défini par l’utilisateur, puis copiez exactement l’URL de rappel affichée dans ChatGPT.

  2. Créez une intégration de sécurité OAuth personnalisée avec OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' et OAUTH_REDIRECT_URI défini exactement sur cette URL de rappel.

  3. Exécutez l’instruction suivante dans Snowflake en utilisant le nom de l’intégration en majuscules :

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. À partir du résultat JSON, collez oauth_client_id dans Identifiant client OAuth et oauth_client_secret dans Secret client OAuth dans ChatGPT.

  5. Réglez Méthode d’authentification du point de terminaison de jeton sur client_secret_basic.

Après avoir saisi les identifiants du client personnalisé, poursuivez avec les sections Connecter et gérer Snowflake et Tester l’application ci-dessous.

Connecter et gérer Snowflake

  1. Pour l’une ou l’autre des méthodes OAuth, dans la même fenêtre de configuration de ChatGPT, sélectionnez Continuer, connectez-vous à Snowflake et autorisez la connexion. Vous pouvez utiliser l’authentification unique (SSO) de votre organisation si elle est configurée.

  2. Pour une configuration dans un espace de travail, vérifiez que Snowflake et Snowflake - Modèle officiel sont tous deux activés. Dans Enterprise et Edu, configurez la politique d’installation du plugiciel et l’option Accès des utilisateurs de chaque application incluse pour les rôles attribués aux membres ou aux groupes visés. Dans Business, gérez la politique d’installation des plugiciels et la disponibilité des applications dans l’ensemble de l’espace de travail.

  3. Les administrateurs de l’espace de travail doivent examiner le Contrôle des actions pour les outils exposés.

  4. Les administrateurs de l’espace de travail doivent examiner les Autorisations de l’application pour choisir quand ChatGPT demande l’accord des membres avant d’utiliser l’application.

Ces autorisations d’application s’appliquent aux conversations ChatGPT. Les agents d’espace de travail utilisent des contrôles propres à chaque agent, définis par son créateur, pour déterminer quelles actions d’application sont disponibles et quand les utilisateurs finaux doivent les approuver. Pour en savoir plus sur le comportement des agents, consultez : Agents d’espace de travail ChatGPT pour Enterprise et Business.

Tester l’application

  1. Ouvrez une conversation, sélectionnez Snowflake et testez la connexion.

  2. Vérifiez que ChatGPT découvre les outils que vous avez configurés.

  3. Exécutez d’abord une action de lecture à faible risque, comme une recherche ou une requête en lecture seule sur des données approuvées.

  4. Vérifiez que les autorisations Snowflake empêchent tout accès au-delà du rôle et des objets approuvés.

  5. Pour la configuration d’un espace de travail, faites des tests avec des membres autorisés non administrateurs ayant différents rôles Snowflake par défaut. La connexion réussie d’un administrateur ne confirme pas que tous les membres peuvent se connecter.

Pour les administrateurs d’espace de travail, il ne suffit pas d’activer uniquement Snowflake. Si Snowflake - Modèle officiel n’a pas été activé et connecté, le plugiciel peut apparaître désactivé pour les membres.

URL du serveur MCP et fonctionnement d’OAuth

ChatGPT se connecte à l’URL complète du serveur MCP géré par Snowflake :

https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}

ChatGPT utilise le préfixe d’hôte Snowflake de cette URL pour résoudre les points de terminaison OAuth Snowflake suivants :

  • Autorisation : https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorize

  • Jeton : https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request

Ne collez pas une URL Snowsight, l’URL racine du compte Snowflake seule ou une URL contenant des segments de chemin supplémentaires. L’URL MCP doit inclure /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} et correspondre exactement à vos objets Snowflake.

Dépannage

Snowflake est activé pour un administrateur, mais désactivé pour un membre

  • Vérifiez que Snowflake et Snowflake - Modèle officiel sont tous deux activés dans Console d’administration > Plugiciels.

  • Ouvrez Snowflake - Modèle officiel et terminez le processus Connecter. Activer le modèle sans le connecter ne suffit pas.

  • Ouvrez Snowflake et vérifiez que le modèle y figure comme application requise.

  • Vérifiez que le rôle ou le groupe du membre concerné est autorisé par la politique d’installation du plugiciel.

Serveur MCP introuvable

  • Revérifiez l’URL complète du serveur MCP, ou les quatre champs du modèle si votre écran de configuration les demande.

  • Vérifiez que le serveur MCP existe dans cette base de données et ce schéma précis.

Aucun outil n’apparaît dans ChatGPT

  • Vérifiez que la spécification du serveur MCP comprend des outils.

  • Vérifiez que le rôle dispose du privilège USAGE sur le serveur MCP.

Un outil apparaît, mais échoue à l’utilisation

  • Vérifiez que le rôle dispose de l’autorisation requise sur l’objet Snowflake sous-jacent, comme le service de recherche, la vue sémantique, l’entrepôt, la procédure ou la fonction UDF.

L’outil SQL échoue

  • Vérifiez que le nom de l’entrepôt est correct et que l’entrepôt est en cours d’exécution.

  • Vérifiez que le rôle dispose du privilège USAGE sur l’entrepôt.

  • Vérifiez que read_only: true est défini si vous souhaitez un accès en lecture seule.

Le rôle ALL demandé a été explicitement bloqué

Demandez à votre administrateur Snowflake de comparer votre rôle par défaut aux rôles autorisés et bloqués de l’intégration OAuth. Le fait de disposer d’un autre rôle autorisé ne le sélectionne pas automatiquement. Si c’est approprié, remplacez le rôle par défaut par un rôle approuvé et reconnectez-vous. La modification de votre rôle par défaut touche aussi vos sessions Snowflake en dehors de ChatGPT.

L’autorisation échoue

  • Vérifiez que l’utilisateur peut se connecter à Snowflake.

  • Lorsque vous utilisez session:role:all, vérifiez que le rôle par défaut de l’utilisateur est autorisé par l’intégration OAuth.

  • Vérifiez que la configuration utilise le flux OAuth du serveur MCP géré par Snowflake.

  • Si vous utilisez un client OAuth personnalisé, vérifiez que l’identifiant client et le secret client correspondent à l’intégration OAuth Snowflake et que son URI de redirection correspond exactement à l’URL de rappel affichée dans ChatGPT.

    Si vous utilisez OAuth intégré, demandez à un administrateur Snowflake de vérifier que l’intégration partenaire ChatGPT est disponible et activée dans le compte qui héberge le serveur MCP.

La politique réseau ou la liste d’adresses IP autorisées de Snowflake bloque l’application

  • Demandez à un administrateur Snowflake de mettre à jour la politique réseau ou les règles d’accès de Snowflake.

  • Autorisez les connexions entrantes provenant des plages d’adresses IP de sortie des applications ChatGPT actuelles.

  • Configurez cette liste d’adresses autorisées dans Snowflake. Elle est distincte de la liste d’adresses IP autorisées de l’espace de travail ChatGPT.

  • Automatisez les mises à jour à partir du fichier JSON publié lorsque c’est possible, car les plages peuvent changer.

Problème de connexion lié au nom d’hôte

Utilisez le bon préfixe d’hôte Snowflake. Les noms d’hôte Snowflake contenant des traits de soulignement peuvent causer des problèmes; privilégiez les traits d’union.

Cet article vous a-t-il été utile?