OpenAI
Denne side er maskinoversat. Se den originale engelske artikel.

Konfigurer Snowflake-appskabelonen i ChatGPT

Se, hvordan administratorer af ChatGPT-arbejdsområder og brugere af ChatGPT Plus eller ChatGPT Pro kan forbinde ChatGPT med en Snowflake-administreret MCP-server.

Opdateret: yesterday

Brug denne vejledning, hvis du administrerer et ChatGPT-arbejdsområde eller bruger ChatGPT Plus eller ChatGPT Pro og vil forbinde ChatGPT med Snowflake via en Snowflake-administreret MCP-server.

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.

Det skal du konfigurere

Du opretter en Snowflake-administreret MCP-server, der fungerer som forbindelsens endepunkt for ChatGPT. MCP-serveren definerer:

  • Hvilke handlinger ChatGPT kan bruge.

  • Hvilke Snowflake-data eller -objekter disse værktøjer har adgang til.

  • Hvilken Snowflake-rolle hver bruger godkender 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. På skærmen til opsætning af skabelonen kan URL'en være opdelt i fire felter:

  • Snowflake-værtspræfiks.

  • Database.

  • Skema.

  • MCP-servernavn.

ChatGPT kan kun finde og bruge værktøjer, som MCP-serveren stiller til rådighed, og som er tilladt for den Snowflake-rolle, brugeren godkender med.

Før du går i gang

Du skal bruge:

  • Adgang som administrator eller ejer af et ChatGPT-arbejdsområde eller adgang til ChatGPT Plus eller ChatGPT Pro.

  • Snowflake-adgang, der giver mulighed for at oprette MCP-serverobjekter og tildele tilladelser.

  • Den Snowflake-database og det skema, som MCP-serveren skal placeres i.

  • En beslutning om, hvad ChatGPT skal have tilladelse til, f.eks. Cortex Search, Cortex Analyst, skrivebeskyttet SQL eller en bestemt procedure eller funktion.

  • En Snowflake-rolle med færrest mulige rettigheder, som brugerne anvender, når de godkender appen.

  • Værtspræfikset for Snowflake-kontoen, inklusive et eventuelt regions- eller cloud-suffiks.

Hvis din Snowflake-konto begrænser adgangen via en netværkspolitik eller IP-tilladelsesliste, skal du bede en Snowflake-administrator om at tillade indgående forbindelser fra de aktuelle udgående IP-intervaller for ChatGPT-forbindelser. 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 opsætningsskærmen i ChatGPT beder om en URL.

  • Snowflake-rolle: Den rolle, brugerne skal anvende, når de godkender appen.

  • Værktøjsliste: De Snowflake-objekter og -handlinger, ChatGPT skal bruge.

Beslut, hvad ChatGPT må gøre

Vælg kun de funktioner, du vil stille til rådighed. 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 en godkendt semantisk visning.

  • Skrivebeskyttet SQL til kontrolleret forespørgselsadgang.

  • En Snowflake-agent, en lagret procedure eller en UDF til en bestemt arbejdsgang.

Hvis du aktiverer SQL, skal adgangen være skrivebeskyttet, medmindre din organisation har gennemgået og godkendt skriveadgang.

Åbn et Snowflake-regneark

  1. Log ind på Snowflake-appen.

  2. Skift til en rolle, der kan oprette MCP-serveren og tildele adgang.

  3. Gå til Arbejdsområder.

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

    Snowflake workspace with a SQL file open for MCP server setup.
  5. Indstil arbejdsområdets kontekst til den database og det skema, hvor MCP-serveren skal oprettes.

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

Opret Snowflake-MCP-serveren

Log ind på Snowflake med en rolle, der kan oprette MCP-serveren og tildele adgang. Åbn et regneark i den database og det skema, hvor MCP-serveren skal oprettes.

Kør en kommando som i følgende eksempel. Erstat navnene med din egen Snowflake-database, dit eget skema og dine egne tjenester, visninger, warehouses og servernavne.

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.

Værktøjsnavnene og Snowflake-objekterne i denne kommando er eksempler:

  • support-search stiller den angivne Cortex Search-tjeneste til rådighed.

  • revenue-analyst stiller den angivne semantiske visning til rådighed. Tilføj efter behov værktøjer til andre visninger.

  • sql-readonly stiller skrivebeskyttet SQL til rådighed med det angivne warehouse.

Brug stabile, 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 under Opret en Snowflake-administreret MCP-server.

Tildel de korrekte Snowflake-tilladelser

Vælg den Snowflake-rolle, brugerne skal godkende med, og giv derefter rollen adgang til:

  1. Databasen og skemaet.

  2. MCP-serveren.

  3. Alle underliggende objekter, som værktøjerne bruger, f.eks. en søgetjeneste, semantisk visning 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 stiller en UDF, lagret procedure eller Cortex Agent til rådighed, skal du også tildele de nødvendige tilladelser til objektet.

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 svarer til det tilsigtede.

  • Hvert værktøjs identifier peger på det korrekte Snowflake-objekt.

  • Den rolle, der opretter forbindelse, har USAGE på MCP-serveren.

  • Den rolle, der opretter forbindelse, har de nødvendige tilladelser til hvert underliggende objekt.

Angiv oplysningerne om Snowflake-serveren i ChatGPT

  1. Skift i ChatGPT til den konto eller det arbejdsområde, hvor appen skal være tilgængelig.

  2. Åbn Indstillinger. Hvis opsætningen skal gælde for hele arbejdsområdet, skal du åbne Indstillinger for arbejdsområde som administrator.

  3. Gå til Plugins.

  4. Søg efter Snowflake.

  5. Aktivér Snowflake – officiel skabelon.

  6. Åbn Snowflake – officiel skabelon, angiv et tydeligt forbindelsesnavn, og vælg Opret forbindelse.

  7. Angiv 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

ChatGPT Snowflake Template connection form with name, managed MCP server URL, and OAuth settings.

Hvis Snowflake-konfigurationen vises som separate felter på opsætningsskærmen, skal du bruge de samme værdier som i URL'en:

Snowflake-værtspræfiks

Brug alt før .snowflakecomputing.com i Snowflake-kontoens URL, inklusive et eventuelt regions- eller cloud-suffiks.

Hvis kontoens URL f.eks. begynder med:

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

Er værtspræfikset:

myorg-myaccount.azure

Database

Angiv den database, der indeholder MCP-serveren, f.eks.:

CHATGPT_APPS

Skema

Angiv det skema, der indeholder MCP-serveren, f.eks.:

TOOLS

MCP-servernavn

Angiv navnet på Snowflake-MCP-serverobjektet, f.eks.:

CHATGPT_SNOWFLAKE_MCP

Konfigurer OAuth-klienten

Du skal bruge et klient-id og en klienthemmelighed fra Snowflake for at oprette forbindelse.

Når du bruger session:role:all, anvender Snowflake den enkelte brugers standardrolle. 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.

  1. Åbn Avancerede OAuth-indstillinger i opsætningsvinduet i ChatGPT, vælg Brugerdefineret OAuth-klient, og kopiér den callback-URL, der vises i ChatGPT.

  2. Opret en brugerdefineret OAuth-sikkerhedsintegration med OAUTH_CLIENT_TYPE = 'CONFIDENTIAL', og indstil OAUTH_REDIRECT_URI til præcis denne callback-URL.

  3. Kør følgende kommando i Snowflake, og skriv integrationsnavnet med store bogstaver:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Indsæt oauth_client_id fra JSON-resultatet i OAuth-klient-id og oauth_client_secret i OAuth-klienthemmelighed i ChatGPT.

  5. Indstil Godkendelsesmetode for tokenendepunkt til client_secret_basic.

Opret forbindelse til og administrer Snowflake

  1. Vælg Fortsæt i det samme opsætningsvindue i ChatGPT, log ind på Snowflake, og godkend forbindelsen.

  2. Ved opsætning af et arbejdsområde skal du konfigurere installationspolitikken for pluginet samt rolle- eller gruppeadgang for de medlemmer, der skal bruge det. Kontrollér, at både Snowflake og Snowflake – officiel skabelon er aktiveret.

  3. Arbejdsområdeadministratorer er ansvarlige for at konfigurere Brugeradgang for de roller, der skal bruge Snowflake.

  4. Arbejdsområdeadministratorer er ansvarlige for at gennemgå Handlingsstyring for de værktøjer, der stilles til rådighed.

  5. Arbejdsområdeadministratorer 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 styring pr. agent, som agentens udvikler har angivet, til at bestemme, hvilke apphandlinger der er tilgængelige, og hvornår slutbrugere skal godkende dem. Læs mere om agentadfærd under ChatGPT-arbejdsområdeagenter til Enterprise og Business.

Test appen

  1. Åbn en chat, vælg Snowflake, og test forbindelsen.

  2. Kontrollér, at ChatGPT finder de værktøjer, du har konfigureret.

  3. Kør først en læsehandling med lav risiko, f.eks. en søgning eller skrivebeskyttet forespørgsel mod godkendte data.

  4. Kontrollér, at Snowflake-tilladelserne forhindrer adgang uden for den godkendte rolle og de godkendte objekter.

  5. Ved opsætning af et arbejdsområde skal du teste med tilladte medlemmer uden administratorrettigheder, som har forskellige Snowflake-standardroller. En vellykket administratorforbindelse bekræfter ikke, at alle medlemmer kan oprette forbindelse.

For arbejdsområdeadministratorer er det ikke tilstrækkeligt 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 URL'en til at finde disse Snowflake OAuth-endepunkter:

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

  • Token: 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 under Indstillinger for arbejdsområde > Plugins.

  • Åbn Snowflake – officiel skabelon, og gennemfør processen under Opret forbindelse. Det er ikke tilstrækkeligt at aktivere skabelonen uden at forbinde den.

  • Åbn Snowflake, og kontrollér, at skabelonen vises som den påkrævede app.

  • Kontrollér, at det berørte medlems rolle eller gruppe er tilladt i installationspolitikken for pluginet.

MCP-serveren blev ikke fundet

  • Kontrollér igen den fulde URL til MCP-serveren eller de fire skabelonfelter, hvis opsætningsskærmen beder om dem.

  • Kontrollér, at MCP-serveren findes i præcis den angivne database og det angivne skema.

Der vises ingen værktøjer i ChatGPT

  • Kontrollér, at MCP-serverens specifikation indeholder værktøjer.

  • Kontrollér, at rollen har USAGE på MCP-serveren.

Et værktøj vises, men fungerer ikke, når det bruges

  • Kontrollér, at rollen har den nødvendige tilladelse til det underliggende Snowflake-objekt, f.eks. søgetjenesten, den semantiske visning, warehouset, proceduren eller UDF'en.

SQL-værktøjet fungerer ikke

  • Kontrollér, at warehousets navn er korrekt, og at warehouset kører.

  • Kontrollér, at rollen har USAGE på warehouset.

  • Kontrollér, at read_only: true er angivet, hvis du ønskede skrivebeskyttet adgang.

Den anmodede rolle ALL er blevet udtrykkeligt blokeret

Bed din Snowflake-administrator om at sammenligne din standardrolle med de tilladte og blokerede roller i OAuth-integrationen. En anden tilladt rolle vælges ikke automatisk. Skift om nødvendigt 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 det Snowflake-administrerede MCP OAuth-flow.

  • Kontrollér, at klient-id'et og klienthemmeligheden svarer til Snowflake OAuth-integrationen, og at dens omdirigerings-URI svarer til den callback-URL, der vises i ChatGPT.

Snowflakes netværkspolitik eller IP-tilladelsesliste blokerer forbindelsen

  • Bed en Snowflake-administrator om at opdatere Snowflakes netværkspolitik eller adgangsregler.

  • Tillad indgående forbindelser fra de aktuelle udgående IP-intervaller for ChatGPT-forbindelser.

  • Konfigurer denne tilladelsesliste i Snowflake. Den er adskilt fra IP-tilladelseslisten for ChatGPT-arbejdsområdet.

  • Automatiser så vidt muligt opdateringer fra den offentliggjorte JSON-fil, da intervallerne kan ændre sig.

Problem med forbindelse til værtsnavnet

Brug det korrekte Snowflake-værtspræfiks. Understregningstegn i Snowflake-værtsnavne kan give problemer. Brug helst bindestreger.

Referencer

Var denne artikel nyttig?