Ezt az útmutatót akkor használja, ha Ön a ChatGPT munkaterület rendszergazdája, illetve ChatGPT Plus- vagy Pro-felhasználó, és egy Snowflake által felügyelt MCP-kiszolgálón keresztül szeretné a ChatGPT-t a Snowflake-hez kapcsolni.
A beállítás nagy része a Snowflake-ben történik. Miután előkészítette a Snowflake-et, fejezze be a Snowflake-sablon kapcsolatának beállítását a ChatGPT-ben, majd engedélyezze a sablont használó Snowflake beépülő modult.
Mit fog beállítani?
Egy Snowflake által felügyelt MCP-kiszolgálót hoz létre, amely a ChatGPT összekötőjének végpontjaként működik. Az MCP-kiszolgáló meghatározza:
Mely műveleteket használhatja a ChatGPT.
Mely Snowflake-adatokhoz vagy -objektumokhoz férhetnek hozzá ezek az eszközök.
Melyik Snowflake-szerepkörrel engedélyezi a hozzáférést az egyes felhasználó.
Melyik Snowflake-adatbázis, -séma és MCP-kiszolgálónév azonosítja a végpontot.
Ezután a teljes felügyelt MCP-kiszolgáló URL-címével konfigurálja a Snowflake – hivatalos sablon elemet a ChatGPT-ben. A sablon beállítási képernyőjén az URL négy külön mezőként jelenhet meg:
Snowflake-gazdagép előtagja.
Adatbázis.
Séma.
Az MCP-kiszolgáló neve.
A ChatGPT csak az MCP-kiszolgáló által közzétett és a felhasználó által engedélyezett Snowflake-szerepkör számára megengedett eszközöket képes felismerni és használni.
Mielőtt hozzákezd
A következőkre lesz szüksége:
ChatGPT munkaterületi rendszergazdai vagy tulajdonosi hozzáférés, illetve ChatGPT Plus- vagy Pro-hozzáférés.
Olyan Snowflake-hozzáférés, amellyel MCP-kiszolgálóobjektumok hozhatók létre és engedélyek adhatók.
Az a Snowflake-adatbázis és -séma, amelyben az MCP-kiszolgáló található majd.
Döntés arról, hogy mit tehessen a ChatGPT, például használhassa-e a Cortex Search vagy a Cortex Analyst szolgáltatást, csak olvasási SQL-műveleteket, illetve egy adott eljárást vagy függvényt.
Egy minimális jogosultságú Snowflake-szerepkör, amelyet a felhasználók az alkalmazás engedélyezésekor használnak.
A Snowflake-fiók gazdagépének előtagja, beleértve a régió- vagy felhőutótagot is.
Ha Snowflake-fiókja hálózati házirenddel vagy engedélyezett IP-címek listájával korlátozza a hozzáférést, kérje meg a Snowflake rendszergazdáját, hogy engedélyezze a bejövő kapcsolatokat a ChatGPT-összekötők aktuális kimenő IP-címtartományaiból. A lista dinamikus, ezért naprakészen kell tartani.
Előkészítendő értékek
Snowflake-gazdagép előtagja: a Snowflake-fiók URL-címében a .snowflakecomputing.com előtti teljes rész.
Adatbázis: az MCP-kiszolgálót tartalmazó adatbázis.
Séma: az MCP-kiszolgálót tartalmazó séma.
MCP-kiszolgáló neve: a Snowflake MCP-kiszolgálóobjektumának neve.
A felügyelt MCP-kiszolgáló teljes URL-címe, ha a ChatGPT beállítási képernyője URL-címet kér.
Snowflake-szerepkör: az alkalmazás engedélyezésekor használandó szerepkör.
Eszközlista: azok a Snowflake-objektumok és -műveletek, amelyeket a ChatGPT használhat.
Döntse el, mit tehessen a ChatGPT
Csak a közzétenni kívánt képességeket válassza ki. Gyakori lehetőségek:
Keresés a Cortex Search segítségével az indexelt Snowflake-adatokban vagy -tartalmakban található válaszok megkereséséhez.
Kérdések és válaszok a Cortex Analyst segítségével, egy jóváhagyott szemantikai nézeten keresztül.
Csak olvasási SQL az ellenőrzött lekérdezési hozzáféréshez.
Snowflake Agent, tárolt eljárás vagy UDF egy adott munkafolyamathoz.
Ha engedélyezi az SQL-t, tartsa csak olvashatóként, kivéve, ha szervezete felülvizsgálta és jóváhagyta az írási hozzáférést.
Snowflake-munkalap megnyitása
Jelentkezzen be a Snowflake alkalmazásba.
Váltson olyan szerepkörre, amely létrehozhatja az MCP-kiszolgálót és hozzáférést adhat.
Lépjen a Munkaterületek részre.

Hozzon létre egy munkaterületet egy SQL-fájllal.

Állítsa a munkaterület környezetét arra az adatbázisra és sémára, amelyben az MCP-kiszolgáló létrejön.

A Snowflake MCP-kiszolgáló létrehozása
Jelentkezzen be a Snowflake-be egy olyan szerepkörrel, amely létrehozhatja az MCP-kiszolgálót és hozzáférést adhat. Nyisson meg egy munkalapot abban az adatbázisban és sémában, amelyben az MCP-kiszolgálót létre kívánja hozni.
Futtasson az alábbi példához hasonló utasítást. Cserélje le a neveket saját Snowflake-adatbázisa, -sémája, -szolgáltatásai, -nézetei, -raktára és kiszolgálója nevére.
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" $$;

Az utasításban szereplő eszköznevek és Snowflake-objektumok példák:
A
support-searchközzéteszi a megadott Cortex Search-szolgáltatást.A
revenue-analystközzéteszi a megadott szemantikai nézetet. Szükség szerint adjon hozzá eszközöket más nézetekhez.A
sql-readonlycsak olvasási SQL-hozzáférést tesz elérhetővé a megadott raktárral.
Használjon állandó, jól leíró eszközneveket, hogy a ChatGPT a megfelelő eszközt választhassa. Az MCP-kiszolgáló létrehozása nem ad automatikusan hozzáférést az alapul szolgáló Snowflake-objektumokhoz.
További specifikációs lehetőségekért lásd: Snowflake által felügyelt MCP-kiszolgáló létrehozása.
A megfelelő Snowflake-engedélyek megadása
Válassza ki a felhasználók által engedélyezéskor használandó Snowflake-szerepkört, majd adjon neki hozzáférést a következőkhöz:
Az adatbázis és a séma.
Az MCP-kiszolgáló.
Az eszközök által használt minden alapul szolgáló objektum, például keresési szolgáltatás, szemantikai nézet vagy raktár.
Példa:
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;
Ha az MCP-kiszolgáló UDF-et, tárolt eljárást vagy Cortex Agentet tesz elérhetővé, az adott objektumhoz szükséges engedélyeket is adja meg.
A Snowflake készenlétének ellenőrzése
Futtassa:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Ezután futtassa:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Ellenőrizze a következőket:
A kiszolgáló a várt adatbázisban és sémában létezik.
Az eszközlista megfelel a tervezettnek.
Minden eszköz
identifiermezője a megfelelő Snowflake-objektumra mutat.A kapcsolódó szerepkör rendelkezik
USAGEengedéllyel az MCP-kiszolgálón.A kapcsolódó szerepkör minden alapul szolgáló objektumhoz rendelkezik a szükséges engedélyekkel.
A Snowflake-kiszolgáló adatainak megadása a ChatGPT-ben
A ChatGPT-ben váltson arra a fiókra vagy munkaterületre, ahol elérhetővé szeretné tenni az alkalmazást.
Nyissa meg a Beállításokat. A teljes munkaterületre érvényes beállításhoz munkaterületi rendszergazdaként nyissa meg a Munkaterület beállításai részt.
Lépjen a Beépülő modulok részre.
Keressen rá a Snowflake kifejezésre.
Engedélyezze a Snowflake – hivatalos sablon elemet.
Nyissa meg a Snowflake – hivatalos sablon elemet, adjon meg egy egyértelmű kapcsolatnevet, majd válassza a Kapcsolódás lehetőséget.
Adja meg a felügyelt MCP-kiszolgáló teljes URL-címét:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
Példa:
https://myorg-myaccount.azure.snowflakecomputing.com/api/v2/databases/CHATGPT_APPS/schemas/TOOLS/mcp-servers/CHATGPT_SNOWFLAKE_MCP

Ha a beállítási képernyő külön mezőkben jeleníti meg a Snowflake-konfigurációt, használja az URL-címben szereplő értékeket:
Snowflake-gazdagép előtagja
Használja a Snowflake-fiók URL-címének .snowflakecomputing.com előtti teljes részét, beleértve a régió- vagy felhőutótagot is.
Ha például a fiók URL-címe így kezdődik:
https://myorg-myaccount.azure.snowflakecomputing.com
A gazdagép előtagja:
myorg-myaccount.azure
Adatbázis
Adja meg az MCP-kiszolgálót tartalmazó adatbázist, például:
CHATGPT_APPS
Séma
Adja meg az MCP-kiszolgálót tartalmazó sémát, például:
TOOLS
Az MCP-kiszolgáló neve
Adja meg a Snowflake MCP-kiszolgálóobjektumának nevét, például:
CHATGPT_SNOWFLAKE_MCP
Az OAuth-kliens konfigurálása
A kapcsolódáshoz szüksége lesz egy Snowflake-ből származó kliensazonosítóra és klienskulcsra.
A session:role:all használatakor a Snowflake minden felhasználó alapértelmezett szerepkörét használja. Az alapértelmezett szerepkört az OAuth-integráció szerepkör-engedélyezési listájának engedélyeznie kell, ha van ilyen beállítva, és a szerepkör nem lehet letiltva. Egy másik jóváhagyott szerepkör megléte nem jelenti annak automatikus kiválasztását.
A ChatGPT beállítási párbeszédpanelén nyissa meg a Speciális OAuth-beállításokat, válassza a Felhasználó által meghatározott OAuth-kliens lehetőséget, majd másolja ki a ChatGPT-ben látható Visszahívási URL-t.
Hozzon létre egy egyéni OAuth biztonsági integrációt az
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'beállítással, azOAUTH_REDIRECT_URIértékeként pedig pontosan ezt a visszahívási URL-t adja meg.Futtassa az alábbi utasítást a Snowflake-ben, az integráció nevét nagybetűkkel megadva:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');A JSON-eredményből illessze be az
oauth_client_idértékét az OAuth-kliensazonosító, azoauth_client_secretértékét pedig az OAuth-klienskulcs mezőbe a ChatGPT-ben.A Tokenvégpont hitelesítési módja beállítás értéke legyen
client_secret_basic.
Kapcsolódás a Snowflake-hez és annak kezelése
Ugyanebben a ChatGPT beállítási párbeszédpanelben válassza a Folytatás lehetőséget, jelentkezzen be a Snowflake-be, és engedélyezze a kapcsolatot.
Munkaterületi beállítás esetén konfigurálja a beépülő modul telepítési házirendjét, valamint a használatára jogosult tagok szerepkör- vagy csoporthozzáférését. Ellenőrizze, hogy a Snowflake és a Snowflake – hivatalos sablon is engedélyezve van.
A munkaterületi rendszergazdák felelősek a Snowflake-et használó szerepkörök Felhasználói hozzáférésének konfigurálásáért.
A munkaterületi rendszergazdák felelősek a közzétett eszközökre vonatkozó Műveletvezérlés felülvizsgálatáért.
A munkaterületi rendszergazdák felelősek az Alkalmazásengedélyek felülvizsgálatáért, hogy meghatározzák, mikor kérjen engedélyt a ChatGPT a tagoktól az alkalmazás használata előtt.
Ezek az alkalmazásengedélyek a ChatGPT-beszélgetésekre vonatkoznak. A munkaterületi ügynökök az ügynök készítője által beállított, ügynökönkénti vezérlők alapján határozzák meg az elérhető alkalmazásműveleteket, valamint azt, hogy mikor kell a végfelhasználók jóváhagyását kérni. Az ügynökök működéséről lásd: ChatGPT munkaterületi ügynökök Enterprise és Business csomaghoz.
Az alkalmazás tesztelése
Nyisson meg egy csevegést, válassza a Snowflake lehetőséget, majd tesztelje a kapcsolatot.
Ellenőrizze, hogy a ChatGPT felismeri-e a konfigurált eszközöket.
Először kis kockázatú olvasási műveletet futtasson, például keresést vagy csak olvasási lekérdezést jóváhagyott adatokon.
Ellenőrizze, hogy a Snowflake-engedélyek megakadályozzák-e a jóváhagyott szerepkörön és objektumokon kívüli hozzáférést.
Munkaterületi beállítás esetén teszteljen különböző alapértelmezett Snowflake-szerepkörrel rendelkező, engedélyezett, nem rendszergazda tagokkal. Egy rendszergazda sikeres kapcsolódása nem igazolja, hogy minden tag tud kapcsolódni.
A munkaterületi rendszergazdák számára önmagában a Snowflake engedélyezése nem elegendő. Ha a Snowflake – hivatalos sablon nincs engedélyezve és csatlakoztatva, a beépülő modul letiltva jelenhet meg a tagok számára.
Az MCP-kiszolgáló URL-címe és az OAuth működése
A ChatGPT a Snowflake által felügyelt MCP-kiszolgáló teljes URL-címéhez kapcsolódik:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
A ChatGPT az URL-címben szereplő Snowflake-gazdagépelőtag alapján oldja fel a következő Snowflake OAuth-végpontokat:
Engedélyezés:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Ne illesszen be Snowsight URL-címet, önmagában a Snowflake-fiók gyökér-URL-címét vagy további útvonalszakaszokat tartalmazó URL-címet. Az MCP URL-címének tartalmaznia kell a /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} útvonalat, és pontosan meg kell egyeznie a Snowflake-objektumokkal.
Hibaelhárítás
A Snowflake engedélyezve van egy rendszergazdának, de le van tiltva egy tagnak
Ellenőrizze, hogy a Snowflake és a Snowflake – hivatalos sablon is engedélyezve van a Munkaterület beállításai > Beépülő modulok részben.
Nyissa meg a Snowflake – hivatalos sablon elemet, és végezze el a Kapcsolódás folyamatát. Nem elegendő a sablont kapcsolódás nélkül engedélyezni.
Nyissa meg a Snowflake elemet, és ellenőrizze, hogy a sablon megjelenik-e a szükséges alkalmazásként.
Ellenőrizze, hogy a beépülő modul telepítési házirendje engedélyezi-e az érintett tag szerepkörét vagy csoportját.
Az MCP-kiszolgáló nem található
Ellenőrizze újra az MCP-kiszolgáló teljes URL-címét, illetve a négy sablonmezőt, ha a beállítási képernyő ezeket kéri.
Ellenőrizze, hogy az MCP-kiszolgáló pontosan az adott adatbázisban és sémában létezik-e.
Nem jelennek meg eszközök a ChatGPT-ben
Ellenőrizze, hogy az MCP-kiszolgáló specifikációja tartalmaz-e eszközöket.
Ellenőrizze, hogy a szerepkör rendelkezik-e
USAGEengedéllyel az MCP-kiszolgálón.
Egy eszköz megjelenik, de használatkor hibát jelez
Ellenőrizze, hogy a szerepkör rendelkezik-e a szükséges engedéllyel az alapul szolgáló Snowflake-objektumhoz, például a keresési szolgáltatáshoz, szemantikai nézethez, raktárhoz, eljáráshoz vagy UDF-hez.
Az SQL-eszköz hibát jelez
Ellenőrizze, hogy helyes-e a raktár neve, és hogy fut-e a raktár.
Ellenőrizze, hogy a szerepkör rendelkezik-e
USAGEengedéllyel a raktáron.Ha csak olvasási hozzáférést kívánt megadni, ellenőrizze, hogy be van-e állítva a
read_only: trueérték.
A kért ALL szerepkör kifejezetten le van tiltva
Kérje meg a Snowflake rendszergazdáját, hogy hasonlítsa össze az Ön alapértelmezett szerepkörét az OAuth-integráció engedélyezett és letiltott szerepköreivel. Egy másik engedélyezett szerepkör megléte nem jelenti annak automatikus kiválasztását. Ha indokolt, módosítsa az alapértelmezett szerepkört egy jóváhagyott szerepkörre, majd kapcsolódjon újra. Az alapértelmezett szerepkör módosítása a ChatGPT-n kívüli Snowflake-munkameneteket is érinti.
Az engedélyezés sikertelen
Ellenőrizze, hogy a felhasználó be tud-e jelentkezni a Snowflake-be.
A
session:role:allhasználatakor ellenőrizze, hogy az OAuth-integráció engedélyezi-e a felhasználó alapértelmezett szerepkörét.Ellenőrizze, hogy a beállítás a Snowflake által felügyelt MCP OAuth-folyamatot használja-e.
Ellenőrizze, hogy a kliensazonosító és a klienskulcs megfelel-e a Snowflake OAuth-integrációnak, és hogy annak átirányítási URI-ja megegyezik-e a ChatGPT-ben látható Visszahívási URL-lel.
A Snowflake hálózati házirendje vagy IP-engedélyezési listája blokkolja az összekötőt
Kérje meg a Snowflake rendszergazdáját, hogy frissítse a Snowflake hálózati házirendjét vagy hozzáférési szabályait.
Engedélyezze a bejövő kapcsolatokat a ChatGPT-összekötők aktuális kimenő IP-címtartományaiból.
Ezt az engedélyezési listát a Snowflake-ben konfigurálja. Ez nem azonos a ChatGPT munkaterület IP-engedélyezési listájával.
Amikor lehetséges, automatizálja a frissítéseket a közzétett JSON alapján, mert a tartományok változhatnak.
Gazdagépnévvel kapcsolatos csatlakozási probléma
Használja a megfelelő Snowflake-gazdagépelőtagot. Az aláhúzásjelet tartalmazó Snowflake-gazdagépnevek problémát okozhatnak; inkább kötőjeleket használjon.
