OpenAI
Tato stránka byla přeložena strojově. Zobrazit původní článek v angličtině.

Nastavení šablony aplikace Snowflake v ChatGPT

Zjistěte, jak mohou správci pracovního prostoru ChatGPT a uživatelé ChatGPT Plus nebo ChatGPT Pro připojit ChatGPT k serveru MCP spravovanému službou Snowflake.

Aktualizováno: 18 days ago

Tuto příručku využijete, pokud jste správcem pracovního prostoru ChatGPT nebo uživatelem ChatGPT Plus či ChatGPT Pro a chcete ChatGPT připojit ke službě Snowflake prostřednictvím serveru MCP spravovaného službou Snowflake.

Většina nastavení probíhá ve službě Snowflake. Až bude Snowflake připravený, dokončete v ChatGPT připojení šablony Snowflake a poté povolte plugin Snowflake, který tuto šablonu používá.

Co nastavujete

Vytváříte server MCP spravovaný službou Snowflake, který slouží jako koncový bod konektoru pro ChatGPT. Server MCP určuje:

  • Které akce může ChatGPT používat.

  • Ke kterým datům nebo objektům Snowflake mohou tyto nástroje přistupovat.

  • Pomocí které role Snowflake se jednotliví uživatelé autorizují.

  • Která databáze, schéma a název serveru MCP ve službě Snowflake identifikují koncový bod.

Poté v ChatGPT nakonfigurujete šablonu Snowflake – oficiální šablona s úplnou adresou URL spravovaného serveru MCP. Na obrazovce nastavení šablony může být adresa URL rozdělena do čtyř polí:

  • Předpona hostitele Snowflake.

  • Databáze.

  • Schéma.

  • Název serveru MCP.

ChatGPT může vyhledat a používat pouze nástroje zpřístupněné serverem MCP a povolené rolí Snowflake, pomocí které se uživatel autorizuje.

Než začnete

Potřebujete:

  • Přístup správce nebo vlastníka pracovního prostoru ChatGPT, případně přístup k ChatGPT Plus nebo ChatGPT Pro.

  • Přístup ke službě Snowflake umožňující vytvářet objekty serveru MCP a udělovat oprávnění.

  • Databázi a schéma Snowflake, ve kterých bude server MCP umístěn.

  • Rozhodnutí, co smí ChatGPT dělat, například používat Cortex Search, Cortex Analyst, SQL pouze pro čtení nebo konkrétní proceduru či funkci.

  • Roli Snowflake s minimálními oprávněními, kterou budou uživatelé používat při autorizaci aplikace.

  • Předponu hostitele účtu Snowflake včetně případné přípony oblasti nebo cloudu.

Pokud váš účet Snowflake omezuje přístup pomocí síťových zásad nebo seznamu povolených IP adres, požádejte správce Snowflake, aby povolil příchozí připojení z aktuálních rozsahů odchozích IP adres konektoru ChatGPT. Tento seznam se průběžně mění a je nutné ho udržovat aktuální.

Hodnoty, které je třeba připravit

  • Předpona hostitele Snowflake: vše před .snowflakecomputing.com v adrese URL účtu Snowflake.

  • Databáze: databáze obsahující server MCP.

  • Schéma: schéma obsahující server MCP.

  • Název serveru MCP: název objektu serveru MCP ve službě Snowflake.

  • Úplná adresa URL spravovaného serveru MCP, pokud ji obrazovka nastavení ChatGPT vyžaduje.

  • Role Snowflake: role, kterou mají uživatelé použít při autorizaci aplikace.

  • Seznam nástrojů: objekty a akce Snowflake, které má ChatGPT používat.

Rozhodněte, co může ChatGPT dělat

Vyberte pouze funkce, které chcete zpřístupnit. Mezi běžné možnosti patří:

  • Vyhledávání pomocí Cortex Search, které hledá odpovědi v indexovaných datech nebo obsahu Snowflake.

  • Otázky a odpovědi pomocí Cortex Analyst prostřednictvím schváleného sémantického zobrazení.

  • SQL pouze pro čtení pro řízený přístup k dotazům.

  • Snowflake Agent, uložená procedura nebo UDF pro konkrétní pracovní postup.

Pokud povolíte SQL, ponechte ho pouze pro čtení, ledaže vaše organizace přístup pro zápis zkontrolovala a schválila.

Otevřete pracovní list Snowflake

  1. Přihlaste se do aplikace Snowflake.

  2. Přepněte na roli, která může vytvořit server MCP a udělit přístup.

  3. Přejděte do části Pracovní prostory.

    Snowflake navigation menu showing Workspaces selected during MCP server setup.
  4. Vytvořte pracovní prostor se souborem SQL.

    Snowflake workspace with a SQL file open for MCP server setup.
  5. Nastavte kontext pracovního prostoru na databázi a schéma, ve kterých bude server MCP vytvořen.

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

Vytvořte server MCP Snowflake

Přihlaste se ke službě Snowflake pomocí role, která může vytvořit server MCP a udělit přístup. Otevřete pracovní list v databázi a schématu, kde má být server MCP vytvořen.

Spusťte příkaz podobný následujícímu příkladu. Nahraďte názvy vlastní databází, schématem, službami, zobrazeními, skladem a názvem serveru Snowflake.

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.

Názvy nástrojů a objekty Snowflake v tomto příkazu jsou pouze příklady:

  • Nástroj support-search zpřístupňuje zadanou službu Cortex Search.

  • Nástroj revenue-analyst zpřístupňuje zadané sémantické zobrazení. Podle potřeby přidejte nástroje pro další zobrazení.

  • Nástroj sql-readonly zpřístupňuje SQL pouze pro čtení s použitím zadaného skladu.

Používejte stabilní a výstižné názvy nástrojů, aby ChatGPT mohl vybrat správný nástroj. Vytvořením serveru MCP se automaticky neudělí přístup k podkladovým objektům Snowflake.

Další možnosti specifikace najdete v článku Vytvoření serveru MCP spravovaného službou Snowflake.

Udělte správná oprávnění Snowflake

Vyberte roli Snowflake, pomocí které se uživatelé budou autorizovat, a udělte jí přístup k následujícím položkám:

  1. Databáze a schéma.

  2. Server MCP.

  3. Všechny podkladové objekty používané nástroji, například vyhledávací služba, sémantické zobrazení nebo sklad.

Příklad:

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;

Pokud server MCP zpřístupňuje UDF, uloženou proceduru nebo Snowflake Agent, udělte požadovaná oprávnění i pro daný objekt.

Ověřte, že je Snowflake připravený

Spusťte:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Poté spusťte:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Ověřte následující:

  • Server existuje v očekávané databázi a schématu.

  • Seznam nástrojů odpovídá vašemu záměru.

  • Hodnota identifier každého nástroje odkazuje na správný objekt Snowflake.

  • Připojovací role má oprávnění USAGE k serveru MCP.

  • Připojovací role má potřebná oprávnění ke každému podkladovému objektu.

Zadejte údaje serveru Snowflake v ChatGPT

  1. V ChatGPT přepněte na účet nebo pracovní prostor, ve kterém má být aplikace dostupná.

  2. Otevřete Nastavení. Chcete-li aplikaci nastavit pro celý pracovní prostor, otevřete jako správce pracovního prostoru Nastavení pracovního prostoru.

  3. Přejděte do části Pluginy.

  4. Vyhledejte Snowflake.

  5. Povolte Snowflake – oficiální šablona.

  6. Otevřete Snowflake – oficiální šablona, zadejte srozumitelný název připojení a vyberte Připojit.

  7. Zadejte úplnou adresu URL spravovaného serveru MCP:

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

Příklad:

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.

Pokud obrazovka nastavení zobrazuje konfiguraci Snowflake v samostatných polích, použijte stejné hodnoty jako v adrese URL:

Předpona hostitele Snowflake

Použijte vše před .snowflakecomputing.com v adrese URL účtu Snowflake, včetně případné přípony oblasti nebo cloudu.

Pokud například adresa URL účtu začíná takto:

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

Předpona hostitele je:

myorg-myaccount.azure

Databáze

Zadejte databázi obsahující server MCP, například:

CHATGPT_APPS

Schéma

Zadejte schéma obsahující server MCP, například:

TOOLS

Název serveru MCP

Zadejte název objektu serveru MCP ve službě Snowflake, například:

CHATGPT_SNOWFLAKE_MCP

Nakonfigurujte klienta OAuth

K připojení potřebujete ID klienta a tajný klíč klienta ze služby Snowflake.

Při použití session:role:all použije Snowflake výchozí roli každého uživatele. Pokud má integrace OAuth nakonfigurovaný seznam povolených rolí, musí být výchozí role na tomto seznamu a nesmí být blokovaná. Jiná schválená role se automaticky nevybere.

  1. V dialogovém okně nastavení ChatGPT otevřete Pokročilá nastavení OAuth, vyberte Uživatelem definovaný klient OAuth a zkopírujte Adresu URL zpětného volání zobrazenou v ChatGPT.

  2. Vytvořte vlastní integraci zabezpečení OAuth s hodnotou OAUTH_CLIENT_TYPE = 'CONFIDENTIAL' a nastavte OAUTH_REDIRECT_URI přesně na tuto adresu URL zpětného volání.

  3. Spusťte ve službě Snowflake následující příkaz a použijte název integrace velkými písmeny:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. Z výsledku JSON vložte hodnotu oauth_client_id do pole ID klienta OAuth a hodnotu oauth_client_secret do pole Tajný klíč klienta OAuth v ChatGPT.

  5. Nastavte Metodu ověřování koncového bodu tokenu na client_secret_basic.

Připojení a správa služby Snowflake

  1. Ve stejném dialogovém okně nastavení ChatGPT vyberte Pokračovat, přihlaste se ke službě Snowflake a autorizujte připojení.

  2. Při nastavení pracovního prostoru nakonfigurujte zásady instalace pluginu a přístup rolí nebo skupin pro členy, kteří ho mají používat. Ověřte, že jsou povoleny možnosti Snowflake i Snowflake – oficiální šablona.

  3. Správci pracovního prostoru odpovídají za konfiguraci Uživatelského přístupu pro role, které mají používat Snowflake.

  4. Správci pracovního prostoru odpovídají za kontrolu Řízení akcí pro zpřístupněné nástroje.

  5. Správci pracovního prostoru odpovídají za kontrolu Oprávnění aplikace, kde zvolí, kdy má ChatGPT požádat členy o souhlas před použitím aplikace.

Tato oprávnění aplikace platí pro konverzace v ChatGPT. Agenti pracovního prostoru používají ovládací prvky jednotlivých agentů nastavené jejich tvůrcem. Podle nich určují, které akce aplikace jsou dostupné a kdy mají koncoví uživatelé schválit jejich použití. Informace o chování agentů najdete v článku Agenti pracovního prostoru ChatGPT pro Enterprise a Business.

Otestujte aplikaci

  1. Otevřete chat, vyberte Snowflake a otestujte připojení.

  2. Ověřte, že ChatGPT vyhledá nástroje, které jste nakonfigurovali.

  3. Nejprve spusťte málo rizikovou akci čtení, například vyhledávání nebo dotaz pouze pro čtení nad schválenými daty.

  4. Ověřte, že oprávnění Snowflake zabraňují přístupu mimo schválenou roli a objekty.

  5. Při nastavení pracovního prostoru proveďte test s povolenými členy bez oprávnění správce, kteří mají různé výchozí role Snowflake. Úspěšné připojení správce nepotvrzuje, že se může připojit každý člen.

Správcům pracovního prostoru nestačí povolit pouze Snowflake. Pokud možnost Snowflake – oficiální šablona nebyla povolena a připojena, může se plugin členům zobrazovat jako zakázaný.

Adresa URL serveru MCP a chování OAuth

ChatGPT se připojuje k úplné adrese URL serveru MCP spravovaného službou Snowflake:

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

ChatGPT používá předponu hostitele Snowflake z této adresy URL k určení následujících koncových bodů OAuth služby Snowflake:

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

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

Nevkládejte adresu URL služby Snowsight, samotnou kořenovou adresu URL účtu Snowflake ani adresu URL s dalšími segmenty cesty. Adresa URL serveru MCP musí obsahovat /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} a přesně odpovídat vašim objektům Snowflake.

Řešení problémů

Snowflake je povolený správci, ale zakázaný členovi

  • Ověřte, že jsou v části Nastavení pracovního prostoru > Pluginy povoleny možnosti Snowflake i Snowflake – oficiální šablona.

  • Otevřete Snowflake – oficiální šablona a dokončete postup Připojit. Pouhé povolení šablony bez jejího připojení nestačí.

  • Otevřete Snowflake a ověřte, že se šablona zobrazuje jako požadovaná aplikace.

  • Ověřte, že zásady instalace pluginu povolují roli nebo skupinu dotčeného člena.

Server MCP nebyl nalezen

  • Znovu zkontrolujte úplnou adresu URL serveru MCP, případně čtyři pole šablony, pokud je obrazovka nastavení vyžaduje.

  • Ověřte, že server MCP existuje přesně v dané databázi a schématu.

V ChatGPT se nezobrazují žádné nástroje

  • Ověřte, že specifikace serveru MCP obsahuje nástroje.

  • Ověřte, že má role oprávnění USAGE k serveru MCP.

Nástroj se zobrazuje, ale jeho použití selže

  • Ověřte, že má role požadované oprávnění k podkladovému objektu Snowflake, například k vyhledávací službě, sémantickému zobrazení, skladu, proceduře nebo UDF.

Nástroj SQL selhává

  • Ověřte, že je název skladu správný a sklad je spuštěný.

  • Ověřte, že má role oprávnění USAGE ke skladu.

  • Pokud jste zamýšleli přístup pouze pro čtení, ověřte, že je nastaveno read_only: true.

Požadovaná role ALL byla výslovně zablokována

Požádejte správce Snowflake, aby porovnal vaši výchozí roli s povolenými a blokovanými rolemi integrace OAuth. Jiná povolená role se automaticky nevybere. Je-li to vhodné, změňte výchozí roli na schválenou roli a znovu se připojte. Změna výchozí role ovlivní také vaše relace Snowflake mimo ChatGPT.

Autorizace selhává

  • Ověřte, že se uživatel může přihlásit ke službě Snowflake.

  • Při použití session:role:all ověřte, že integrace OAuth povoluje výchozí roli uživatele.

  • Ověřte, že nastavení používá postup OAuth pro MCP spravovaný službou Snowflake.

  • Ověřte, že ID klienta a tajný klíč klienta odpovídají integraci OAuth služby Snowflake a že její identifikátor URI přesměrování odpovídá Adrese URL zpětného volání zobrazené v ChatGPT.

Síťové zásady Snowflake nebo seznam povolených IP adres blokují konektor

  • Požádejte správce Snowflake, aby aktualizoval síťové zásady nebo pravidla přístupu Snowflake.

  • Povolte příchozí připojení z aktuálních rozsahů odchozích IP adres konektoru ChatGPT.

  • Tento seznam povolených adres nakonfigurujte ve službě Snowflake. Je oddělený od seznamu povolených IP adres pracovního prostoru ChatGPT.

  • Pokud je to možné, automatizujte aktualizace z publikovaného souboru JSON, protože se rozsahy mohou měnit.

Problém s připojením k názvu hostitele

Použijte správnou předponu hostitele Snowflake. Názvy hostitelů Snowflake s podtržítky mohou způsobovat problémy; upřednostněte spojovníky.

Reference

Byl tento článek užitečný?