OpenAI
Ova stranica je mašinski prevedena. Pogledaj originalni članak na engleskom jeziku.

Postavite predložak aplikacije Snowflake u ChatGPT-u

Saznajte kako administratori ChatGPT radnog prostora i korisnici paketa ChatGPT Plus ili ChatGPT Pro mogu povezati ChatGPT s MCP serverom kojim upravlja Snowflake.

Ažurirano: 13 days ago

Ovaj vodič namijenjen je administratorima radnog prostora u ChatGPT-u i korisnicima planova ChatGPT Plus ili Pro koji žele povezati ChatGPT sa Snowflakeom putem MCP servera kojim upravlja Snowflake.

Većina podešavanja obavlja se u Snowflakeu. Kada Snowflake bude spreman, dovršite povezivanje predloška za Snowflake u ChatGPT-u, a zatim omogućite dodatak Snowflake koji koristi taj predložak.

  • Ugrađeni OAuth: Ako je dostupan za vaš Snowflake račun i u ChatGPT-u, koristite partnersku aplikaciju ChatGPT koju je omogućio administrator Snowflakea. Prijavite se u Snowflake koristeći SSO svoje organizacije ako je konfigurisan. U ChatGPT ne morate unositi ID klijenta ni tajni ključ klijenta. Slijedite upute u odjeljku Ugrađeni OAuth u nastavku.

  • Prilagođeni OAuth klijent: Koristite ovu opciju ako vaša organizacija zahtijeva vlastiti OAuth klijent ili ugrađeni OAuth nije dostupan. Slijedite upute u odjeljku Prilagođeni OAuth klijent u nastavku.

Obje OAuth opcije zahtijevaju zajedničko podešavanje MCP servera, dozvole za osnovne objekte i mrežni pristup opisane u nastavku. Prije konfiguracije OAuth-a dovršite zajedničko podešavanje, zaključno s odjeljkom Unesite podatke o Snowflake serveru u ChatGPT.

Šta podešavate

Kreirate MCP server kojim upravlja Snowflake i koji služi kao krajnja tačka konektora za ChatGPT. MCP server definiše:

  • Koje radnje ChatGPT može koristiti.

  • Kojim Snowflake podacima ili objektima ti alati mogu pristupiti.

  • Koju Snowflake ulogu svaki korisnik koristi za autorizaciju.

  • Koja Snowflake baza podataka, šema i naziv MCP servera identifikuju krajnju tačku.

Zatim u ChatGPT-u konfigurišete Snowflake - Službeni predložak pomoću punog URL-a upravljanog MCP servera. Ekran za podešavanje predloška može prikazivati URL u četiri zasebna polja:

  • Prefiks Snowflake hosta.

  • Baza podataka.

  • Šema.

  • Naziv MCP servera.

ChatGPT može otkriti i koristiti samo alate koje MCP server čini dostupnim i koje dozvoljava Snowflake uloga koju korisnik koristi za autorizaciju.

Prije nego što počnete

Potrebno vam je:

  • Pristup u svojstvu administratora ili vlasnika radnog prostora u ChatGPT-u ili pristup planu ChatGPT Plus ili Pro.

  • Pristup Snowflakeu koji omogućava kreiranje objekata MCP servera i dodjeljivanje dozvola.

  • Snowflake baza podataka i šema u kojima će se nalaziti MCP server.

  • Odluka o tome šta ChatGPT smije koristiti, kao što su Cortex Search, Cortex Analyst, SQL samo za čitanje ili određena procedura ili funkcija.

  • Snowflake uloga s minimalnim potrebnim privilegijama koju će korisnici koristiti pri autorizaciji aplikacije.

  • Prefiks hosta Snowflake računa, uključujući eventualni sufiks za regiju ili oblak.

Ako vaš Snowflake račun ograničava pristup mrežnim pravilima ili listom dozvoljenih IP adresa, zamolite administratora Snowflakea da dozvoli dolazne veze iz trenutnih raspona izlaznih IP adresa ChatGPT konektora. Lista je dinamična i treba je redovno ažurirati.

Vrijednosti koje treba pripremiti

  • Prefiks Snowflake hosta: sve ispred .snowflakecomputing.com u URL-u Snowflake računa.

  • Baza podataka: baza podataka koja sadrži MCP server.

  • Šema: šema koja sadrži MCP server.

  • Naziv MCP servera: naziv objekta Snowflake MCP servera.

  • Puni URL upravljanog MCP servera, ako ekran za podešavanje u ChatGPT-u traži URL.

  • Snowflake uloga: uloga koju korisnici trebaju koristiti pri autorizaciji aplikacije.

  • Lista alata: Snowflake objekti i radnje koje želite da ChatGPT koristi.

Odredite šta ChatGPT može raditi

Odaberite samo mogućnosti koje želite učiniti dostupnim. Uobičajene opcije uključuju:

  • Pretraživanje pomoću servisa Cortex Search radi pronalaženja odgovora u indeksiranim podacima ili sadržaju u Snowflakeu.

  • Pitanja i odgovore uz Cortex Analyst putem odobrenog semantičkog pogleda.

  • SQL samo za čitanje radi kontrolisanog pristupa putem upita.

  • Snowflake agenta, pohranjenu proceduru ili UDF za određeni tok rada.

Ako omogućite SQL, ograničite ga na čitanje osim ako je vaša organizacija razmotrila i odobrila pristup za pisanje.

Otvorite radni list u Snowflakeu

  1. Prijavite se u aplikaciju Snowflake.

  2. Prebacite se na ulogu koja može kreirati MCP server i dodjeljivati pristup.

  3. Idite na Radni prostori.

    Snowflake navigation menu showing Workspaces selected during MCP server setup.
  4. Kreirajte radni prostor sa SQL datotekom.

    Snowflake workspace with a SQL file open for MCP server setup.
  5. Postavite kontekst radnog prostora na bazu podataka i šemu u kojima će se kreirati MCP server.

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

Kreirajte Snowflake MCP server

Prijavite se u Snowflake s ulogom koja može kreirati MCP server i dodjeljivati pristup. Otvorite radni list u bazi podataka i šemi u kojima treba kreirati MCP server.

Pokrenite naredbu poput one u sljedećem primjeru. Zamijenite nazive vlastitim nazivima baze podataka, šeme, servisa, pogleda, skladišta i servera u Snowflakeu.

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.

Nazivi alata i Snowflake objekti u ovoj naredbi služe kao primjeri:

  • support-search omogućava pristup navedenom servisu Cortex Search.

  • revenue-analyst omogućava pristup navedenom semantičkom pogledu. Po potrebi dodajte alate za druge poglede.

  • sql-readonly omogućava SQL upite samo za čitanje uz navedeno skladište.

Koristite dosljedne, opisne nazive alata kako bi ChatGPT mogao odabrati odgovarajući alat. Kreiranjem MCP servera ne dodjeljuje se automatski pristup osnovnim Snowflake objektima.

Dodatne opcije specifikacije potražite u članku: Kreiranje MCP servera kojim upravlja Snowflake.

Dodijelite odgovarajuće Snowflake dozvole

Odaberite Snowflake ulogu koju će korisnici koristiti za autorizaciju, a zatim joj dodijelite pristup sljedećem:

  1. Bazi podataka i šemi.

  2. MCP serveru.

  3. Svakom osnovnom objektu koji alati koriste, poput servisa za pretraživanje, semantičkog pogleda ili skladišta.

Primjer:

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;

Ako MCP server omogućava pristup UDF-u, pohranjenoj proceduri ili Cortex agentu, dodijelite potrebne dozvole i za taj objekt.

Provjerite je li Snowflake spreman

Pokrenite:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Zatim pokrenite:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Provjerite sljedeće:

  • Server postoji u očekivanoj bazi podataka i šemi.

  • Lista alata odgovara onome što ste namjeravali.

  • Vrijednost identifier svakog alata upućuje na odgovarajući Snowflake objekt.

  • Uloga koja se koristi za povezivanje ima dozvolu USAGE za MCP server.

  • Uloga koja se koristi za povezivanje ima potrebne dozvole za svaki osnovni objekt.

Unesite podatke o Snowflake serveru u ChatGPT

Za podešavanje radnog prostora otvorite admin.openai.com, odaberite željeni radni prostor u ChatGPT-u i otvorite Dodatke. Informacije o navigaciji radnim prostorom i pristupu starijim aplikacijama potražite u članku Administratorske kontrole, sigurnost i usklađenost za dodatke i aplikacije.

  1. U ChatGPT-u se prebacite na račun ili radni prostor u kojem aplikacija treba biti dostupna.

  2. Za lično podešavanje idite na Postavke > Dodaci, a za podešavanje radnog prostora kao administrator idite na Administratorska konzola > Dodaci.

  3. Potražite Snowflake.

  4. Omogućite Snowflake - Službeni predložak.

  5. Otvorite Snowflake - Službeni predložak, unesite jasan naziv veze i odaberite Poveži.

  6. Unesite puni URL upravljanog MCP servera:

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

Primjer:

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.

Ako ekran za podešavanje prikazuje konfiguraciju Snowflakea u zasebnim poljima, koristite iste vrijednosti iz URL-a:

Prefiks Snowflake hosta

Koristite sve ispred .snowflakecomputing.com u URL-u svog Snowflake računa, uključujući eventualni sufiks za regiju ili oblak.

Naprimjer, ako URL računa počinje sa:

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

Prefiks hosta je:

myorg-myaccount.azure

Baza podataka

Unesite bazu podataka koja sadrži MCP server, naprimjer:

CHATGPT_APPS

Šema

Unesite šemu koja sadrži MCP server, naprimjer:

TOOLS

Naziv MCP servera

Unesite naziv objekta Snowflake MCP servera, naprimjer:

CHATGPT_SNOWFLAKE_MCP

Konfigurišite OAuth

Odaberite OAuth opciju koja je dostupna za vaš račun i ispunjava zahtjeve vaše organizacije. Obje opcije koriste prethodno opisano zajedničko podešavanje MCP servera te testove povezivanja i kontrole pristupa opisane u nastavku.

Za obje OAuth opcije, kada koristite session:role:all, Snowflake koristi zadanu ulogu svakog korisnika. Zadana uloga mora biti na listi dozvoljenih uloga OAuth integracije, ako je ta lista konfigurisana, i ne smije biti blokirana. Ako imate drugu odobrenu ulogu, ona se neće automatski odabrati.

Ugrađeni OAuth

Prije nastavka slijedite prethodne zajedničke odjeljke da kreirate MCP server, dodijelite dozvole, provjerite server i unesete njegove podatke u ChatGPT. To je obavezno čak i ako ste došli direktno na ovaj odjeljak.

Koristite ovu opciju samo ako je partnerska aplikacija ChatGPT dostupna za vaš Snowflake račun i ako je ugrađeni OAuth dostupan u dijaloškom prozoru za podešavanje u ChatGPT-u.

  1. Zamolite administratora Snowflakea da omogući partnersku integraciju ChatGPT na istom Snowflake računu na kojem se nalazi MCP server. Ponovo upotrijebite postojeću omogućenu partnersku integraciju ChatGPT.

  2. U dijaloškom prozoru za podešavanje u ChatGPT-u koristite ugrađeni OAuth. Ne morate unositi ID klijenta ni tajni ključ klijenta niti registrovati URL povratnog poziva.

  3. Nastavite s odjeljkom Povežite Snowflake i upravljajte njime u nastavku da se prijavite, date saglasnost i konfigurišete pristup. Zatim dovršite korake iz odjeljka Testirajte aplikaciju, uključujući testove s članovima koji imaju dozvolu, ali nisu administratori.

Prethodno opisani način rada zadane uloge, liste dozvoljenih uloga i blokiranih uloga primjenjuje se i na ovu opciju.

Prilagođeni OAuth klijent

Prije nastavka slijedite prethodne zajedničke odjeljke da kreirate MCP server, dodijelite dozvole, provjerite server i unesete njegove podatke u ChatGPT. To je obavezno čak i ako ste došli direktno na ovaj odjeljak.

Za prilagođeni OAuth klijent potrebni su vam ID klijenta i tajni ključ klijenta iz Snowflakea. Prethodno opisani način rada zadane uloge, liste dozvoljenih uloga i blokiranih uloga primjenjuje se i na ovu opciju.

  1. U dijaloškom prozoru za podešavanje u ChatGPT-u odaberite Napredne OAuth postavke > Korisnički definisan OAuth klijent i kopirajte tačan URL povratnog poziva prikazan u ChatGPT-u.

  2. Kreirajte prilagođenu OAuth sigurnosnu integraciju s postavkom OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' i vrijednošću OAUTH_REDIRECT_URI postavljenom na taj tačan URL povratnog poziva.

  3. Pokrenite sljedeću naredbu u Snowflakeu, navodeći naziv integracije velikim slovima:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Iz JSON rezultata zalijepite oauth_client_id u polje ID OAuth klijenta, a oauth_client_secret u polje Tajni ključ OAuth klijenta u ChatGPT-u.

  5. Postavite Metodu autentifikacije krajnje tačke za token na client_secret_basic.

Nakon unosa vjerodajnica prilagođenog klijenta nastavite s odjeljcima Povežite Snowflake i upravljajte njime i Testirajte aplikaciju u nastavku.

Povežite Snowflake i upravljajte njime

  1. Za obje OAuth opcije u istom dijaloškom prozoru za podešavanje u ChatGPT-u odaberite Nastavi, prijavite se u Snowflake i odobrite povezivanje. Možete koristiti SSO svoje organizacije ako je konfigurisan.

  2. Za podešavanje radnog prostora konfigurišite pravila instalacije dodatka i pristup prema ulozi ili grupi za članove koji ga trebaju koristiti. Provjerite jesu li omogućeni i Snowflake i Snowflake - Službeni predložak.

  3. Administratori radnog prostora odgovorni su za podešavanje opcije Korisnički pristup za uloge koje trebaju koristiti Snowflake.

  4. Administratori radnog prostora odgovorni su za pregled opcije Kontrola radnji za dostupne alate.

  5. Administratori radnog prostora odgovorni su za pregled opcije Dozvole aplikacije kako bi odredili kada ChatGPT traži odobrenje članova prije upotrebe aplikacije.

Ove dozvole aplikacije primjenjuju se na razgovore u ChatGPT-u. Agenti radnog prostora koriste kontrole koje autor postavlja za svakog agenta kako bi odredio koje su radnje aplikacije dostupne i kada se od krajnjih korisnika traži da ih odobre. Informacije o ponašanju agenata potražite u članku: Agenti radnog prostora u ChatGPT-u za Enterprise i Business.

Testirajte aplikaciju

  1. Otvorite razgovor, odaberite Snowflake i testirajte vezu.

  2. Provjerite otkriva li ChatGPT alate koje ste konfigurisali.

  3. Prvo pokrenite niskorizičnu radnju čitanja, poput pretraživanja ili upita samo za čitanje nad odobrenim podacima.

  4. Provjerite sprečavaju li Snowflake dozvole pristup izvan odobrene uloge i objekata.

  5. Za podešavanje radnog prostora testirajte pristup s članovima koji imaju dozvolu, ali nisu administratori, i imaju različite zadane Snowflake uloge. Uspješno povezivanje administratora ne potvrđuje da se svaki član može povezati.

Administratorima radnog prostora nije dovoljno da omoguće samo Snowflake. Ako Snowflake - Službeni predložak nije omogućen i povezan, dodatak se članovima može prikazivati kao onemogućen.

URL MCP servera i način rada OAuth-a

ChatGPT se povezuje putem punog URL-a MCP servera kojim upravlja Snowflake:

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

ChatGPT koristi prefiks Snowflake hosta iz tog URL-a da odredi sljedeće Snowflake OAuth krajnje tačke:

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

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

Nemojte lijepiti Snowsight URL, samo osnovni URL Snowflake računa niti URL s dodatnim segmentima putanje. MCP URL mora sadržavati /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} i tačno odgovarati vašim Snowflake objektima.

Rješavanje problema

Snowflake je omogućen administratoru, ali onemogućen članu

  • Provjerite jesu li i Snowflake i Snowflake - Službeni predložak omogućeni u odjeljku Administratorska konzola > Dodaci.

  • Otvorite Snowflake - Službeni predložak i dovršite postupak Poveži. Nije dovoljno omogućiti predložak bez njegovog povezivanja.

  • Otvorite Snowflake i provjerite prikazuje li se predložak kao obavezna aplikacija za njega.

  • Provjerite dozvoljavaju li pravila instalacije dodatka pristup ulozi ili grupi člana koji ima problem.

MCP server nije pronađen

  • Ponovo provjerite puni URL MCP servera ili četiri polja predloška ako ih ekran za podešavanje traži.

  • Provjerite postoji li MCP server upravo u toj bazi podataka i šemi.

U ChatGPT-u se ne prikazuje nijedan alat

  • Provjerite uključuje li specifikacija MCP servera alate.

  • Provjerite ima li uloga dozvolu USAGE za MCP server.

Alat se prikazuje, ali ne radi pri upotrebi

  • Provjerite ima li uloga potrebnu dozvolu za osnovni Snowflake objekt, kao što je servis za pretraživanje, semantički pogled, skladište, procedura ili UDF.

SQL alat ne radi

  • Provjerite je li naziv skladišta ispravan i je li skladište pokrenuto.

  • Provjerite ima li uloga dozvolu USAGE za skladište.

  • Provjerite je li postavljeno read_only: true ako ste namjeravali omogućiti pristup samo za čitanje.

Zatražena uloga ALL izričito je blokirana

Zamolite administratora Snowflakea da uporedi vašu zadanu ulogu s dozvoljenim i blokiranim ulogama OAuth integracije. Ako imate drugu dozvoljenu ulogu, ona se neće automatski odabrati. Ako je to prikladno, promijenite zadanu ulogu u odobrenu ulogu i ponovo se povežite. Promjena zadane uloge utiče i na vaše Snowflake sesije izvan ChatGPT-a.

Autorizacija ne uspijeva

  • Provjerite može li se korisnik prijaviti u Snowflake.

  • Kada koristite session:role:all, provjerite dozvoljava li OAuth integracija korisnikovu zadanu ulogu.

  • Provjerite koristi li konfiguracija OAuth postupak za MCP kojim upravlja Snowflake.

  • Ako koristite prilagođeni OAuth klijent, provjerite odgovaraju li ID klijenta i Tajni ključ klijenta Snowflake OAuth integraciji i podudara li se njen URI za preusmjeravanje tačno s URL-om povratnog poziva prikazanim u ChatGPT-u.

    Ako koristite ugrađeni OAuth, zamolite administratora Snowflakea da provjeri je li partnerska integracija ChatGPT dostupna i omogućena na računu na kojem se nalazi MCP server.

Mrežna pravila ili lista dozvoljenih IP adresa u Snowflakeu blokiraju konektor

  • Zamolite administratora Snowflakea da ažurira mrežna pravila ili pravila pristupa u Snowflakeu.

  • Dozvolite dolazne veze iz trenutnih raspona izlaznih IP adresa ChatGPT konektora.

  • Ovu listu dozvoljenih adresa konfigurišite u Snowflakeu. Ona je odvojena od liste dozvoljenih IP adresa radnog prostora u ChatGPT-u.

  • Kad god je moguće, automatizujte ažuriranja na osnovu objavljenog JSON-a jer se rasponi mogu mijenjati.

Problem s povezivanjem zbog naziva hosta

Koristite ispravan prefiks Snowflake hosta. Nazivi Snowflake hostova s donjim crtama mogu uzrokovati probleme; radije koristite crtice.

Da li je ovaj članak bio koristan?