OpenAI
Această pagină a fost tradusă automat. Vezi articolul original în limba engleză.

Configurați șablonul aplicației Snowflake în ChatGPT

Aflați cum pot administratorii spațiilor de lucru ChatGPT și utilizatorii ChatGPT Plus sau Pro să conecteze ChatGPT la un server MCP gestionat de Snowflake.

Actualizat: 15 hours ago

Folosește acest ghid dacă ești administrator al unui spațiu de lucru ChatGPT sau utilizator ChatGPT Plus ori Pro și vrei să conectezi ChatGPT la Snowflake printr-un server MCP gestionat de Snowflake.

Cea mai mare parte a configurării se face în Snowflake. După ce Snowflake este pregătit, finalizează conectarea șablonului Snowflake în ChatGPT, apoi activează pluginul Snowflake care folosește acel șablon.

  • OAuth integrat: Când această opțiune este disponibilă pentru contul tău Snowflake și în ChatGPT, folosește aplicația parteneră ChatGPT activată de un administrator Snowflake. Conectează-te la Snowflake folosind SSO-ul organizației tale, dacă este configurat. Nu trebuie să introduci un ID de client sau un secret de client în ChatGPT. Urmează instrucțiunile din secțiunea „OAuth integrat” de mai jos.

  • Client OAuth personalizat: Folosește această opțiune dacă organizația ta impune utilizarea propriului client OAuth sau dacă OAuth integrat nu este disponibil. Urmează instrucțiunile din secțiunea „Client OAuth personalizat” de mai jos.

Ambele opțiuni OAuth necesită configurarea comună a serverului MCP, permisiunile pentru obiectele subiacente și accesul la rețea descrise mai jos. Înainte de a configura OAuth, parcurge pașii de configurare comuni, până la secțiunea „Introdu detaliile serverului Snowflake în ChatGPT” inclusiv.

Ce configurezi

Creezi un server MCP gestionat de Snowflake, care servește drept punct final al conectorului pentru ChatGPT. Serverul MCP definește:

  • Ce acțiuni poate folosi ChatGPT.

  • Ce date sau obiecte Snowflake pot accesa aceste instrumente.

  • Ce rol Snowflake folosește fiecare utilizator la autorizare.

  • Ce bază de date, schemă și nume de server MCP din Snowflake identifică punctul final.

Apoi configurezi Snowflake - Șablon oficial în ChatGPT folosind URL-ul complet al serverului MCP gestionat. Ecranul de configurare a șablonului poate afișa URL-ul sub forma a patru câmpuri separate:

  • Prefixul gazdei Snowflake.

  • Baza de date.

  • Schema.

  • Numele serverului MCP.

ChatGPT poate descoperi și folosi doar instrumentele expuse de serverul MCP și permise de rolul Snowflake pe care utilizatorul îl folosește la autorizare.

Înainte de a începe

Ai nevoie de:

  • Acces de administrator sau de proprietar al unui spațiu de lucru ChatGPT ori acces la ChatGPT Plus sau Pro.

  • Acces la Snowflake care permite crearea de obiecte server MCP și acordarea de permisiuni.

  • Baza de date și schema Snowflake în care va fi găzduit serverul MCP.

  • O decizie privind funcțiile pe care ChatGPT va avea voie să le folosească, precum Cortex Search, Cortex Analyst, SQL doar pentru citire sau o anumită procedură ori funcție.

  • Un rol Snowflake cu privilegii minime, pe care utilizatorii îl vor folosi la autorizarea aplicației.

  • Prefixul gazdei contului Snowflake, inclusiv orice sufix de regiune sau de cloud.

Dacă accesul la contul tău Snowflake este restricționat printr-o politică de rețea sau o listă de adrese IP permise, cere unui administrator Snowflake să permită conexiunile de intrare din intervalele IP de ieșire actuale ale conectorilor ChatGPT. Lista este dinamică și trebuie menținută la zi.

Valori de pregătit

  • Prefixul gazdei Snowflake: tot ce apare înainte de .snowflakecomputing.com în URL-ul contului Snowflake.

  • Baza de date: baza de date care conține serverul MCP.

  • Schema: schema care conține serverul MCP.

  • Numele serverului MCP: numele obiectului server MCP din Snowflake.

  • URL-ul complet al serverului MCP gestionat, dacă ecranul de configurare ChatGPT solicită un URL.

  • Rolul Snowflake: rolul pe care utilizatorii trebuie să îl folosească la autorizarea aplicației.

  • Lista de instrumente: obiectele și acțiunile Snowflake pe care vrei să le folosească ChatGPT.

Decide ce poate face ChatGPT

Alege doar funcționalitățile pe care vrei să le expui. Printre opțiunile uzuale se numără:

  • Căutarea cu Cortex Search pentru a găsi răspunsuri în datele sau conținutul indexat din Snowflake.

  • Întrebări și răspunsuri cu Cortex Analyst printr-o vizualizare semantică aprobată.

  • SQL doar pentru citire, pentru acces controlat la interogări.

  • Un agent Snowflake, o procedură stocată sau o funcție definită de utilizator (UDF) pentru un anumit flux de lucru.

Dacă activezi SQL, limitează-l la citire, cu excepția cazului în care organizația ta a analizat și aprobat accesul de scriere.

Deschide o foaie de lucru Snowflake

  1. Conectează-te la aplicația Snowflake.

  2. Treci la un rol care poate crea serverul MCP și acorda acces.

  3. Accesează Spații de lucru.

    Snowflake navigation menu showing Workspaces selected during MCP server setup.
  4. Creează un spațiu de lucru cu un fișier SQL.

    Snowflake workspace with a SQL file open for MCP server setup.
  5. Setează contextul spațiului de lucru la baza de date și schema în care va fi creat serverul MCP.

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

Creează serverul MCP Snowflake

În Snowflake, conectează-te cu un rol care poate crea serverul MCP și acorda acces. Deschide o foaie de lucru în baza de date și schema în care trebuie creat serverul MCP.

Execută o instrucțiune ca în exemplul următor. Înlocuiește numele cu cele ale bazei de date, schemei, serviciilor, vizualizărilor, depozitului de calcul și serverului tău 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.

Numele instrumentelor și obiectele Snowflake din această instrucțiune sunt exemple:

  • support-search expune serviciul Cortex Search specificat.

  • revenue-analyst expune vizualizarea semantică specificată. Adaugă instrumente pentru alte vizualizări, după nevoie.

  • sql-readonly expune SQL doar pentru citire, folosind depozitul de calcul specificat.

Folosește nume stabile și descriptive pentru instrumente, astfel încât ChatGPT să poată alege instrumentul potrivit. Crearea serverului MCP nu acordă automat acces la obiectele Snowflake subiacente.

Pentru opțiuni suplimentare privind specificația, consultă: Crearea unui server MCP gestionat de Snowflake.

Acordă permisiunile Snowflake corespunzătoare

Alege rolul Snowflake pe care utilizatorii îl vor folosi la autorizare, apoi acordă-i acces la:

  1. Baza de date și schemă.

  2. Serverul MCP.

  3. Fiecare obiect subiacent folosit de instrumente, precum un serviciu de căutare, o vizualizare semantică sau un depozit de calcul.

Exemplu:

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;

Dacă serverul MCP expune o UDF, o procedură stocată sau un agent Cortex, acordă permisiunile necesare și pentru acel obiect.

Verifică dacă Snowflake este pregătit

Execută:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Apoi execută:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Verifică următoarele:

  • Serverul există în baza de date și schema așteptate.

  • Lista de instrumente corespunde celei dorite.

  • Câmpul identifier al fiecărui instrument indică obiectul Snowflake corect.

  • Rolul folosit la conectare are privilegiul USAGE pentru serverul MCP.

  • Rolul folosit la conectare are permisiunile necesare pentru fiecare obiect subiacent.

Introdu detaliile serverului Snowflake în ChatGPT

  1. În ChatGPT, treci la contul sau spațiul de lucru în care aplicația trebuie să fie disponibilă.

  2. Accesează Setări > Pluginuri pentru o configurare personală sau, ca administrator al spațiului de lucru, Setările spațiului de lucru > Pluginuri pentru o configurare la nivelul spațiului de lucru.

  3. Caută Snowflake.

  4. Activează Snowflake - Șablon oficial.

  5. Deschide Snowflake - Șablon oficial, introdu un nume clar pentru conexiune și selectează Conectează.

  6. Introdu URL-ul complet al serverului MCP gestionat:

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

Exemplu:

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.

Dacă ecranul de configurare afișează configurația Snowflake în câmpuri separate, folosește aceleași valori din URL:

Prefixul gazdei Snowflake

Folosește tot ce apare înainte de .snowflakecomputing.com în URL-ul contului tău Snowflake, inclusiv orice sufix de regiune sau de cloud.

De exemplu, dacă URL-ul contului începe cu:

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

Prefixul gazdei este:

myorg-myaccount.azure

Baza de date

Introdu baza de date care conține serverul MCP, de exemplu:

CHATGPT_APPS

Schema

Introdu schema care conține serverul MCP, de exemplu:

TOOLS

Numele serverului MCP

Introdu numele obiectului server MCP din Snowflake, de exemplu:

CHATGPT_SNOWFLAKE_MCP

Configurează OAuth

Alege opțiunea OAuth disponibilă pentru contul tău și care îndeplinește cerințele organizației tale. Ambele opțiuni folosesc configurarea comună a serverului MCP de mai sus, precum și testele de conectare și controalele de acces de mai jos.

Indiferent de opțiunea OAuth, când folosești session:role:all, Snowflake utilizează rolul implicit al fiecărui utilizator. Rolul implicit trebuie să figureze în lista de roluri permise a integrării OAuth, dacă aceasta este configurată, și nu trebuie să fie blocat. Dacă utilizatorul are un alt rol aprobat, acesta nu este selectat automat.

OAuth integrat

Înainte de a continua, parcurge secțiunile comune de mai sus pentru a crea serverul MCP, a acorda permisiuni, a verifica serverul și a introduce detaliile acestuia în ChatGPT. Acest lucru este obligatoriu chiar dacă ai ajuns direct la această secțiune.

Folosește această opțiune doar când aplicația parteneră ChatGPT este disponibilă pentru contul tău Snowflake și OAuth integrat este disponibil în fereastra de configurare ChatGPT.

  1. Cere unui administrator Snowflake să activeze integrarea parteneră ChatGPT în același cont Snowflake care găzduiește serverul MCP. Reutilizează o integrare parteneră ChatGPT existentă și activată.

  2. În fereastra de configurare ChatGPT, folosește OAuth integrat. Nu trebuie să introduci un ID de client sau un secret de client și nici să înregistrezi un URL de callback.

  3. Continuă cu secțiunea „Conectează și gestionează Snowflake” de mai jos pentru a te conecta, a-ți da consimțământul și a configura accesul. Apoi parcurge secțiunea „Testează aplicația”, inclusiv testele cu membri care au acces, dar nu sunt administratori.

Comportamentul descris mai sus privind rolul implicit, lista de roluri permise și rolurile blocate se aplică și acestei opțiuni.

Client OAuth personalizat

Înainte de a continua, parcurge secțiunile comune de mai sus pentru a crea serverul MCP, a acorda permisiuni, a verifica serverul și a introduce detaliile acestuia în ChatGPT. Acest lucru este obligatoriu chiar dacă ai ajuns direct la această secțiune.

Pentru un client OAuth personalizat, ai nevoie de un ID de client și de un secret de client de la Snowflake. Comportamentul descris mai sus privind rolul implicit, lista de roluri permise și rolurile blocate se aplică și acestei opțiuni.

  1. În fereastra de configurare ChatGPT, selectează Setări OAuth avansate > Client OAuth definit de utilizator și copiază exact valoarea URL de callback afișată în ChatGPT.

  2. Creează o integrare de securitate OAuth personalizată cu OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' și OAUTH_REDIRECT_URI setat exact la acel URL de callback.

  3. Execută următoarea instrucțiune în Snowflake, folosind numele integrării scris cu majuscule:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Din rezultatul JSON, lipește valoarea oauth_client_id în câmpul ID client OAuth și valoarea oauth_client_secret în câmpul Secret client OAuth din ChatGPT.

  5. Setează Metoda de autentificare la punctul final pentru tokenuri la client_secret_basic.

După ce introduci datele de autentificare ale clientului personalizat, continuă cu secțiunile „Conectează și gestionează Snowflake” și „Testează aplicația” de mai jos.

Conectează și gestionează Snowflake

  1. Pentru oricare dintre opțiunile OAuth, în aceeași fereastră de configurare ChatGPT, selectează Continuă, conectează-te la Snowflake și autorizează conexiunea. Poți folosi SSO-ul organizației tale, dacă este configurat.

  2. Pentru o configurare la nivelul spațiului de lucru, configurează politica de instalare a pluginurilor și accesul pe roluri sau grupuri pentru membrii care trebuie să îl folosească. Verifică dacă atât Snowflake, cât și Snowflake - Șablon oficial sunt activate.

  3. Administratorii spațiului de lucru sunt responsabili de configurarea setării Accesul utilizatorilor pentru rolurile care trebuie să folosească Snowflake.

  4. Administratorii spațiului de lucru sunt responsabili de verificarea setării Controlul acțiunilor pentru instrumentele expuse.

  5. Administratorii spațiului de lucru sunt responsabili de verificarea setării Permisiunile aplicației, pentru a alege când ChatGPT le cere acordul membrilor înainte de a folosi aplicația.

Aceste permisiuni ale aplicației se aplică în conversațiile ChatGPT. Agenții spațiului de lucru folosesc controale individuale, stabilite de creatorul fiecărui agent, pentru a determina ce acțiuni ale aplicației sunt disponibile și când li se cere utilizatorilor finali să le aprobe. Pentru comportamentul agenților, consultă: Agenții spațiului de lucru ChatGPT pentru Enterprise și Business.

Testează aplicația

  1. Deschide o conversație, selectează Snowflake și testează conexiunea.

  2. Verifică dacă ChatGPT descoperă instrumentele pe care le-ai configurat.

  3. Execută mai întâi o acțiune de citire cu risc scăzut, precum o căutare sau o interogare doar pentru citire asupra datelor aprobate.

  4. Verifică dacă permisiunile Snowflake împiedică accesul în afara rolului și obiectelor aprobate.

  5. Pentru o configurare la nivelul spațiului de lucru, testează cu membri care au acces, dar nu sunt administratori, și care au roluri Snowflake implicite diferite. Faptul că un administrator se conectează cu succes nu confirmă că fiecare membru se poate conecta.

Pentru administratorii spațiului de lucru, nu este suficient să activeze doar Snowflake. Dacă Snowflake - Șablon oficial nu a fost activat și conectat, pluginul poate apărea ca dezactivat pentru membri.

URL-ul serverului MCP și comportamentul OAuth

ChatGPT se conectează la URL-ul complet al serverului MCP gestionat de Snowflake:

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

ChatGPT folosește prefixul gazdei Snowflake din acel URL pentru a determina următoarele puncte finale OAuth Snowflake:

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

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

Nu lipi un URL Snowsight, doar URL-ul rădăcină al contului Snowflake sau un URL cu segmente de cale suplimentare. URL-ul MCP trebuie să includă /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} și să corespundă exact obiectelor tale Snowflake.

Depanare

Snowflake este activat pentru un administrator, dar dezactivat pentru un membru

  • Verifică dacă atât Snowflake, cât și Snowflake - Șablon oficial sunt activate în Setările spațiului de lucru > Pluginuri.

  • Deschide Snowflake - Șablon oficial și parcurge întregul flux Conectează. Activarea șablonului fără conectarea lui nu este suficientă.

  • Deschide Snowflake și verifică dacă șablonul apare ca aplicație necesară pentru acesta.

  • Verifică dacă rolul sau grupul membrului afectat este permis de politica de instalare a pluginurilor.

Serverul MCP nu a fost găsit

  • Verifică din nou URL-ul complet al serverului MCP sau cele patru câmpuri ale șablonului, dacă ecranul de configurare le solicită.

  • Verifică dacă serverul MCP există exact în acea bază de date și în acea schemă.

Nu apare niciun instrument în ChatGPT

  • Verifică dacă specificația serverului MCP include instrumente.

  • Verifică dacă rolul are privilegiul USAGE pentru serverul MCP.

Un instrument apare, dar dă eroare la utilizare

  • Verifică dacă rolul are permisiunea necesară pentru obiectul Snowflake subiacent, precum serviciul de căutare, vizualizarea semantică, depozitul de calcul, procedura sau UDF-ul.

Instrumentul SQL dă eroare

  • Verifică dacă numele depozitului de calcul este corect și dacă acesta rulează.

  • Verifică dacă rolul are privilegiul USAGE pentru depozitul de calcul.

  • Verifică dacă este setat read_only: true, în cazul în care ai dorit acces doar pentru citire.

Rolul ALL solicitat a fost blocat explicit

Cere administratorului Snowflake să compare rolul tău implicit cu rolurile permise și blocate ale integrării OAuth. Dacă ai un alt rol permis, acesta nu este selectat automat. Dacă este cazul, schimbă rolul implicit cu un rol aprobat și reconectează-te. Schimbarea rolului implicit îți afectează și sesiunile Snowflake din afara ChatGPT.

Autorizarea eșuează

  • Verifică dacă utilizatorul se poate conecta la Snowflake.

  • Când folosești session:role:all, verifică dacă rolul implicit al utilizatorului este permis de integrarea OAuth.

  • Verifică dacă configurația folosește fluxul OAuth pentru MCP gestionat de Snowflake.

  • Dacă folosești un client OAuth personalizat, verifică dacă valorile ID client și Secret client corespund integrării OAuth Snowflake și dacă URI-ul ei de redirecționare corespunde exact valorii URL de callback afișate în ChatGPT.

    Dacă folosești OAuth integrat, cere unui administrator Snowflake să verifice dacă integrarea parteneră ChatGPT este disponibilă și activată în contul care găzduiește serverul MCP.

Politica de rețea sau lista de adrese IP permise din Snowflake blochează conectorul

  • Cere unui administrator Snowflake să actualizeze politica de rețea sau regulile de acces Snowflake.

  • Permite conexiunile de intrare din intervalele IP de ieșire actuale ale conectorilor ChatGPT.

  • Configurează această listă de adrese permise în Snowflake. Aceasta este separată de lista de adrese IP permise a spațiului de lucru ChatGPT.

  • Când este posibil, automatizează actualizările pe baza fișierului JSON publicat, deoarece intervalele se pot schimba.

Problemă de conectare legată de numele gazdei

Folosește prefixul corect al gazdei Snowflake. Numele gazdelor Snowflake care conțin caractere de subliniere pot cauza probleme; folosește de preferință cratime.

Referințe

A fost util acest articol?