OpenAI
Denne siden ble maskinoversatt. Se den opprinnelige engelske artikkelen.

Konfigurer Snowflake-appmalen i ChatGPT

Finn ut hvordan administratorer for ChatGPT-arbeidsområder og brukere av ChatGPT Plus eller Pro kan koble ChatGPT til en Snowflake-administrert MCP-server.

Oppdatert: 11 days ago

Bruk denne veiledningen hvis du administrerer et ChatGPT-arbeidsområde eller bruker ChatGPT Plus eller Pro og vil koble ChatGPT til Snowflake via en Snowflake-administrert MCP-server.

Det meste av oppsettet gjøres i Snowflake. Når Snowflake er klart, fullfører du tilkoblingen for Snowflake-malen i ChatGPT og aktiverer deretter Snowflake-pluginen som bruker malen.

Dette skal du konfigurere

Du oppretter en Snowflake-administrert MCP-server som fungerer som endepunkt for ChatGPT-koblingen. MCP-serveren definerer:

  • Hvilke handlinger ChatGPT kan bruke.

  • Hvilke Snowflake-data eller -objekter disse verktøyene har tilgang til.

  • Hvilken Snowflake-rolle hver bruker autoriserer med.

  • Hvilken Snowflake-database, hvilket skjema og hvilket MCP-servernavn som identifiserer endepunktet.

Deretter konfigurerer du Snowflake – offisiell mal i ChatGPT med hele URL-adressen til den administrerte MCP-serveren. Oppsettskjermen for malen kan vise URL-adressen som fire separate felt:

  • Snowflake-vertsprefiks.

  • Database.

  • Skjema.

  • Navn på MCP-server.

ChatGPT kan bare finne og bruke verktøy som MCP-serveren eksponerer, og som Snowflake-rollen brukeren autoriserer med, tillater.

Før du begynner

Du trenger:

  • Tilgang som administrator eller eier av et ChatGPT-arbeidsområde, eller tilgang til ChatGPT Plus eller Pro.

  • Snowflake-tilgang som kan opprette MCP-serverobjekter og gi tillatelser.

  • Snowflake-databasen og -skjemaet der MCP-serveren skal ligge.

  • En beslutning om hva ChatGPT skal kunne gjøre, for eksempel bruke Cortex Search, Cortex Analyst, skrivebeskyttet SQL eller en bestemt prosedyre eller funksjon.

  • En Snowflake-rolle med færrest mulige rettigheter som brukerne skal bruke når de autoriserer appen.

  • Vertsprefikset for Snowflake-kontoen, inkludert eventuelle suffikser for region eller sky.

Hvis Snowflake-kontoen begrenser tilgangen med nettverksregler eller en liste over tillatte IP-adresser, ber du en Snowflake-administrator om å tillate innkommende tilkoblinger fra de gjeldende utgående IP-områdene for ChatGPT-koblinger. Listen er dynamisk og må holdes oppdatert.

Verdier du må klargjøre

  • Snowflake-vertsprefiks: alt før .snowflakecomputing.com i URL-adressen til Snowflake-kontoen.

  • Database: databasen som inneholder MCP-serveren.

  • Skjema: skjemaet som inneholder MCP-serveren.

  • Navn på MCP-server: objektnavnet til Snowflake MCP-serveren.

  • Full URL-adresse til den administrerte MCP-serveren hvis oppsettskjermen i ChatGPT ber om en URL-adresse.

  • Snowflake-rolle: rollen brukerne skal bruke når de autoriserer appen.

  • Verktøyliste: Snowflake-objektene og -handlingene du vil at ChatGPT skal bruke.

Bestem hva ChatGPT kan gjøre

Velg bare funksjonene du vil eksponere. Vanlige alternativer er:

  • Søk med Cortex Search for å finne svar i indekserte Snowflake-data eller innhold.

  • Spørsmål & svar med Cortex Analyst via en godkjent semantisk visning.

  • Skrivebeskyttet SQL for kontrollert spørringstilgang.

  • En Snowflake-agent, lagret prosedyre eller UDF for en bestemt arbeidsflyt.

Hvis du aktiverer SQL, bør tilgangen være skrivebeskyttet med mindre organisasjonen har gjennomgått og godkjent skrivetilgang.

Åpne et Snowflake-regneark

  1. Logg på Snowflake-appen.

  2. Bytt til en rolle som kan opprette MCP-serveren og gi tilgang.

  3. Gå til Arbeidsområder.

    Snowflake navigation menu showing Workspaces selected during MCP server setup.
  4. Opprett et arbeidsområde med en SQL-fil.

    Snowflake workspace with a SQL file open for MCP server setup.
  5. Angi databasen og skjemaet der MCP-serveren skal opprettes, som kontekst for arbeidsområdet.

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

Opprett Snowflake MCP-serveren

Logg på Snowflake med en rolle som kan opprette MCP-serveren og gi tilgang. Åpne et regneark i databasen og skjemaet der MCP-serveren skal opprettes.

Kjør en setning som i eksemplet nedenfor. Erstatt navnene med din egen Snowflake-database, ditt eget skjema og dine egne tjenester, visninger, datavarehus og servernavn.

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.

Verktøynavnene og Snowflake-objektene i denne setningen er eksempler:

  • support-search eksponerer den angitte Cortex Search-tjenesten.

  • revenue-analyst eksponerer den angitte semantiske visningen. Legg til verktøy for andre visninger etter behov.

  • sql-readonly eksponerer skrivebeskyttet SQL med det angitte datavarehuset.

Bruk stabile og beskrivende verktøynavn, slik at ChatGPT kan velge riktig verktøy. Tilgang til de underliggende Snowflake-objektene gis ikke automatisk når du oppretter MCP-serveren.

Du finner flere alternativer for spesifikasjonen under Opprett en Snowflake-administrert MCP-server.

Gi riktige Snowflake-tillatelser

Velg Snowflake-rollen brukerne skal autorisere med, og gi deretter rollen tilgang til

  1. Databasen og skjemaet.

  2. MCP-serveren.

  3. Alle underliggende objekter som verktøyene bruker, for eksempel en søketjeneste, semantisk visning eller et datavarehus.

Eksempel:

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;

Hvis MCP-serveren eksponerer en UDF, lagret prosedyre eller Cortex-agent, må du også gi de nødvendige tillatelsene til dette objektet.

Kontroller at Snowflake er klart

Kjør:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Kjør deretter:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Kontroller følgende:

  • Serveren finnes i forventet database og skjema.

  • Verktøylisten er som tiltenkt.

  • Hvert verktøys identifier peker til riktig Snowflake-objekt.

  • Rollen som kobler til, har USAGE på MCP-serveren.

  • Rollen som kobler til, har de nødvendige tillatelsene til hvert underliggende objekt.

Angi Snowflake-serverdetaljene i ChatGPT

  1. Bytt til kontoen eller arbeidsområdet der appen skal være tilgjengelig, i ChatGPT.

  2. Åpne Innstillinger. Hvis oppsettet skal gjelde hele arbeidsområdet, åpner du Innstillinger for arbeidsområdet som administrator.

  3. Gå til Pluginer.

  4. Søk etter Snowflake.

  5. Aktiver Snowflake – offisiell mal.

  6. Åpne Snowflake – offisiell mal, angi et tydelig navn på tilkoblingen, og velg Koble til.

  7. Angi hele URL-adressen til den administrerte MCP-serveren:

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

Eksempel:

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.

Hvis oppsettskjermen viser Snowflake-konfigurasjonen som separate felt, bruker du de samme verdiene som i URL-adressen:

Snowflake-vertsprefiks

Bruk alt før .snowflakecomputing.com i URL-adressen til Snowflake-kontoen, inkludert eventuelle suffikser for region eller sky.

Hvis URL-adressen til kontoen for eksempel begynner med:

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

er vertsprefikset:

myorg-myaccount.azure

Database

Angi databasen som inneholder MCP-serveren, for eksempel:

CHATGPT_APPS

Skjema

Angi skjemaet som inneholder MCP-serveren, for eksempel:

TOOLS

Navn på MCP-server

Angi objektnavnet til Snowflake MCP-serveren, for eksempel:

CHATGPT_SNOWFLAKE_MCP

Konfigurer OAuth-klienten

Du trenger en klient-ID og en klienthemmelighet fra Snowflake for å koble til.

Når du bruker session:role:all, bruker Snowflake standardrollen til hver enkelt bruker. Standardrollen må være tillatt av OAuth-integrasjonens liste over tillatte roller, hvis en slik liste er konfigurert, og må ikke være blokkert. En annen godkjent rolle velges ikke automatisk.

  1. Åpne Avanserte OAuth-innstillinger i oppsettsvinduet i ChatGPT, velg Brukerdefinert OAuth-klient, og kopier Tilbakeringings-URL som vises i ChatGPT.

  2. Opprett en egendefinert OAuth-sikkerhetsintegrasjon med OAUTH_CLIENT_TYPE = 'CONFIDENTIAL', og angi denne nøyaktige tilbakeringings-URL-en for OAUTH_REDIRECT_URI.

  3. Kjør følgende setning i Snowflake med integrasjonsnavnet skrevet med store bokstaver:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Lim inn oauth_client_id fra JSON-resultatet i OAuth-klient-ID og oauth_client_secret i OAuth-klienthemmelighet i ChatGPT.

  5. Sett Autentiseringsmetode for tokenendepunkt til client_secret_basic.

Koble til og administrer Snowflake

  1. Velg Fortsett i det samme oppsettsvinduet i ChatGPT, logg på Snowflake og autoriser tilkoblingen.

  2. For et arbeidsområde konfigurerer du installasjonsreglene for pluginen og rolle- eller gruppetilgang for medlemmene som skal bruke den. Kontroller at både Snowflake og Snowflake – offisiell mal er aktivert.

  3. Administratorer for arbeidsområdet har ansvar for å konfigurere Brukertilgang for rollene som skal bruke Snowflake.

  4. Administratorer for arbeidsområdet har ansvar for å gjennomgå Handlingskontroll for de eksponerte verktøyene.

  5. Administratorer for arbeidsområdet har ansvar for å gjennomgå Apptillatelser og velge når ChatGPT skal spørre medlemmene før appen brukes.

Disse apptillatelsene gjelder for ChatGPT-samtaler. Agenter i arbeidsområdet bruker kontroller per agent, angitt av agentens utvikler, for å bestemme hvilke apphandlinger som er tilgjengelige, og når sluttbrukere blir bedt om å godkjenne dem. Du finner mer informasjon om agentatferd under ChatGPT-agenter i arbeidsområder for Enterprise og Business.

Test appen

  1. Åpne en chat, velg Snowflake, og test tilkoblingen.

  2. Kontroller at ChatGPT finner verktøyene du konfigurerte.

  3. Kjør først en lesehandling med lav risiko, for eksempel et søk eller en skrivebeskyttet spørring mot godkjente data.

  4. Kontroller at Snowflake-tillatelsene hindrer tilgang utover den godkjente rollen og de godkjente objektene.

  5. For et arbeidsområde bør du teste med tillatte medlemmer uten administratortilgang som har ulike standardroller i Snowflake. At en administrator kan koble til, bekrefter ikke at alle medlemmer kan gjøre det.

For administratorer av arbeidsområder er det ikke nok å aktivere bare Snowflake. Hvis Snowflake – offisiell mal ikke er aktivert og koblet til, kan pluginen vises som deaktivert for medlemmene.

URL-adresse til MCP-server og OAuth-atferd

ChatGPT kobler til hele URL-adressen til den Snowflake-administrerte MCP-serveren:

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

ChatGPT bruker Snowflake-vertsprefikset fra URL-adressen til å finne disse Snowflake OAuth-endepunktene:

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

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

Ikke lim inn en Snowsight-URL, bare rot-URL-en til Snowflake-kontoen eller en URL-adresse med ekstra banesegmenter. MCP-URL-en må inneholde /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} og samsvare nøyaktig med Snowflake-objektene.

Feilsøking

Snowflake er aktivert for en administrator, men deaktivert for et medlem

  • Kontroller at både Snowflake og Snowflake – offisiell mal er aktivert under Innstillinger for arbeidsområdet > Pluginer.

  • Åpne Snowflake – offisiell mal, og fullfør prosessen under Koble til. Det er ikke nok å aktivere malen uten å koble den til.

  • Åpne Snowflake, og kontroller at malen vises som den påkrevde appen.

  • Kontroller at installasjonsreglene for pluginen tillater rollen eller gruppen til det berørte medlemmet.

MCP-serveren ble ikke funnet

  • Kontroller hele URL-adressen til MCP-serveren på nytt, eller de fire malfeltene hvis oppsettskjermen ber om dem.

  • Kontroller at MCP-serveren finnes i akkurat denne databasen og dette skjemaet.

Ingen verktøy vises i ChatGPT

  • Kontroller at spesifikasjonen for MCP-serveren inneholder verktøy.

  • Kontroller at rollen har USAGE på MCP-serveren.

Et verktøy vises, men svikter ved bruk

  • Kontroller at rollen har den nødvendige tillatelsen til det underliggende Snowflake-objektet, for eksempel søketjenesten, den semantiske visningen, datavarehuset, prosedyren eller UDF-en.

SQL-verktøyet svikter

  • Kontroller at navnet på datavarehuset er riktig, og at datavarehuset kjører.

  • Kontroller at rollen har USAGE på datavarehuset.

  • Kontroller at read_only: true er angitt hvis du ønsket skrivebeskyttet tilgang.

Den forespurte rollen ALL er uttrykkelig blokkert

Be Snowflake-administratoren sammenligne standardrollen din med rollene OAuth-integrasjonen tillater og blokkerer. En annen tillatt rolle velges ikke automatisk. Hvis det passer, endrer du standardrollen til en godkjent rolle og kobler til på nytt. Hvis du endrer standardrollen, påvirker det også Snowflake-øktene dine utenfor ChatGPT.

Autorisasjonen mislykkes

  • Kontroller at brukeren kan logge på Snowflake.

  • Når session:role:all brukes, må du kontrollere at OAuth-integrasjonen tillater brukerens standardrolle.

  • Kontroller at oppsettet bruker OAuth-flyten for Snowflake-administrert MCP.

  • Kontroller at klient-ID-en og klienthemmeligheten samsvarer med Snowflake OAuth-integrasjonen, og at integrasjonens URI for omdirigering samsvarer med Tilbakeringings-URL som vises i ChatGPT.

Snowflakes nettverksregler eller liste over tillatte IP-adresser blokkerer koblingen

  • Be en Snowflake-administrator oppdatere Snowflakes nettverksregler eller tilgangsregler.

  • Tillat innkommende tilkoblinger fra de gjeldende utgående IP-områdene for ChatGPT-koblinger.

  • Konfigurer denne listen over tillatte adresser i Snowflake. Den er atskilt fra listen over tillatte IP-adresser for ChatGPT-arbeidsområdet.

  • Automatiser om mulig oppdateringer fra den publiserte JSON-filen, siden områdene kan endres.

Tilkoblingsproblem med vertsnavnet

Bruk riktig Snowflake-vertsprefiks. Understreker i Snowflake-vertsnavn kan skape problemer. Bruk helst bindestreker.

Referanser

Var denne artikkelen nyttig?