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

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

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

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

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

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

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

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

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

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

  • З якою роллю Snowflake авторизується кожен користувач.

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

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

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

  • База даних.

  • Схема.

  • Ім’я сервера MCP.

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

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

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

  • Доступ адміністратора або власника робочого простору ChatGPT чи доступ до ChatGPT Plus або ChatGPT 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

Надайте доступ лише до потрібних можливостей. Поширені варіанти:

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

  • Запитання й відповіді за допомогою 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.

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

Надайте належні дозволи 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.

  • Роль для підключення має необхідні дозволи для кожного базового об’єкта.

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

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

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

  3. Перейдіть до розділу Плагіни.

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

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

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

  7. Введіть повну 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

Для підключення потрібні ідентифікатор і секрет клієнта від Snowflake.

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

  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 і керуйте ним

  1. У тому самому модальному вікні налаштування 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-адреси керованого Snowflake сервера MCP:

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 для керованого Snowflake сервера MCP.

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

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

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

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

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

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

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

Використовуйте правильний префікс хосту Snowflake. Символи підкреслення в іменах хостів Snowflake можуть спричиняти проблеми, тому віддавайте перевагу дефісам.

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

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