OpenAI Mutual TLS позволява на организациите да конфигурират допълнителен слой сигурност за своя OpenAI API трафик. След конфигуриране API заявките трябва да се отправят към https://mtls.api.openai.com (или https://mtls-eu.api.openai.com за клиенти с местонахождение на данните в ЕС) и трафикът ще се приема само ако са предоставени правилният API ключ и клиентски сертификат. mTLS не се прилага за таблото https://platform.openai.com. Тази функция в момента е в бета версия.
Как да настроя интеграцията с mTLS?
В лентата за навигация на настройките ще видите раздел „Взаимен TLS“.
Качване на сертификат
Активиране на сертификат
След като качите сертификата си, следващата стъпка е да активирате сертификата си. След като даден сертификат бъде активиран за проект, всички API заявки към този проект ще започнат да изискват и съответен клиентски сертификат. Ако за даден проект са активирани няколко сертификата, можете да подадете който и да е съответен клиентски сертификат. Ако даден сертификат е активиран за организацията, той ще се прилага за всички API заявки и се „наследява“ от всички проекти.
Изисквания към CA сертификат
Можете да качите всеки X.509 CA сертификат във формат PEM, който отговаря на следните изисквания:
подписва директно клиентските сертификати, с които планирате да правите заявки
има разширенията Certificate Authority, Subject Key Identifier и Authority Key Identifier (във формат KeyIdentifier)
има разрешенията Key Usage: „Certificate Sign, CRL Sign“
не е настроен да изтича в рамките на 1 ден
общият размер на сертификата трябва да е по-малък от 16kb.
Изисквания към клиентски сертификат
Клиентските сертификати трябва да бъдат директно подписани от сертификатите, които сте качили предварително. В момента поддържаме само вериги от сертификати с единична дължина. Освен това вашите клиентски сертификати трябва да отговарят на следните изисквания:
има разширенията Subject Key Identifier и Authority Key Identifier (във формат KeyIdentifier)
има разрешенията Key Usage: „Digital Signature, Key Encipherment“
има разрешението Extended Key Usage: „TLS Web Client Authentication“
има разширението 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 (вижте страницата с ръководството тук). В повечето други HTTP клиенти също има начини за подаване на клиентски сертификати. Примери: requests в Python, fetch в JS. Чрез официалните ни SDK-та поддържаме и замяна на HTTP клиента — вижте тук за пример с Python.
Преди да наложите mTLS за производствен трафик, уверете се, че HTTP клиентът, който използвате, работи добре със заявки за клиентски сертификат (някои, като WebSockets в определени браузъри, не го правят). Имайте предвид, че нашият сървър не предоставя списък certificate_authorities в заявката за клиентски сертификат.
Кой има достъп до сертификатите и може да ги променя?
Чрез потребителския интерфейс на таблото https://platform.openai.com/settings/organization/mtls собствениците на организацията имат достъп до сертификатите и могат да ги променят. Всеки с администраторски API ключ (https://platform.openai.com/settings/organization/admin-keys) също има достъп до сертификатите и може да ги променя, но имайте предвид — ако активирате Mutual TLS на ниво организация, ще наложите сертификати и за тези API заявки. Всички промени в mTLS са видими в одитните регистрационни файлове.
Колко сертификата мога да имам?
Всяка организация може да качи до 50 сертификата, които могат да се споделят между проекти, но не и с други организации. Можете като атомарна операция да активирате/деактивирате сертификат за 10 проекта наведнъж. Като алтернатива можете да активирате/деактивирате по 10 сертификата наведнъж за вашата организация или за 1 конкретен проект.
Мога ли да актуализирам или изтривам сертификати?
Можете да актуализирате имената на сертификатите си, но не и съдържанието им. Можете също да изтривате сертификати, ако в момента не са активни в никакъв обхват.
Как работи отмяната на сертификати?
В момента не поддържаме CRL или OCSP stapling. Препоръчителната алтернатива е вместо това да изтриете или ротирате своя API ключ. Можете също да смените CA сертификатите си или да използвате клиентски сертификати с по-кратки срокове на валидност.
Мога ли да използвам вериги от сертификати с по-голяма дължина?
В момента поддържаме само вериги с единична дължина — т.е. вашият CA сертификат трябва директно да подписва клиентските ви сертификати. Моля, свържете се с вашия Account Director, ако имате допълнителни въпроси.
Каква е препоръчителната настройка?
При първоначалното настройване на тази функция препоръчваме да започнете със staging проект, който не обслужва официален производствен трафик. Използвайте тази възможност, за да се уверите, че сертификатите ви са правилно настроени на вашите машини и че можете успешно да изпращате API трафик. Освен това препоръчваме да се консултирате с екипа по сигурността на вашата организация, за да разберете най-добре нуждите си.
Допълнителна поддръжка
Можете напълно самостоятелно да управлявате функцията mTLS чрез таблото и API. Ако обаче искате първоначално да активирате mTLS в shadow mode, свържете се с вашия Account Director или отворете билет за поддръжка, като започнете нов чат в долния десен ъгъл на тази страница.
Приложение: Терминология
CA сертификат: Един от доверените ви сертификати, който е подписал директно клиентските сертификати, които ще изпращате със заявките. Можете да използвате самоподписани CA сертификати.
Качване на сертификат: добавяне на CA сертификат към акаунта ви. Все още не се прилага никъде за mTLS, но можете да започнете да го конфигурирате.
Обхват: конкретен проект или цялата ви организация.
Активиране на CA сертификат в обхват: активира mTLS конкретно за този обхват и всички заявки, базирани на API ключ, ще трябва да изискват клиентски сертификат, подписан от CA сертификата.
Деактивиране на CA сертификат в обхват: деактивира използването на този сертификат за проверка на заявки в този обхват. Ако не са останали сертификати за обхвата, mTLS на практика е изключен.
Наследяване на сертификат: Ако активирате сертификат за вашата организация, той ще бъде активиран и за всички проекти.
