OpenAI
Diese Seite wurde maschinell übersetzt. Den Originalartikel auf Englisch ansehen.

Snowflake-App-Vorlage in ChatGPT einrichten

Erfahre, wie Workspace-Admin:innen die Snowflake-App-Vorlage in ChatGPT mit einem von Snowflake verwalteten MCP-Server konfigurieren können.

Aktualisiert: 27 days ago

Nutze diesen Leitfaden, wenn du als Admin:in eines ChatGPT-Workspace die Snowflake-App-Vorlage für deine Organisation einrichtest. Eine Vorlage ist nicht die fertige App, die Mitglieder verwenden. Sie ist ein Einrichtungsablauf, der einen workspace-spezifischen App-Entwurf erstellt, nachdem du die erforderliche Snowflake-Konfiguration angegeben hast.

Bei Snowflake findet der Großteil der Einrichtung in Snowflake statt. Du erstellst einen von Snowflake verwalteten MCP-Server, gewährst der passenden Rolle Zugriff auf den MCP-Server und seine zugrunde liegenden Objekte und gibst anschließend die URL des verwalteten MCP-Servers oder deren einzelne Felder im Einrichtungsablauf der ChatGPT-Vorlage ein. Nachdem ChatGPT den App-Entwurf erstellt hat, kannst du ihn veröffentlichen und wie andere Workspace-Apps verwalten.

Was du einrichtest

Du erstellst in ChatGPT eine workspace-spezifische Snowflake-App. Die App stellt eine Verbindung zu einem von Snowflake verwalteten MCP-Server her, der Folgendes definiert:

  • Welche Aktionen ChatGPT verwenden kann, sogenannte Tools.

  • Auf welche Snowflake-Daten oder -Objekte diese Tools zugreifen können.

  • Mit welcher Snowflake-Rolle Nutzer:innen sich autorisieren sollen.

  • Welche Snowflake-Datenbank, welches Schema und welcher MCP-Servername den Connector-Endpunkt identifizieren.

ChatGPT kann nur die Tools erkennen und verwenden, die der MCP-Server bereitstellt und die durch die Snowflake-Rolle erlaubt sind, mit der sich Nutzer:innen autorisieren.

Bevor du beginnst

Du benötigst:

  • Admin- oder Inhaber:innenzugriff auf den ChatGPT-Workspace.

  • Snowflake-Zugriff, mit dem MCP-Serverobjekte erstellt und Berechtigungen gewährt werden können.

  • Die Snowflake-Datenbank und das Schema, in denen der MCP-Server angelegt wird.

  • Eine Entscheidung darüber, was ChatGPT tun darf, zum Beispiel Cortex Search, Cortex Analyst, schreibgeschütztes SQL oder eine bestimmte Prozedur oder Funktion.

  • Eine Snowflake-Rolle mit minimalen Berechtigungen, die Nutzer:innen beim Autorisieren der App verwenden.

  • Das Hostpräfix des Snowflake-Kontos, einschließlich Regions- oder Cloud-Suffix.

Vorzubereitende Werte

  • Snowflake-Hostpräfix: alles vor .snowflakecomputing.com in der URL des Snowflake-Kontos.

  • Datenbank: die Datenbank, die den MCP-Server enthält.

  • Schema: das Schema, das den MCP-Server enthält.

  • MCP-Servername: der Objektname des Snowflake-MCP-Servers.

  • Vollständige URL des verwalteten MCP-Servers, falls der ChatGPT-Einrichtungsbildschirm nach einer URL fragt.

  • Snowflake-Rolle: die Rolle, die Nutzer:innen beim Autorisieren der App verwenden sollen.

  • Toolliste: die Snowflake-Objekte und -Aktionen, die ChatGPT verwenden soll.

Festlegen, was ChatGPT tun kann

Gib nur die Funktionen frei, die du bereitstellen möchtest. Häufige Optionen sind:

  • Suche mit Cortex Search, um Antworten in indexierten Snowflake-Daten oder -Inhalten zu finden.

  • Fragen und Antworten mit Cortex Analyst über eine genehmigte semantische Ansicht.

  • Schreibgeschütztes SQL für kontrollierten Abfragezugriff.

  • Ein Snowflake Agent, eine gespeicherte Prozedur oder eine UDF für bestimmte Workflows.

Wenn du SQL aktivierst, sollte es schreibgeschützt bleiben, es sei denn, deine Organisation hat Schreibzugriff geprüft und genehmigt.

Snowflake-MCP-Server erstellen

Melde dich in Snowflake mit einer Rolle an, die den MCP-Server erstellen und Zugriff gewähren kann. Öffne ein Arbeitsblatt in der Datenbank und im Schema, in denen der MCP-Server erstellt werden soll.

Erstelle einen MCP-Server, der nur die Tools auflistet, die ChatGPT verwenden soll. Ersetze die Objektnamen durch deine eigenen Snowflake-Datenbank-, Schema-, Dienst-, Ansichts-, Warehouse- und Servernamen.

Beispiel:

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: "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"
$$;

Toolnamen sollten stabil und aussagekräftig sein, damit ChatGPT das richtige Tool auswählen kann. Durch das Erstellen des MCP-Servers wird nicht automatisch Zugriff auf die zugrunde liegenden Snowflake-Objekte gewährt.

Die richtigen Snowflake-Berechtigungen gewähren

Wähle die Snowflake-Rolle aus, mit der Nutzer:innen sich autorisieren werden, und gewähre dieser Rolle anschließend Zugriff auf die Datenbank, das Schema, den MCP-Server und jedes zugrunde liegende Objekt, das von den Tools verwendet wird.

Beispiel:

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 USAGE ON WAREHOUSE CHATGPT_WH TO ROLE CHATGPT_CONNECTOR_ROLE;

Wenn der MCP-Server eine semantische Ansicht, eine UDF, eine gespeicherte Prozedur oder einen Cortex Agent bereitstellt, gewähre auch die erforderlichen Berechtigungen für diese Objekte.

Prüfen, ob Snowflake bereit ist

Führe aus:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Führe dann aus:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Bestätige:

  • Der Server befindet sich in der erwarteten Datenbank und im erwarteten Schema.

  • Die Toolliste entspricht deiner Absicht.

  • Jede Tool-ID verweist auf das richtige Snowflake-Objekt.

  • Die Verbindungsrolle hat USAGE für den MCP-Server.

  • Die Verbindungsrolle hat die erforderlichen Berechtigungen für jedes zugrunde liegende Objekt.

Vorlageneinrichtung in ChatGPT starten

  1. Wechsle in ChatGPT zu dem Workspace, in dem die App verfügbar sein soll.

  2. Öffne Workspace-Einstellungen > Apps.

  3. Wähle Verzeichnis aus.

  4. Suche nach Snowflake.

  5. Wähle die Snowflake-App-Vorlage aus und starte die Einrichtung.

  6. Gib einen klaren App-Namen und eine Beschreibung ein, zum Beispiel Snowflake oder Snowflake - Analytics.

  7. Gib die Details des verwalteten MCP-Servers ein, die der Einrichtungsablauf anfordert.

Wenn der Einrichtungsbildschirm nach der vollständigen URL des verwalteten MCP-Servers fragt, verwende dieses Format:

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

Wenn der Einrichtungsbildschirm nach separaten Feldern fragt, verwende dieselben Werte aus dieser URL:

  • Snowflake-Hostpräfix.

  • Datenbank.

  • Schema.

  • MCP-Servername.

App-Entwurf erstellen und veröffentlichen

  1. Speichere die Einrichtung der Snowflake-Vorlage in ChatGPT.

  2. Erstelle den App-Entwurf.

  3. Prüfe die Details des App-Entwurfs, die Authentifizierungseinstellungen und die verfügbaren Aktionen.

  4. Veröffentliche den App-Entwurf, wenn er bereit ist.

  5. Bestätige, dass die App unter Workspace-Einstellungen > Apps > Aktiviert angezeigt wird.

  6. Konfiguriere den Nutzer:innenzugriff für die Rollen, die die App verwenden sollen.

  7. Prüfe die Aktionssteuerung für die bereitgestellten Tools.

  8. Prüfe unter App-Berechtigungen, wann ChatGPT Mitglieder vor der Verwendung der App fragen soll.

Diese App-Berechtigungen gelten für ChatGPT-Unterhaltungen. Workspace-Agents verwenden agentenspezifische Steuerungen, die von der Ersteller:in des Agents festgelegt werden, um zu bestimmen, welche App-Aktionen verfügbar sind und wann Endnutzer:innen um Zustimmung gebeten werden. Weitere Informationen zum Agent-Verhalten findest du unter: ChatGPT Workspace Agents for Enterprise and Business.

App testen

  1. Starte den Verbindungsablauf aus ChatGPT als zugelassene:r Testnutzer:in.

  2. Melde dich bei Snowflake an und wähle die vorgesehene Rolle aus, wenn du dazu aufgefordert wirst.

  3. Bestätige, dass ChatGPT die erwarteten Tools vom MCP-Server erkennt.

  4. Führe zuerst eine Leseaktion mit geringem Risiko aus, zum Beispiel eine Suche oder eine schreibgeschützte Abfrage genehmigter Daten.

  5. Bestätige, dass die Snowflake-Berechtigungen den Zugriff außerhalb der genehmigten Rolle und Objekte verhindern.

MCP-Server-URL und OAuth-Verhalten

ChatGPT stellt eine Verbindung zur vollständigen URL des von Snowflake verwalteten MCP-Servers her. ChatGPT verwendet das Snowflake-Hostpräfix aus dieser URL, um Snowflake-OAuth-Endpunkte aufzulösen.

Füge keine Snowsight-URL, nicht nur die Root-URL des Snowflake-Kontos und keine URL mit zusätzlichen Pfadsegmenten ein. Die MCP-URL muss den Datenbank-, Schema- und MCP-Serverpfad enthalten und genau mit deinen Snowflake-Objekten übereinstimmen.

Fehlerbehebung

  • MCP-Server nicht gefunden: Prüfe die vollständige MCP-Server-URL oder die separaten Felder für Hostpräfix, Datenbank, Schema und Server erneut.

  • In ChatGPT werden keine Tools angezeigt: Bestätige, dass die MCP-Serverspezifikation Tools enthält und die Rolle USAGE für den MCP-Server hat.

  • Ein Tool wird angezeigt, schlägt aber bei der Verwendung fehl: Bestätige, dass die Rolle die richtige Berechtigung für das zugrunde liegende Snowflake-Objekt hat.

  • SQL-Tool schlägt fehl: Bestätige, dass der Warehouse-Name korrekt ist, das Warehouse verfügbar ist, die Rolle dafür USAGE hat und read_only true ist, wenn du schreibgeschützten Zugriff beabsichtigt hast.

  • Autorisierung schlägt fehl: Bestätige, dass die Nutzer:in sich bei Snowflake anmelden und die vorgesehene Rolle verwenden kann.

  • Problem mit der Hostnamenverbindung: Verwende das richtige Snowflake-Hostpräfix. Snowflake-Hostnamen mit Unterstrichen können Probleme verursachen; verwende möglichst Bindestriche.

War dieser Artikel hilfreich?