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

Бета-програма OpenAI Mutual TLS

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

OpenAI Mutual TLS дає організаціям змогу налаштувати додатковий рівень безпеки для їхнього трафіку OpenAI API. Після налаштування API-запити слід надсилати на https://mtls.api.openai.com (або https://mtls-eu.api.openai.com для клієнтів із вимогами до локалізації даних у ЄС), і трафік прийматиметься лише за умови надання правильного API-ключа та клієнтського сертифіката. mTLS не застосовується до панелі керування https://platform.openai.com. Ця функція наразі перебуває в бета-версії.

Як налаштувати інтеграцію mTLS?

На панелі навігації налаштувань ви побачите вкладку «Mutual TLS».

Mutual TLS settings page prompting the user to upload a client certificate to enable mTLS

Завантажити сертифікат

Upload a certificate dialog for mutual TLS with name field and PEM certificate text area

Активувати сертифікат

Після завантаження сертифіката наступний крок — активувати його. Після активації сертифіката для проєкту всі API-запити до цього проєкту також почнуть вимагати відповідний клієнтський сертифікат. Якщо для проєкту активовано кілька сертифікатів, ви можете передати будь-який відповідний клієнтський сертифікат. Якщо сертифікат активовано для організації, він застосовуватиметься до всіх API-запитів і «успадковуватиметься» всіма проєктами.

Image

Вимоги до сертифікатів CA

Ви можете завантажити будь-який сертифікат CA X.509 у форматі PEM, який відповідає таким вимогам:

  1. безпосередньо підписує ваші клієнтські сертифікати, з якими ви плануєте виконувати запити

  2. має розширення Certificate Authority, Subject Key Identifier і Authority Key Identifier (у форматі KeyIdentifier)

  3. має дозволи Key Usage: «Certificate Sign, CRL Sign»

  4. строк дії не спливає протягом 1 дня

  5. загальний розмір сертифіката має бути меншим за 16 КБ.

Вимоги до клієнтських сертифікатів

Клієнтські сертифікати мають бути безпосередньо підписані сертифікатами, які ви завантажили заздалегідь. Наразі ми підтримуємо лише ланцюжки сертифікатів одиничної довжини. Крім цього, ваші клієнтські сертифікати мають відповідати таким вимогам:

  1. має розширення Subject Key Identifier і Authority Key Identifier (у форматі KeyIdentifier)

  2. має дозволи Key Usage: «Digital Signature, Key Encipherment»

  3. має дозвіл Extended Key Usage: «TLS Web Client Authentication»

  4. має розширення Subject Alternate Name

Поширені запитання

Чи можна налаштувати mTLS через API?

Так — докладнішу інформацію див. у довіднику API за адресою https://platform.openai.com/docs/api-reference/.

Які кінцеві точки підтримують mTLS?

Протягом цього бета-періоду mTLS офіційно підтримується в

  • /v1/chat/completions (with all supported extensions e.g. image, audio, streaming, etc.)

  • /v1/completions

  • /v1/embeddings

  • /v1/audio/transcriptions

  • /v1/audio/speech

  • /v1/files

  • /v1/batches

  • /v1/responses

  • /v1/images

  • /v1/moderations

  • /v1/realtime (via server-side web sockets)

  • /v1/fine_tuning

  • /v1/tunnels

Як надсилати клієнтські сертифікати разом із запитом?

Для запиту cURL можна використовувати параметри --cert і --key (див. сторінку man тут). У більшості інших HTTP-клієнтів також є способи передавати клієнтські сертифікати. Приклади: requests у python, fetch у js. Через наші офіційні SDK ми також підтримуємо перевизначення HTTP-клієнта — див. приклад для Python тут.

Перш ніж примусово застосовувати mTLS для виробничого трафіку, переконайтеся, що HTTP-клієнт, який ви використовуєте, коректно працює із запитами клієнтських сертифікатів (деякі, наприклад WebSockets у певних браузерах, не працюють). Зверніть увагу, що наш сервер не надає список certificate_authorities у запиті клієнтського сертифіката.

Хто може отримувати доступ до сертифікатів і змінювати їх?

Через інтерфейс панелі керування https://platform.openai.com/settings/organization/mtls власники організації можуть отримувати доступ до сертифікатів і змінювати їх. Будь-хто з Admin API Key (https://platform.openai.com/settings/organization/admin-keys) також може отримувати доступ до сертифікатів і змінювати їх, однак майте на увазі: якщо ви активуєте Mutual TLS на рівні організації, сертифікати також примусово застосовуватимуться до цих API-запитів. Усі зміни mTLS відображаються в журналах аудиту.

Скільки сертифікатів я можу мати?

Кожна організація може завантажити до 50 сертифікатів, які можна спільно використовувати в різних проєктах, але не з іншими організаціями. Ви можете атомарно активувати або деактивувати сертифікат для 10 проєктів одночасно. Також ви можете активувати або деактивувати 10 сертифікатів одночасно для своєї організації або для 1 конкретного проєкту.

Чи можу я оновлювати або видаляти сертифікати?

Ви можете оновлювати назви своїх сертифікатів, але не їхній вміст. Ви також можете видаляти сертифікати, якщо вони наразі не активні в жодній області дії.

Як працює відкликання сертифікатів?

Наразі ми не підтримуємо CRL або OCSP stapling. Натомість рекомендована альтернатива — видалити або ротувати свій API-ключ. Ви також можете замінити свої сертифікати CA або використовувати клієнтські сертифікати з коротшими строками дії.

Чи можна використовувати довші ланцюжки сертифікатів?

Наразі ми підтримуємо лише ланцюжки одиничної довжини — тобто ваш сертифікат CA має безпосередньо підписувати ваші клієнтські сертифікати. Якщо у вас є додаткові запитання, зверніться до свого менеджера з роботи з клієнтами.

Яке налаштування рекомендовано?

Під час початкового налаштування цієї функції рекомендуємо почати зі staging-проєкту, який не обслуговує офіційний виробничий трафік. Скористайтеся цією можливістю, щоб переконатися, що ваші сертифікати належним чином налаштовані на ваших машинах і що ви можете успішно надсилати API-трафік. Крім того, рекомендуємо проконсультуватися з командою безпеки вашої організації, щоб якнайкраще зрозуміти ваші потреби.

Додаткова підтримка

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

Додаток: термінологія

  • Сертифікат CA: один із ваших довірених сертифікатів, який безпосередньо підписав ваші клієнтські сертифікати, що ви надсилатимете із запитами. Ви можете використовувати самопідписані сертифікати CA.

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

  • Область дії: конкретний проєкт або вся ваша організація.

  • Активувати сертифікат CA в області дії: вмикає mTLS саме для цієї області дії, і всі запити на основі API-ключа повинні будуть вимагати клієнтський сертифікат, підписаний сертифікатом CA.

  • Деактивувати сертифікат CA в області дії: вимикає використання цього сертифіката для перевірки запитів у цій області дії. Якщо для області дії не залишилося сертифікатів, mTLS фактично вимкнено.

  • Успадкування сертифіката: якщо ви активуєте сертифікат для своєї організації, його також буде активовано для всіх проєктів.

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