Brug denne vejledning, hvis du er administrator for et ChatGPT-arbejdsområde eller bruger af ChatGPT Plus eller Pro og vil forbinde ChatGPT til Snowflake via en MCP-server, der administreres af Snowflake.
Det meste af opsætningen foregår i Snowflake. Når Snowflake er klar, skal du færdiggøre forbindelsen til Snowflake-skabelonen i ChatGPT og derefter aktivere det Snowflake-plugin, der bruger skabelonen.
Indbygget OAuth: Brug ChatGPT-partnerapplikationen, som en Snowflake-administrator har aktiveret, hvis den er tilgængelig for din Snowflake-konto og i ChatGPT. Log ind på Snowflake med din organisations SSO, hvis det er konfigureret. Du behøver ikke at indtaste et klient-id eller en klienthemmelighed i ChatGPT. Følg afsnittet Indbygget OAuth nedenfor.
Brugerdefineret OAuth-klient: Brug denne fremgangsmåde, hvis din organisation kræver sin egen OAuth-klient, eller hvis indbygget OAuth ikke er tilgængeligt. Følg afsnittet Brugerdefineret OAuth-klient nedenfor.
Begge OAuth-fremgangsmåder kræver den fælles opsætning af MCP-serveren, tilladelser til de underliggende objekter og netværksadgang som beskrevet nedenfor. Gennemfør den fælles opsætning til og med afsnittet Indtast oplysningerne om Snowflake-serveren i ChatGPT, før du konfigurerer OAuth.
Det sætter du op
Du opretter en MCP-server, der administreres af Snowflake og fungerer som MCP-endepunkt for ChatGPT. MCP-serveren definerer:
Hvilke handlinger ChatGPT kan bruge.
Hvilke data eller objekter i Snowflake disse værktøjer kan få adgang til.
Hvilken Snowflake-rolle hver bruger godkender adgangen med.
Hvilken Snowflake-database, hvilket skema og hvilket MCP-servernavn der identificerer endepunktet.
Derefter konfigurerer du Snowflake - Officiel skabelon i ChatGPT med den fulde URL til den administrerede MCP-server. Skærmen til opsætning af skabelonen kan vise URL'en som fire separate felter:
Snowflake-værtspræfiks.
Database.
Skema.
MCP-servernavn.
ChatGPT kan kun finde og bruge værktøjer, der stilles til rådighed af MCP-serveren og er tilladt af den Snowflake-rolle, som brugeren godkender adgangen med.
Før du går i gang
Du skal bruge:
Administrator- eller ejeradgang til et ChatGPT-arbejdsområde eller adgang til ChatGPT Plus eller Pro.
Adgang til Snowflake med rettigheder til at oprette MCP-serverobjekter og tildele tilladelser.
Den Snowflake-database og det skema, hvor MCP-serveren skal placeres.
En beslutning om, hvad ChatGPT skal have lov til at bruge, f.eks. Cortex Search, Cortex Analyst, SQL med skrivebeskyttet adgang eller en bestemt procedure eller funktion.
En Snowflake-rolle med færrest mulige rettigheder, som brugerne skal bruge, når de godkender appens adgang.
Snowflake-kontoens værtspræfiks, inklusive eventuelle regions- eller cloudsuffikser.
Hvis din Snowflake-konto begrænser adgangen via en netværkspolitik eller en liste over tilladte IP-adresser, skal du bede en Snowflake-administrator om at tillade indgående forbindelser fra de aktuelle IP-intervaller for udgående trafik fra ChatGPT-apps. Listen er dynamisk og bør holdes opdateret.
Værdier, du skal have klar
Snowflake-værtspræfiks: alt før .snowflakecomputing.com i Snowflake-kontoens URL.
Database: den database, der indeholder MCP-serveren.
Skema: det skema, der indeholder MCP-serveren.
MCP-servernavn: navnet på Snowflake MCP-serverobjektet.
Den fulde URL til den administrerede MCP-server, hvis ChatGPT-opsætningsskærmen beder om en URL.
Snowflake-rolle: den rolle, brugerne skal bruge, når de godkender appen.
Værktøjsliste: de Snowflake-objekter og -handlinger, du vil have ChatGPT til at bruge.
Beslut, hvad ChatGPT må gøre
Vælg kun de funktioner, du vil gøre tilgængelige. Almindelige muligheder omfatter:
Søgning med Cortex Search for at finde svar i indekserede Snowflake-data eller -indhold.
Spørgsmål og svar med Cortex Analyst via et godkendt semantisk view.
Skrivebeskyttet SQL til kontrolleret adgang til forespørgsler.
En Snowflake Agent, lagret procedure eller UDF til en bestemt arbejdsgang.
Hvis du aktiverer SQL, skal det forblive skrivebeskyttet, medmindre din organisation har vurderet og godkendt skriveadgang.
Åbn et Snowflake-arbejdsark
Log ind på Snowflake-appen.
Skift til en rolle, der kan oprette MCP-serveren og give adgang.
Gå til Arbejdsområder.

Opret et arbejdsområde med en SQL-fil.

Indstil arbejdsområdets kontekst til den database og det skema, hvor MCP-serveren skal oprettes.

Opret Snowflake MCP-serveren
Log ind på Snowflake med en rolle, der kan oprette MCP-serveren og give adgang. Åbn et arbejdsark i den database og det skema, hvor MCP-serveren skal oprettes.
Kør en sætning som i følgende eksempel. Erstat navnene med navnene på din egen Snowflake-database, dit skema, dine tjenester, dine views, dit warehouse og din server.
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" $$;

Værktøjsnavnene og Snowflake-objekterne i denne sætning er eksempler:
support-searchgør den angivne Cortex Search-tjeneste tilgængelig.revenue-analystgør det angivne semantiske view tilgængeligt. Tilføj værktøjer til andre views efter behov.sql-readonlygiver adgang til skrivebeskyttet SQL med det angivne warehouse.
Brug faste, beskrivende værktøjsnavne, så ChatGPT kan vælge det rigtige værktøj. Oprettelse af MCP-serveren giver ikke automatisk adgang til de underliggende Snowflake-objekter.
Se flere specifikationsmuligheder her: Opret en MCP-server, der administreres af Snowflake.
Tildel de rigtige Snowflake-tilladelser
Vælg den Snowflake-rolle, brugerne skal godkende med, og giv derefter rollen adgang til:
Databasen og skemaet.
MCP-serveren.
Alle underliggende objekter, som værktøjerne bruger, f.eks. en søgetjeneste, et semantisk view eller et warehouse.
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 gør en UDF, en lagret procedure eller en Cortex Agent tilgængelig, skal du også tildele de nødvendige tilladelser til det pågældende objekt.
Kontrollér, at Snowflake er klar
Kør:
SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;
Kør derefter:
DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;
Kontrollér følgende:
Serveren findes i den forventede database og det forventede skema.
Værktøjslisten er, som du ønsker den.
Hvert værktøjs
identifierpeger på det rigtige Snowflake-objekt.Den rolle, der opretter forbindelse, har
USAGEpå MCP-serveren.Den rolle, der opretter forbindelse, har de nødvendige tilladelser til hvert underliggende objekt.
Indtast oplysningerne om Snowflake-serveren i ChatGPT
Hvis du konfigurerer et arbejdsområde, skal du åbne admin.openai.com, vælge det ønskede ChatGPT-arbejdsområde og åbne Plugins. Læs om navigation i arbejdsområdet og adgang til ældre apps i Administratorkontroller, sikkerhed og compliance for plugins og apps.
Skift i ChatGPT til den konto eller det arbejdsområde, hvor appen skal være tilgængelig.
Gå til Indstillinger > Plugins for en personlig opsætning eller til Administratorkonsol > Plugins, hvis du som administrator konfigurerer et arbejdsområde.
Søg efter Snowflake.
Aktivér Snowflake - Officiel skabelon.
Åbn Snowflake - Officiel skabelon, indtast et tydeligt navn til forbindelsen, og vælg Forbind.
Indtast den fulde URL til den administrerede MCP-server:
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

Hvis opsætningsskærmen viser Snowflake-konfigurationen som separate felter, skal du bruge de samme værdier som i URL'en:
Snowflake-værtspræfiks
Brug alt før .snowflakecomputing.com i din Snowflake-kontos URL, inklusive eventuelle regions- eller cloudsuffikser.
Hvis kontoens URL f.eks. starter med:
https://myorg-myaccount.azure.snowflakecomputing.com
Er værtspræfikset:
myorg-myaccount.azure
Database
Indtast den database, der indeholder MCP-serveren, f.eks.:
CHATGPT_APPS
Skema
Indtast det skema, der indeholder MCP-serveren, f.eks.:
TOOLS
MCP-servernavn
Indtast navnet på Snowflake MCP-serverobjektet, f.eks.:
CHATGPT_SNOWFLAKE_MCP
Konfigurer OAuth
Vælg den OAuth-fremgangsmåde, der er tilgængelig for din konto og opfylder din organisations krav. Begge fremgangsmåder bruger den fælles opsætning af MCP-serveren ovenfor samt forbindelsestestene og adgangskontrollerne nedenfor.
Uanset OAuth-fremgangsmåden bruger Snowflake hver brugers standardrolle, når du bruger session:role:all. Standardrollen skal være tilladt på OAuth-integrationens liste over tilladte roller, hvis den er konfigureret, og må ikke være blokeret. En anden godkendt rolle vælges ikke automatisk, blot fordi du har den.
Indbygget OAuth
Før du fortsætter, skal du gennemføre de fælles afsnit ovenfor for at oprette MCP-serveren, tildele tilladelser, kontrollere serveren og indtaste dens oplysninger i ChatGPT. Det er nødvendigt, også selvom du kom direkte til dette afsnit.
Brug kun denne fremgangsmåde, hvis ChatGPT-partnerapplikationen er tilgængelig for din Snowflake-konto, og indbygget OAuth er tilgængeligt i ChatGPT-opsætningsdialogen.
Bed en Snowflake-administrator om at aktivere ChatGPT-partnerintegrationen på den samme Snowflake-konto, som hoster MCP-serveren. Genbrug en eksisterende aktiveret ChatGPT-partnerintegration.
Brug indbygget OAuth i ChatGPT-opsætningsdialogen. Du behøver ikke at indtaste et klient-id eller en klienthemmelighed eller registrere en callback-URL.
Fortsæt med afsnittet Forbind og administrer Snowflake nedenfor for at logge ind, give samtykke og konfigurere adgang. Gennemfør derefter afsnittet Test appen, herunder test med medlemmer, der har adgang, men ikke er administratorer.
Den beskrevne håndtering af standardroller, tilladelseslister og blokerede roller gælder også for denne fremgangsmåde.
Brugerdefineret OAuth-klient
Før du fortsætter, skal du gennemføre de fælles afsnit ovenfor for at oprette MCP-serveren, tildele tilladelser, kontrollere serveren og indtaste dens oplysninger i ChatGPT. Det er nødvendigt, også selvom du kom direkte til dette afsnit.
Til en brugerdefineret OAuth-klient skal du bruge et klient-id og en klienthemmelighed fra Snowflake. Den beskrevne håndtering af standardroller, tilladelseslister og blokerede roller gælder også for denne fremgangsmåde.
Vælg Avancerede OAuth-indstillinger > Brugerdefineret OAuth-klient i ChatGPT-opsætningsdialogen, og kopiér den nøjagtige Callback-URL, der vises i ChatGPT.
Opret en brugerdefineret OAuth-sikkerhedsintegration med
OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'ogOAUTH_REDIRECT_URIindstillet til netop denne callback-URL.Kør følgende sætning i Snowflake med integrationsnavnet skrevet med store bogstaver:
SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');Indsæt
oauth_client_idfra JSON-resultatet i OAuth-klient-id ogoauth_client_secreti OAuth-klienthemmelighed i ChatGPT.Indstil Godkendelsesmetode for tokenendepunkt til
client_secret_basic.
Når du har indtastet den brugerdefinerede klients legitimationsoplysninger, skal du fortsætte med afsnittene Forbind og administrer Snowflake og Test appen nedenfor.
Tilslut og administrer Snowflake
For begge OAuth-metoder skal du i den samme opsætningsdialog i ChatGPT vælge Fortsæt, logge ind på Snowflake og godkende forbindelsen. Du kan bruge din organisations SSO, hvis det er konfigureret.
Ved opsætning i et arbejdsområde skal du kontrollere, at både Snowflake og Snowflake - Officiel skabelon er aktiveret. I Enterprise og Edu skal du konfigurere installationspolitikken for pluginet og Brugeradgang for hver inkluderet app for de roller, der er tildelt de relevante medlemmer eller grupper. I Business administrerer du installationspolitikken for plugins og tilgængeligheden af apps i hele arbejdsområdet.
Arbejdsområdets administratorer er ansvarlige for at gennemgå Handlingsstyring for de værktøjer, der stilles til rådighed.
Arbejdsområdets administratorer er ansvarlige for at gennemgå Apptilladelser og vælge, hvornår ChatGPT skal spørge medlemmerne, før appen bruges.
Disse apptilladelser gælder for samtaler i ChatGPT. Agenter i arbejdsområdet bruger individuelle indstillinger, som agentens udvikler fastlægger, til at afgøre, hvilke apphandlinger der er tilgængelige, og hvornår slutbrugere bliver bedt om at godkende dem. Læs om agenters adfærd i ChatGPT-agenter i arbejdsområder til Enterprise og Business.
Test appen
Åbn en chat, vælg Snowflake, og test forbindelsen.
Kontrollér, at ChatGPT finder de værktøjer, du har konfigureret.
Kør først en læsehandling med lav risiko, f.eks. en søgning eller en skrivebeskyttet forespørgsel på godkendte data.
Kontrollér, at Snowflake-tilladelserne forhindrer adgang ud over den godkendte rolle og de godkendte objekter.
Ved opsætning af et arbejdsområde skal du teste med medlemmer, der har adgang, men ikke er administratorer, og som har forskellige standardroller i Snowflake. At en administrator kan oprette forbindelse, bekræfter ikke, at alle medlemmer kan.
For arbejdsområdets administratorer er det ikke nok kun at aktivere Snowflake. Hvis Snowflake - Officiel skabelon ikke er aktiveret og forbundet, kan pluginet fremstå som deaktiveret for medlemmerne.
MCP-serverens URL og OAuth-funktion
ChatGPT opretter forbindelse til den fulde URL for den Snowflake-administrerede MCP-server:
https://<snowflake_host_prefix>.snowflakecomputing.com/api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server}
ChatGPT bruger Snowflake-værtspræfikset fra denne URL til at finde følgende Snowflake OAuth-endepunkter:
Godkendelse:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorizeToken:
https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request
Indsæt ikke en Snowsight-URL, Snowflake-kontoens rod-URL alene eller en URL med ekstra stisegmenter. MCP-URL'en skal indeholde /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} og svare nøjagtigt til dine Snowflake-objekter.
Fejlfinding
Snowflake er aktiveret for en administrator, men deaktiveret for et medlem
Kontrollér, at både Snowflake og Snowflake - Officiel skabelon er aktiveret i Administratorkonsol > Plugins.
Åbn Snowflake - Officiel skabelon, og gennemfør dens Forbind-flow. Det er ikke nok at aktivere skabelonen uden at forbinde den.
Åbn Snowflake, og kontrollér, at skabelonen vises som dens påkrævede app.
Kontrollér, at det berørte medlems rolle eller gruppe er tilladt i politikken for installation af plugins.
MCP-serveren blev ikke fundet
Kontrollér den fulde URL til MCP-serveren igen, eller de fire skabelonfelter, hvis din opsætningsskærm beder om dem.
Kontrollér, at MCP-serveren findes i netop den database og det skema.
Der vises ingen værktøjer i ChatGPT
Kontrollér, at MCP-serverens specifikation indeholder værktøjer.
Kontrollér, at rollen har
USAGEpå MCP-serveren.
Et værktøj vises, men fejler, når det bruges
Kontrollér, at rollen har den nødvendige tilladelse til det underliggende Snowflake-objekt, f.eks. søgetjenesten, det semantiske view, et warehouse, proceduren eller UDF'en.
SQL-værktøjet fejler
Kontrollér, at navnet på dit warehouse er korrekt, og at det kører.
Kontrollér, at rollen har
USAGEpå det pågældende warehouse.Kontrollér, at
read_only: trueer angivet, hvis du kun ønsker læseadgang.
Den anmodede rolle ALL er blevet eksplicit blokeret
Bed din Snowflake-administrator om at sammenligne din standardrolle med OAuth-integrationens tilladte og blokerede roller. En anden tilladt rolle vælges ikke automatisk, blot fordi du har den. Skift om relevant standardrollen til en godkendt rolle, og opret forbindelse igen. Hvis du ændrer din standardrolle, påvirker det også dine Snowflake-sessioner uden for ChatGPT.
Godkendelsen mislykkes
Kontrollér, at brugeren kan logge ind på Snowflake.
Når du bruger
session:role:all, skal du kontrollere, at brugerens standardrolle er tilladt af OAuth-integrationen.Kontrollér, at opsætningen bruger OAuth-flowet til den Snowflake-administrerede MCP-server.
Hvis du bruger en brugerdefineret OAuth-klient, skal du kontrollere, at Klient-id og Klienthemmelighed stemmer overens med Snowflake OAuth-integrationen, og at dens omdirigerings-URI svarer nøjagtigt til den Callback-URL, der vises i ChatGPT.
Hvis du bruger indbygget OAuth, skal du bede en Snowflake-administrator om at kontrollere, at ChatGPT-partnerintegrationen er tilgængelig og aktiveret på den konto, der hoster MCP-serveren.
Snowflakes netværkspolitik eller liste over tilladte IP-adresser blokerer appen
Bed en Snowflake-administrator om at opdatere netværkspolitikken eller adgangsreglerne i Snowflake.
Tillad indgående forbindelser fra de aktuelle IP-intervaller for udgående trafik fra ChatGPT-apps.
Konfigurer denne liste over tilladte IP-adresser i Snowflake. Den er adskilt fra listen over tilladte IP-adresser for ChatGPT-arbejdsområdet.
Automatiser opdateringer fra den offentliggjorte JSON-fil, når det er muligt, da intervallerne kan ændre sig.
Forbindelsesproblem med værtsnavn
Brug det korrekte Snowflake-værtspræfiks. Snowflake-værtsnavne med understregninger kan give problemer. Brug helst bindestreger.
