OpenAI
Táto stránka bola strojovo preložená. Prečítaj si pôvodný článok v angličtine.

Nastavenie šablóny aplikácie Snowflake v ChatGPT

Zistite, ako môžu správcovia pracovného priestoru ChatGPT a používatelia ChatGPT Plus alebo ChatGPT Pro pripojiť ChatGPT k serveru MCP spravovanému službou Snowflake.

Aktualizované: 18 days ago

Táto príručka je určená správcom pracovného priestoru ChatGPT a používateľom ChatGPT Plus alebo ChatGPT Pro, ktorí chcú pripojiť ChatGPT k službe Snowflake prostredníctvom servera MCP spravovaného službou Snowflake.

Väčšina nastavení sa vykonáva v službe Snowflake. Keď bude Snowflake pripravený, dokončite v ChatGPT pripojenie šablóny Snowflake a potom povoľte doplnok Snowflake, ktorý túto šablónu používa.

Čo nastavujete

Vytvárate server MCP spravovaný službou Snowflake, ktorý slúži ako koncový bod konektora pre ChatGPT. Server MCP určuje:

  • Ktoré akcie môže ChatGPT používať.

  • Ku ktorým údajom alebo objektom Snowflake majú tieto nástroje prístup.

  • Pomocou ktorej roly Snowflake sa jednotliví používatelia autorizujú.

  • Ktorá databáza, schéma a názov servera MCP v službe Snowflake identifikujú koncový bod.

Potom v ChatGPT nakonfigurujete Snowflake – oficiálnu šablónu s úplnou adresou URL spravovaného servera MCP. Na obrazovke nastavenia šablóny môže byť adresa URL rozdelená do štyroch polí:

  • Predpona hostiteľa Snowflake.

  • Databáza.

  • Schéma.

  • Názov servera MCP.

ChatGPT dokáže nájsť a používať iba nástroje sprístupnené serverom MCP a povolené rolou Snowflake, pomocou ktorej sa používateľ autorizuje.

Skôr než začnete

Potrebujete:

  • Prístup správcu alebo vlastníka pracovného priestoru ChatGPT, prípadne prístup ChatGPT Plus alebo ChatGPT Pro.

  • Prístup k službe Snowflake umožňujúci vytvárať objekty servera MCP a udeľovať povolenia.

  • Databázu a schému Snowflake, v ktorých bude server MCP umiestnený.

  • Rozhodnutie o tom, čo má mať ChatGPT povolené, napríklad Cortex Search, Cortex Analyst, SQL iba na čítanie alebo konkrétnu procedúru či funkciu.

  • Rolu Snowflake s minimálnymi oprávneniami, ktorú budú používatelia používať pri autorizácii aplikácie.

  • Predponu hostiteľa účtu Snowflake vrátane prípadnej prípony oblasti alebo cloudu.

Ak váš účet Snowflake obmedzuje prístup prostredníctvom sieťovej politiky alebo zoznamu povolených IP adries, požiadajte správcu Snowflake, aby povolil prichádzajúce pripojenia z aktuálnych rozsahov výstupných IP adries konektorov ChatGPT. Zoznam je dynamický a treba ho pravidelne aktualizovať.

Hodnoty, ktoré si treba pripraviť

  • Predpona hostiteľa Snowflake: všetko pred .snowflakecomputing.com v adrese URL účtu Snowflake.

  • Databáza: databáza obsahujúca server MCP.

  • Schéma: schéma obsahujúca server MCP.

  • Názov servera MCP: názov objektu servera MCP v službe Snowflake.

  • Úplná adresa URL spravovaného servera MCP, ak ju vyžaduje obrazovka nastavenia ChatGPT.

  • Rola Snowflake: rola, ktorú majú používatelia použiť pri autorizácii aplikácie.

  • Zoznam nástrojov: objekty a akcie Snowflake, ktoré má ChatGPT používať.

Rozhodnite, čo môže ChatGPT robiť

Vyberte iba funkcie, ktoré chcete sprístupniť. Medzi bežné možnosti patria:

  • Vyhľadávanie pomocou Cortex Search na získanie odpovedí z indexovaných údajov alebo obsahu Snowflake.

  • Otázky a odpovede pomocou Cortex Analyst cez schválené sémantické zobrazenie.

  • SQL iba na čítanie na riadený prístup k dotazom.

  • Agent Snowflake, uložená procedúra alebo UDF pre konkrétny pracovný postup.

Ak povolíte SQL, ponechajte ho iba na čítanie, pokiaľ vaša organizácia neskontrolovala a neschválila prístup na zápis.

Otvorte pracovný hárok Snowflake

  1. Prihláste sa do aplikácie Snowflake.

  2. Prepnite na rolu, ktorá môže vytvoriť server MCP a udeliť prístup.

  3. Prejdite do časti Pracovné priestory.

    Snowflake navigation menu showing Workspaces selected during MCP server setup.
  4. Vytvorte pracovný priestor so súborom SQL.

    Snowflake workspace with a SQL file open for MCP server setup.
  5. Nastavte kontext pracovného priestoru na databázu a schému, v ktorých sa vytvorí server MCP.

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

Vytvorte server MCP v službe Snowflake

Prihláste sa do služby Snowflake pomocou roly, ktorá môže vytvoriť server MCP a udeliť prístup. Otvorte pracovný hárok v databáze a schéme, v ktorých sa má vytvoriť server MCP.

Spustite príkaz podobný nasledujúcemu príkladu. Názvy nahraďte názvami vlastnej databázy, schémy, služieb, zobrazení, skladu a servera 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.

Názvy nástrojov a objekty Snowflake v tomto príkaze sú iba príklady:

  • support-search sprístupňuje zadanú službu Cortex Search.

  • revenue-analyst sprístupňuje zadané sémantické zobrazenie. Podľa potreby pridajte nástroje pre ďalšie zobrazenia.

  • sql-readonly sprístupňuje SQL iba na čítanie s použitím zadaného skladu.

Používajte stabilné a výstižné názvy nástrojov, aby ChatGPT dokázal vybrať správny nástroj. Vytvorením servera MCP sa automaticky neudelí prístup k podkladovým objektom Snowflake.

Ďalšie možnosti špecifikácie nájdete v téme Vytvorenie servera MCP spravovaného službou Snowflake.

Udeľte správne povolenia Snowflake

Vyberte rolu Snowflake, pomocou ktorej sa budú používatelia autorizovať, a potom jej udeľte prístup k týmto položkám:

  1. Databáza a schéma.

  2. Server MCP.

  3. Všetky podkladové objekty používané nástrojmi, napríklad vyhľadávacia služba, sémantické zobrazenie alebo sklad.

Príklad:

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;

Ak server MCP sprístupňuje UDF, uloženú procedúru alebo agenta Cortex, udeľte požadované povolenia aj pre daný objekt.

Overte, či je Snowflake pripravený

Spustite:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Potom spustite:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Overte tieto skutočnosti:

  • Server existuje v očakávanej databáze a schéme.

  • Zoznam nástrojov zodpovedá vášmu zámeru.

  • Hodnota identifier každého nástroja odkazuje na správny objekt Snowflake.

  • Pripájajúca sa rola má povolenie USAGE pre server MCP.

  • Pripájajúca sa rola má potrebné povolenia pre každý podkladový objekt.

Zadajte podrobnosti servera Snowflake v ChatGPT

  1. V ChatGPT prepnite na účet alebo pracovný priestor, v ktorom má byť aplikácia dostupná.

  2. Otvorte Nastavenia. Ak aplikáciu nastavujete pre celý pracovný priestor, otvorte ako správca Nastavenia pracovného priestoru.

  3. Prejdite do časti Doplnky.

  4. Vyhľadajte Snowflake.

  5. Povoľte Snowflake – oficiálnu šablónu.

  6. Otvorte Snowflake – oficiálnu šablónu, zadajte výstižný názov pripojenia a vyberte Pripojiť.

  7. Zadajte úplnú adresu URL spravovaného servera MCP:

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

Príklad:

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.

Ak obrazovka nastavenia zobrazuje konfiguráciu Snowflake v samostatných poliach, použite rovnaké hodnoty ako v adrese URL:

Predpona hostiteľa Snowflake

Použite všetko pred .snowflakecomputing.com v adrese URL svojho účtu Snowflake vrátane prípadnej prípony oblasti alebo cloudu.

Ak napríklad adresa URL účtu začína takto:

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

Predpona hostiteľa je:

myorg-myaccount.azure

Databáza

Zadajte databázu obsahujúcu server MCP, napríklad:

CHATGPT_APPS

Schéma

Zadajte schému obsahujúcu server MCP, napríklad:

TOOLS

Názov servera MCP

Zadajte názov objektu servera MCP v službe Snowflake, napríklad:

CHATGPT_SNOWFLAKE_MCP

Nakonfigurujte klienta OAuth

Na pripojenie potrebujete identifikátor klienta a tajný kľúč klienta zo služby Snowflake.

Pri použití hodnoty session:role:all používa Snowflake predvolenú rolu každého používateľa. Predvolená rola musí byť povolená v zozname povolených rolí integrácie OAuth, ak je nakonfigurovaný, a nesmie byť blokovaná. Iná schválená rola sa nevyberie automaticky.

  1. V dialógovom okne nastavenia ChatGPT otvorte Rozšírené nastavenia OAuth, vyberte Klient OAuth definovaný používateľom a skopírujte adresu URL spätného volania zobrazenú v ChatGPT.

  2. Vytvorte vlastnú integráciu zabezpečenia OAuth s hodnotou OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' a nastavte OAUTH_REDIRECT_URI presne na túto adresu URL spätného volania.

  3. V službe Snowflake spustite nasledujúci príkaz, pričom názov integrácie uveďte veľkými písmenami:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Z výsledku JSON vložte hodnotu oauth_client_id do poľa Identifikátor klienta OAuth a hodnotu oauth_client_secret do poľa Tajný kľúč klienta OAuth v ChatGPT.

  5. Nastavte Metódu overenia koncového bodu tokenu na client_secret_basic.

Pripojenie a správa služby Snowflake

  1. V tom istom dialógovom okne nastavenia ChatGPT vyberte Pokračovať, prihláste sa do služby Snowflake a autorizujte pripojenie.

  2. Pri nastavovaní pracovného priestoru nakonfigurujte pravidlá inštalácie doplnku a prístup podľa roly alebo skupiny pre členov, ktorí ho majú používať. Overte, že sú povolené položky Snowflake aj Snowflake – oficiálna šablóna.

  3. Správcovia pracovného priestoru zodpovedajú za konfiguráciu Prístupu používateľov pre roly, ktoré majú používať Snowflake.

  4. Správcovia pracovného priestoru zodpovedajú za kontrolu Riadenia akcií sprístupnených nástrojov.

  5. Správcovia pracovného priestoru zodpovedajú za kontrolu Povolení aplikácie, kde určia, kedy má ChatGPT pred použitím aplikácie požiadať členov o súhlas.

Tieto povolenia aplikácie sa vzťahujú na konverzácie v ChatGPT. Agenti pracovného priestoru používajú nastavenia jednotlivých agentov určené ich tvorcom, aby stanovili, ktoré akcie aplikácie sú dostupné a kedy sa od koncových používateľov vyžaduje ich schválenie. Informácie o správaní agentov nájdete v téme Agenti pracovného priestoru ChatGPT pre Enterprise a Business.

Otestujte aplikáciu

  1. Otvorte čet, vyberte Snowflake a otestujte pripojenie.

  2. Overte, že ChatGPT nájde nakonfigurované nástroje.

  3. Najskôr vykonajte nízkorizikovú akciu čítania, napríklad vyhľadávanie alebo dotaz iba na čítanie v schválených údajoch.

  4. Overte, že povolenia Snowflake bránia prístupu mimo schválenej roly a objektov.

  5. Pri nastavovaní pracovného priestoru vykonajte test s povolenými členmi bez oprávnení správcu, ktorí majú rôzne predvolené roly Snowflake. Úspešné pripojenie správcu nepotvrdzuje, že sa môže pripojiť každý člen.

Správcom pracovného priestoru nestačí povoliť iba Snowflake. Ak Snowflake – oficiálna šablóna nebola povolená a pripojená, doplnok sa môže členom zobrazovať ako zakázaný.

Adresa URL servera MCP a správanie OAuth

ChatGPT sa pripája k úplnej adrese URL servera MCP spravovaného službou Snowflake:

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

ChatGPT používa predponu hostiteľa Snowflake z tejto adresy URL na určenie nasledujúcich koncových bodov OAuth služby Snowflake:

  • Autorizácia: https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorize

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

Nevkladajte adresu URL služby Snowsight, samotnú koreňovú adresu URL účtu Snowflake ani adresu URL s ďalšími segmentmi cesty. Adresa URL servera MCP musí obsahovať /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} a presne zodpovedať vašim objektom Snowflake.

Riešenie problémov

Snowflake je povolený pre správcu, ale zakázaný pre člena

  • Overte, že v časti Nastavenia pracovného priestoru > Doplnky sú povolené položky Snowflake aj Snowflake – oficiálna šablóna.

  • Otvorte Snowflake – oficiálnu šablónu a dokončite postup Pripojiť. Samotné povolenie šablóny bez jej pripojenia nestačí.

  • Otvorte Snowflake a overte, že sa šablóna zobrazuje ako požadovaná aplikácia.

  • Overte, že pravidlá inštalácie doplnku povoľujú rolu alebo skupinu dotknutého člena.

Server MCP sa nenašiel

  • Znova skontrolujte úplnú adresu URL servera MCP alebo štyri polia šablóny, ak ich obrazovka nastavenia vyžaduje.

  • Overte, že server MCP existuje presne v danej databáze a schéme.

V ChatGPT sa nezobrazujú žiadne nástroje

  • Overte, že špecifikácia servera MCP obsahuje nástroje.

  • Overte, že rola má povolenie USAGE pre server MCP.

Nástroj sa zobrazuje, ale pri použití zlyhá

  • Overte, že rola má požadované povolenie pre podkladový objekt Snowflake, napríklad vyhľadávaciu službu, sémantické zobrazenie, sklad, procedúru alebo UDF.

Nástroj SQL zlyhá

  • Overte, že názov skladu je správny a sklad je spustený.

  • Overte, že rola má povolenie USAGE pre sklad.

  • Ak ste chceli prístup iba na čítanie, overte, že je nastavené read_only: true.

Požadovaná rola ALL bola výslovne zablokovaná

Požiadajte správcu Snowflake, aby porovnal vašu predvolenú rolu s povolenými a blokovanými rolami integrácie OAuth. Iná povolená rola sa nevyberie automaticky. Ak je to vhodné, zmeňte predvolenú rolu na schválenú rolu a znova sa pripojte. Zmena predvolenej roly ovplyvní aj vaše relácie Snowflake mimo ChatGPT.

Autorizácia zlyhá

  • Overte, že sa používateľ môže prihlásiť do služby Snowflake.

  • Pri použití hodnoty session:role:all overte, že integrácia OAuth povoľuje predvolenú rolu používateľa.

  • Overte, že nastavenie používa tok OAuth pre server MCP spravovaný službou Snowflake.

  • Overte, že identifikátor klienta a tajný kľúč klienta zodpovedajú integrácii OAuth služby Snowflake a že jej identifikátor URI presmerovania zodpovedá adrese URL spätného volania zobrazenej v ChatGPT.

Sieťová politika Snowflake alebo zoznam povolených IP adries blokuje konektor

  • Požiadajte správcu Snowflake, aby aktualizoval sieťovú politiku alebo pravidlá prístupu Snowflake.

  • Povoľte prichádzajúce pripojenia z aktuálnych rozsahov výstupných IP adries konektorov ChatGPT.

  • Tento zoznam povolených adries nakonfigurujte v službe Snowflake. Je oddelený od zoznamu povolených IP adries pracovného priestoru ChatGPT.

  • Ak je to možné, automatizujte aktualizácie z publikovaného súboru JSON, pretože rozsahy sa môžu meniť.

Problém s pripojením k názvu hostiteľa

Použite správnu predponu hostiteľa Snowflake. Názvy hostiteľov Snowflake s podčiarkovníkmi môžu spôsobovať problémy. Uprednostnite spojovníky.

Referencie

Bol tento článok užitočný?