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 ChatGPT Pro peuvent connecter ChatGPT à un serveur MCP géré par Snowflake.

Dernière mise à jour : 3 days ago

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

La majeure partie de la configuration s’effectue dans Snowflake. Lorsque Snowflake est prêt, finalisez la connexion au modèle Snowflake dans ChatGPT, puis activez le plugin Snowflake qui utilise ce modèle.

Ce que vous allez configurer

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

  • Les actions que ChatGPT peut utiliser

  • Les données ou 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.

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 dans quatre champs distincts :

  • Préfixe d’hôte Snowflake.

  • Base de données.

  • Schéma.

  • Nom du serveur MCP.

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

Avant de commencer

Vous avez besoin des éléments suivants :

  • Accès en tant qu’administrateur ou propriétaire d’un espace de travail ChatGPT, ou accès à ChatGPT Plus ou ChatGPT 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 concernant les actions que ChatGPT sera autorisé à effectuer, comme Cortex Search, Cortex Analyst, des requêtes SQL en lecture seule ou une procédure ou fonction précise.

  • Un rôle Snowflake à privilèges minimaux que les utilisateurs emploieront pour autoriser l’application.

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

Si votre compte Snowflake restreint l’accès au moyen d’une stratégie réseau ou d’une liste d’adresses IP autorisées, demandez à un administrateur Snowflake d’autoriser les connexions entrantes provenant des plages actuelles d’adresses IP sortantes du connecteur ChatGPT. Cette 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 employer pour autoriser l’application.

  • Liste des outils : les objets et actions Snowflake que ChatGPT doit utiliser.

Déterminer ce que ChatGPT peut faire

Sélectionnez uniquement les fonctionnalités que vous souhaitez exposer. Les options courantes comprennent :

  • Recherche avec Cortex Search pour trouver des réponses dans les données ou contenus Snowflake indexés.

  • Questions-réponses avec Cortex Analyst via 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 UDF pour un flux de travail précis.

Si vous activez SQL, conservez un accès en 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 pouvant créer le serveur MCP et accorder l’accès.

  3. Accédez à 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 pouvant créer le serveur MCP et 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 dans l’exemple suivant. Remplacez les noms par ceux de votre base de données, schéma, services, vues, entrepôt et 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 indiqué.

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

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

Utilisez des noms d’outils stables et descriptifs afin 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 connaître les autres options de spécification, consultez : Créer un serveur MCP géré par Snowflake.

Accorder les autorisations Snowflake appropriées

Choisissez le rôle Snowflake avec lequel les utilisateurs accorderont leur autorisation, puis accordez à ce rôle l’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 également 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 attendus.

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

  • L’identifier de chaque outil pointe vers le bon objet Snowflake.

  • Le rôle de connexion dispose du privilège USAGE sur le serveur MCP.

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

Saisir les informations du serveur Snowflake dans ChatGPT

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

  2. Ouvrez Paramètres. Pour une configuration à l’échelle de l’espace de travail, ouvrez Paramètres de l’espace de travail en tant qu’administrateur de cet espace.

  3. Accédez à Plugins.

  4. Recherchez Snowflake.

  5. Activez Snowflake – Modèle officiel.

  6. Ouvrez Snowflake – Modèle officiel, saisissez un nom de connexion clair, puis sélectionnez Se connecter.

  7. 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 affiche 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 cloud.

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 le client OAuth

Pour vous connecter, vous avez besoin d’un ID client et d’un secret client fournis par Snowflake.

Lorsque vous utilisez session:role:all, Snowflake emploie le rôle par défaut de chaque utilisateur. Le rôle par défaut doit être autorisé 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.

  1. Dans la fenêtre de configuration de ChatGPT, ouvrez Paramètres OAuth avancés, sélectionnez Client OAuth défini par l’utilisateur, puis copiez 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 définissez OAUTH_REDIRECT_URI sur cette URL de rappel exacte.

  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 ID client OAuth et oauth_client_secret dans Secret client OAuth dans ChatGPT.

  5. Définissez Méthode d’authentification du point de terminaison de token sur client_secret_basic.

Connecter et gérer Snowflake

  1. Dans la même fenêtre de configuration de ChatGPT, sélectionnez Continuer, connectez-vous à Snowflake et autorisez la connexion.

  2. Pour une configuration d’espace de travail, configurez la stratégie d’installation du plugin et l’accès par rôle ou groupe pour les membres qui doivent l’utiliser. Vérifiez que Snowflake et Snowflake – Modèle officiel sont tous deux activés.

  3. Les administrateurs de l’espace de travail doivent configurer l’Accès utilisateur pour les rôles qui doivent utiliser Snowflake.

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

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

Ces autorisations de l’application s’appliquent aux conversations ChatGPT. Les agents de l’espace de travail utilisent les contrôles propres à chaque agent, définis par son créateur, pour déterminer les actions de l’application disponibles et quand demander leur approbation aux utilisateurs finaux. 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 discussion, sélectionnez Snowflake et testez la connexion.

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

  3. Commencez par 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 en dehors du rôle et des objets approuvés.

  5. Pour une configuration d’espace de travail, effectuez un test avec des membres non-administrateurs autorisés disposant de différents rôles Snowflake par défaut. La connexion réussie d’un administrateur ne garantit pas que chaque membre peut se connecter.

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

URL du serveur MCP et comportement 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

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

Ne collez pas une URL Snowsight, uniquement l’URL racine du compte Snowflake, ni une URL comportant 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.

Résolution des problèmes

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 Paramètres de l’espace de travail > Plugins.

  • Ouvrez Snowflake – Modèle officiel et terminez son processus Se connecter. Activer le modèle sans le connecter ne suffit pas.

  • Ouvrez Snowflake et vérifiez que le modèle apparaît comme son application requise.

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

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 lors de son utilisation

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

Échec de l’outil SQL

  • Vérifiez que le nom de l’entrepôt est correct et que celui-ci 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 souhaitiez 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 nécessaire, remplacez le rôle par défaut par un rôle approuvé, puis reconnectez-vous. La modification de votre rôle par défaut affecte également vos sessions Snowflake en dehors de ChatGPT.

Échec de l’autorisation

  • 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 MCP géré par Snowflake.

  • Vérifiez que l’ID client et le secret client correspondent à l’intégration OAuth Snowflake et que son URI de redirection correspond à l’URL de rappel affichée dans ChatGPT.

La stratégie réseau ou la liste d’adresses IP autorisées de Snowflake bloque le connecteur

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

  • Autorisez les connexions entrantes provenant des plages actuelles d’adresses IP sortantes du connecteur ChatGPT.

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

  • Dans la mesure du possible, automatisez les mises à jour à partir du fichier JSON publié, car les plages peuvent changer.

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

Utilisez le préfixe d’hôte Snowflake approprié. Les noms d’hôte Snowflake comportant des traits de soulignement peuvent poser problème ; préférez les traits d’union.

Références

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