OpenAI
Для перекладу цієї сторінки виконано машинний переклад. Ви можете переглянути оригінальну статтю англійською.

Налаштування шаблону застосунку Snowflake у ChatGPT

Дізнайтеся, як адміністратори робочого простору ChatGPT і користувачі ChatGPT Plus або ChatGPT Pro можуть підключити ChatGPT до керованого Snowflake сервера MCP.

Оновлено: 2 days ago

Цей посібник призначений для адміністраторів робочого простору ChatGPT і користувачів ChatGPT Plus або Pro, які хочуть підключити ChatGPT до Snowflake через MCP-сервер під керуванням Snowflake.

Більшість налаштувань виконується у Snowflake. Коли Snowflake буде готовий, налаштуйте підключення шаблону Snowflake у ChatGPT, а потім увімкніть плагін Snowflake, який використовує цей шаблон.

  • Вбудований OAuth: якщо цей варіант доступний для вашого облікового запису Snowflake і в ChatGPT, використовуйте партнерський застосунок ChatGPT, увімкнений адміністратором Snowflake. Увійдіть у Snowflake, використовуючи єдиний вхід вашої організації, якщо його налаштовано. Вводити ідентифікатор або секрет клієнта в ChatGPT не потрібно. Виконайте вказівки з розділу «Вбудований OAuth» нижче.

  • Власний клієнт OAuth: виберіть цей варіант, якщо ваша організація вимагає використання власного клієнта OAuth або вбудований OAuth недоступний. Виконайте вказівки з розділу «Власний клієнт OAuth» нижче.

Обидва варіанти OAuth потребують описаних нижче спільних налаштувань MCP-сервера, дозволів на об’єкти, які він використовує, і мережевого доступу. Перш ніж налаштовувати OAuth, виконайте спільні кроки включно з розділом «Введіть дані сервера Snowflake у ChatGPT».

Що ви налаштовуєте

Ви створюєте MCP-сервер під керуванням Snowflake, який слугує кінцевою точкою конектора для ChatGPT. MCP-сервер визначає:

  • Які дії може виконувати ChatGPT.

  • До яких даних або об’єктів Snowflake мають доступ ці інструменти.

  • Яку роль Snowflake використовує кожен користувач для авторизації.

  • Які база даних, схема й назва MCP-сервера у Snowflake визначають кінцеву точку.

Потім ви налаштовуєте Snowflake — офіційний шаблон у ChatGPT, указавши повну URL-адресу керованого MCP-сервера. На екрані налаштування шаблону URL-адресу може бути розділено на чотири окремі поля:

  • Префікс хоста Snowflake.

  • База даних.

  • Схема.

  • Назва MCP-сервера.

ChatGPT може виявляти й використовувати лише ті інструменти, які надає MCP-сервер і дозволяє роль Snowflake, з якою користувач проходить авторизацію.

Перш ніж почати

Вам знадобляться:

  • Права адміністратора чи власника робочого простору ChatGPT або доступ до ChatGPT Plus чи Pro.

  • Доступ до Snowflake з правами на створення об’єктів MCP-сервера й надання дозволів.

  • База даних і схема Snowflake, у яких буде розміщено MCP-сервер.

  • Рішення про те, що буде дозволено ChatGPT: наприклад, використовувати Cortex Search, Cortex Analyst, SQL лише для читання або певну процедуру чи функцію.

  • Роль Snowflake з мінімально необхідними правами, яку користувачі використовуватимуть для авторизації застосунку.

  • Префікс хоста облікового запису Snowflake, включно з будь-яким суфіксом регіону або хмарного провайдера.

Якщо доступ до вашого облікового запису Snowflake обмежено мережевою політикою або списком дозволених IP-адрес, попросіть адміністратора Snowflake дозволити вхідні підключення з актуальних діапазонів вихідних IP-адрес конекторів ChatGPT. Цей список змінюється, тому його потрібно підтримувати в актуальному стані.

Які значення підготувати

  • Префікс хоста Snowflake: усе, що стоїть перед .snowflakecomputing.com в URL-адресі облікового запису Snowflake.

  • База даних: база даних, що містить MCP-сервер.

  • Схема: схема, що містить MCP-сервер.

  • Назва MCP-сервера: назва об’єкта MCP-сервера у Snowflake.

  • Повна URL-адреса керованого MCP-сервера, якщо її потрібно ввести на екрані налаштування ChatGPT.

  • Роль Snowflake: роль, яку користувачі мають використовувати для авторизації застосунку.

  • Список інструментів: об’єкти й дії Snowflake, які ви хочете надати ChatGPT.

Визначте, що може робити ChatGPT

Виберіть лише ті можливості, які хочете зробити доступними. Поширені варіанти:

  • Пошук за допомогою Cortex Search для отримання відповідей в індексованих даних або вмісті Snowflake.

  • Відповіді на запитання за допомогою Cortex Analyst через схвалене семантичне подання.

  • SQL лише для читання з контрольованим доступом до виконання запитів.

  • Агент Snowflake, збережена процедура або UDF для певного робочого процесу.

Якщо ви вмикаєте SQL, залиште режим лише для читання, якщо ваша організація не розглянула й не схвалила доступ на запис.

Відкрийте робочий аркуш Snowflake

  1. Увійдіть у застосунок Snowflake.

  2. Перейдіть на роль, яка дає змогу створювати MCP-сервер і надавати доступ.

  3. Перейдіть до розділу Робочі простори.

    Snowflake navigation menu showing Workspaces selected during MCP server setup.
  4. Створіть робочий простір із SQL-файлом.

    Snowflake workspace with a SQL file open for MCP server setup.
  5. У контексті робочого простору виберіть базу даних і схему, у яких буде створено MCP-сервер.

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

Створіть MCP-сервер Snowflake

Увійдіть у Snowflake з роллю, яка дає змогу створювати MCP-сервер і надавати доступ. Відкрийте робочий аркуш у базі даних і схемі, у яких потрібно створити MCP-сервер.

Виконайте команду, подібну до наведеного нижче прикладу. Замініть назви на назви вашої бази даних, схеми, служб, подань, віртуального сховища та сервера 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.

Назви інструментів і об’єкти Snowflake в цій команді наведено для прикладу:

  • support-search надає доступ до вказаної служби Cortex Search.

  • revenue-analyst надає доступ до вказаного семантичного подання. За потреби додайте інструменти для інших подань.

  • sql-readonly надає доступ до SQL лише для читання з використанням указаного віртуального сховища.

Використовуйте сталі й описові назви інструментів, щоб ChatGPT міг вибрати потрібний. Створення MCP-сервера не надає автоматичного доступу до об’єктів Snowflake, які він використовує.

Додаткові параметри специфікації наведено в розділі Створення MCP-сервера під керуванням Snowflake.

Надайте потрібні дозволи у Snowflake

Виберіть роль Snowflake, з якою користувачі проходитимуть авторизацію, і надайте їй доступ до:

  1. Бази даних і схеми.

  2. MCP-сервера.

  3. Кожного об’єкта, який використовують інструменти, наприклад служби пошуку, семантичного подання або віртуального сховища.

Приклад:

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;

Якщо MCP-сервер надає доступ до UDF, збереженої процедури або агента Cortex, надайте також потрібні дозволи для цього об’єкта.

Перевірте готовність Snowflake

Виконайте:

SHOW MCP SERVERS IN SCHEMA CHATGPT_APPS.TOOLS;

Потім виконайте:

DESCRIBE MCP SERVER CHATGPT_APPS.TOOLS.CHATGPT_SNOWFLAKE_MCP;

Переконайтеся, що:

  • Сервер існує в потрібній базі даних і схемі.

  • Список інструментів відповідає вашому задуму.

  • Значення identifier кожного інструмента вказує на правильний об’єкт Snowflake.

  • Роль, що використовується для підключення, має дозвіл USAGE на MCP-сервер.

  • Роль, що використовується для підключення, має потрібні дозволи на кожен об’єкт, який використовує сервер.

Введіть дані сервера Snowflake у ChatGPT

  1. У ChatGPT перейдіть до облікового запису або робочого простору, де має бути доступний застосунок.

  2. Для особистого налаштування перейдіть до розділу Налаштування > Плагіни. Для налаштування робочого простору відкрийте Налаштування робочого простору > Плагіни як його адміністратор.

  3. Знайдіть Snowflake.

  4. Увімкніть Snowflake — офіційний шаблон.

  5. Відкрийте Snowflake — офіційний шаблон, введіть зрозумілу назву підключення й виберіть Підключити.

  6. Введіть повну URL-адресу керованого MCP-сервера:

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

Приклад:

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.

Якщо на екрані налаштування конфігурацію Snowflake подано окремими полями, використовуйте ті самі значення з URL-адреси:

Префікс хоста Snowflake

Використовуйте все, що стоїть перед .snowflakecomputing.com в URL-адресі вашого облікового запису Snowflake, включно з будь-яким суфіксом регіону або хмарного провайдера.

Наприклад, якщо URL-адреса облікового запису починається з:

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

Префікс хоста:

myorg-myaccount.azure

База даних

Введіть назву бази даних, що містить MCP-сервер, наприклад:

CHATGPT_APPS

Схема

Введіть назву схеми, що містить MCP-сервер, наприклад:

TOOLS

Назва MCP-сервера

Введіть назву об’єкта MCP-сервера у Snowflake, наприклад:

CHATGPT_SNOWFLAKE_MCP

Налаштуйте OAuth

Виберіть варіант OAuth, доступний для вашого облікового запису, який відповідає вимогам вашої організації. Для обох варіантів застосовуються наведені вище спільні налаштування MCP-сервера, а також описані нижче перевірки підключення й засоби керування доступом.

В обох варіантах OAuth, якщо використовується session:role:all, Snowflake застосовує типову роль кожного користувача. Типова роль має входити до списку дозволених ролей інтеграції OAuth, якщо його налаштовано, і не має бути заблокована. Наявність іншої схваленої ролі не означає, що її буде вибрано автоматично.

Вбудований OAuth

Перш ніж продовжити, виконайте вказівки зі спільних розділів вище: створіть MCP-сервер, надайте дозволи, перевірте сервер і введіть його дані в ChatGPT. Це обов’язково, навіть якщо ви перейшли безпосередньо до цього розділу.

Використовуйте цей варіант, лише якщо партнерський застосунок ChatGPT доступний для вашого облікового запису Snowflake, а вбудований OAuth — у діалоговому вікні налаштування ChatGPT.

  1. Попросіть адміністратора Snowflake увімкнути партнерську інтеграцію ChatGPT у тому самому обліковому записі Snowflake, де розміщено MCP-сервер. Використайте наявну ввімкнену партнерську інтеграцію ChatGPT.

  2. У діалоговому вікні налаштування ChatGPT виберіть вбудований OAuth. Вводити ідентифікатор або секрет клієнта чи реєструвати URL-адресу зворотного виклику не потрібно.

  3. Перейдіть до розділу «Підключення Snowflake і керування ним» нижче, щоб увійти, надати згоду й налаштувати доступ. Потім виконайте вказівки з розділу «Перевірте застосунок», зокрема перевірки за участю учасників, які мають доступ, але не мають прав адміністратора.

Описані вище правила щодо типової ролі, списку дозволених ролей і заблокованих ролей діють і для цього варіанта.

Власний клієнт OAuth

Перш ніж продовжити, виконайте вказівки зі спільних розділів вище: створіть MCP-сервер, надайте дозволи, перевірте сервер і введіть його дані в ChatGPT. Це обов’язково, навіть якщо ви перейшли безпосередньо до цього розділу.

Для власного клієнта OAuth потрібні ідентифікатор і секрет клієнта зі Snowflake. Описані вище правила щодо типової ролі, списку дозволених ролей і заблокованих ролей діють і для цього варіанта.

  1. У діалоговому вікні налаштування ChatGPT виберіть Розширені налаштування OAuth > Клієнт OAuth, визначений користувачем і скопіюйте точне значення поля URL-адреса зворотного виклику, показане в ChatGPT.

  2. Створіть власну інтеграцію безпеки OAuth з параметром OAUTH_CLIENT_TYPE = 'CONFIDENTIAL', а для OAUTH_REDIRECT_URI задайте саме цю URL-адресу зворотного виклику.

  3. Виконайте у Snowflake таку команду, указавши назву інтеграції великими літерами:

    SELECT SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('YOUR_INTEGRATION_NAME');

  4. З отриманого JSON скопіюйте значення oauth_client_id у поле Ідентифікатор клієнта OAuth, а oauth_client_secret — у поле Секрет клієнта OAuth у ChatGPT.

  5. Для параметра Метод автентифікації кінцевої точки видачі токенів установіть значення client_secret_basic.

Після введення облікових даних власного клієнта виконайте вказівки з розділів «Підключення Snowflake і керування ним» та «Перевірте застосунок» нижче.

Підключення Snowflake і керування ним

  1. Для будь-якого варіанта OAuth у тому самому діалоговому вікні налаштування ChatGPT виберіть Продовжити, увійдіть у Snowflake й авторизуйте підключення. Ви можете скористатися єдиним входом вашої організації, якщо його налаштовано.

  2. Для робочого простору налаштуйте політику встановлення плагінів і доступ за ролями або групами для учасників, які мають ним користуватися. Переконайтеся, що ввімкнено і Snowflake, і Snowflake — офіційний шаблон.

  3. Адміністратори робочого простору відповідають за налаштування Доступу користувачів для ролей, яким потрібно використовувати Snowflake.

  4. Адміністратори робочого простору відповідають за перевірку налаштувань Керування діями для наданих інструментів.

  5. Адміністратори робочого простору відповідають за перевірку Дозволів застосунку і визначають, коли ChatGPT має запитувати згоду учасників перед використанням застосунку.

Ці дозволи застосунку діють у розмовах із ChatGPT. Для агентів робочого простору діють окремі налаштування, задані автором кожного агента. Вони визначають, які дії застосунку доступні та коли кінцеві користувачі мають їх схвалювати. Докладніше про роботу агентів див. у статті Агенти робочого простору ChatGPT для Enterprise і Business.

Перевірте застосунок

  1. Відкрийте чат, виберіть Snowflake і перевірте підключення.

  2. Переконайтеся, що ChatGPT виявляє налаштовані вами інструменти.

  3. Спочатку виконайте дію читання з низьким ризиком, наприклад пошук або запит лише для читання до схвалених даних.

  4. Переконайтеся, що дозволи Snowflake не дають вийти за межі схваленої ролі й отримати доступ до несхвалених об’єктів.

  5. Для робочого простору проведіть перевірку за участю учасників, які мають доступ, але не мають прав адміністратора, з різними типовими ролями Snowflake. Успішне підключення адміністратора не підтверджує, що підключитися зможе кожен учасник.

Адміністраторам робочого простору недостатньо ввімкнути лише Snowflake. Якщо Snowflake — офіційний шаблон не ввімкнено й не підключено, для учасників плагін може відображатися як вимкнений.

URL-адреса MCP-сервера й особливості роботи OAuth

ChatGPT підключається за повною URL-адресою MCP-сервера під керуванням Snowflake:

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

ChatGPT використовує префікс хоста Snowflake із цієї URL-адреси, щоб визначити такі кінцеві точки OAuth Snowflake:

  • Авторизація: https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/authorize

  • Видача токена: https://<snowflake_host_prefix>.snowflakecomputing.com/oauth/token-request

Не вставляйте URL-адресу Snowsight, лише кореневу URL-адресу облікового запису Snowflake або URL-адресу із зайвими сегментами шляху. URL-адреса MCP має містити /api/v2/databases/{database}/schemas/{schema}/mcp-servers/{server} і точно відповідати вашим об’єктам Snowflake.

Усунення несправностей

Snowflake увімкнено для адміністратора, але вимкнено для учасника

  • Переконайтеся, що в розділі Налаштування робочого простору > Плагіни ввімкнено і Snowflake, і Snowflake — офіційний шаблон.

  • Відкрийте Snowflake — офіційний шаблон і виконайте всі кроки після вибору Підключити. Недостатньо просто ввімкнути шаблон — його потрібно підключити.

  • Відкрийте Snowflake і переконайтеся, що шаблон відображається як потрібний для нього застосунок.

  • Переконайтеся, що політика встановлення плагінів дозволяє доступ для ролі або групи учасника, у якого виникла проблема.

MCP-сервер не знайдено

  • Повторно перевірте повну URL-адресу MCP-сервера або чотири поля шаблону, якщо їх потрібно заповнити на екрані налаштування.

  • Переконайтеся, що MCP-сервер існує саме в цій базі даних і схемі.

У ChatGPT не відображаються інструменти

  • Переконайтеся, що специфікація MCP-сервера містить інструменти.

  • Переконайтеся, що роль має дозвіл USAGE на MCP-сервер.

Інструмент відображається, але під час використання виникає помилка

  • Переконайтеся, що роль має потрібний дозвіл на об’єкт Snowflake, який використовує інструмент, наприклад службу пошуку, семантичне подання, віртуальне сховище, процедуру або UDF.

Інструмент SQL не працює

  • Переконайтеся, що назву віртуального сховища вказано правильно й воно працює.

  • Переконайтеся, що роль має дозвіл USAGE на віртуальне сховище.

  • Якщо ви планували доступ лише для читання, переконайтеся, що встановлено read_only: true.

Запитану роль ALL явно заблоковано

Попросіть адміністратора Snowflake перевірити вашу типову роль у списках дозволених і заблокованих ролей інтеграції OAuth. Наявність іншої дозволеної ролі не означає, що її буде вибрано автоматично. Якщо це доречно, змініть типову роль на схвалену й підключіться знову. Зміна типової ролі також впливає на ваші сеанси Snowflake поза ChatGPT.

Не вдається пройти авторизацію

  • Переконайтеся, що користувач може ввійти у Snowflake.

  • Якщо використовується session:role:all, переконайтеся, що інтеграція OAuth дозволяє типову роль користувача.

  • Переконайтеся, що в налаштуваннях використовується процес OAuth для MCP під керуванням Snowflake.

  • Якщо ви використовуєте власний клієнт OAuth, переконайтеся, що Ідентифікатор клієнта і Секрет клієнта відповідають інтеграції OAuth у Snowflake, а її URI перенаправлення точно збігається зі значенням поля URL-адреса зворотного виклику у ChatGPT.

    Якщо ви використовуєте вбудований OAuth, попросіть адміністратора Snowflake перевірити, чи доступна й увімкнена партнерська інтеграція ChatGPT в обліковому записі, де розміщено MCP-сервер.

Мережева політика Snowflake або список дозволених IP-адрес блокує конектор

  • Попросіть адміністратора Snowflake оновити мережеву політику або правила доступу Snowflake.

  • Дозвольте вхідні підключення з актуальних діапазонів вихідних IP-адрес конекторів ChatGPT.

  • Налаштуйте цей список дозволених адрес у Snowflake. Він не залежить від списку дозволених IP-адрес робочого простору ChatGPT.

  • За можливості автоматизуйте оновлення на основі опублікованого JSON, оскільки діапазони можуть змінюватися.

Проблема підключення через ім’я хоста

Використовуйте правильний префікс хоста Snowflake. Імена хостів Snowflake із символами підкреслення можуть спричиняти проблеми; краще використовувати дефіси.

Довідкові матеріали

Чи була ця стаття корисною?