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
Поддръжка на вериги от сертификати за API mTLS
Поддръжката на вериги от сертификати позволява на клиента ви да представи краен клиентски сертификат с междинните сертификати, необходими за изграждане на валидна верига до активен качен сертификат.
Това може да ви позволи да ротирате междинни сертификати, без да качвате всеки нов междинен сертификат, стига активният качен сертификат, използван като опора на доверие, да остава валиден.
Поддръжката на вериги от сертификати в момента е достъпна при заявка. Свържете се с вашия Account Director или отворете тикет до поддръжката, за да поискате достъп.
Вашият клиент трябва да представи всички необходими междинни сертификати. OpenAI не извлича липсващи междинни сертификати чрез AIA. Проверките чрез CRL и OCSP остават неподдържани.
ЧЗВ
Мога ли да конфигурирам 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.
Когато поддръжката на вериги от сертификати е активирана, конфигурирайте HTTP клиента си да представя крайния клиентски сертификат и всички необходими междинни сертификати. Точната конфигурация зависи от вашия HTTP клиент.
Преди да наложите 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. Препоръчителната алтернатива е вместо това да изтриете или ротирате своя API ключ. Можете също да подмените своите CA сертификати или да използвате клиентски сертификати с по-кратки срокове на валидност.
Мога ли да използвам по-дълги вериги от сертификати?
Да, ако поддръжката на вериги от сертификати е активирана за вашата организация. Вашият клиент трябва да представи крайния клиентски сертификат и всички необходими междинни сертификати, за да може OpenAI да провери веригата до активен качен сертификат. Свържете се с вашия Account Director или отворете тикет до поддръжката, за да поискате достъп.
Каква е препоръчителната настройка?
При първоначалното настройване на тази функция препоръчваме да започнете със staging проект, който не обслужва официален производствен трафик. Използвайте тази възможност, за да се уверите, че сертификатите ви са правилно настроени на вашите машини и че можете успешно да изпращате API трафик. Освен това препоръчваме да се консултирате с екипа по сигурността на вашата организация, за да разберете най-добре нуждите си.
Допълнителна поддръжка
Можете напълно самостоятелно да управлявате функцията mTLS чрез таблото и API. Ако обаче искате първоначално да активирате mTLS в shadow mode, свържете се с вашия Account Director или отворете билет за поддръжка, като започнете нов чат в долния десен ъгъл на тази страница.
Приложение: Терминология
CA сертификат: Един от вашите доверени сертификати, използван за проверка на клиентски сертификати. Той може директно да подписва клиентските сертификати, които изпращате със заявки, или да служи като опора на верига от сертификати, представена от вашия клиент. Можете да използвате самоподписани CA сертификати.
Качване на сертификат: добавяне на CA сертификат към вашия акаунт. Все още не се прилага никъде за mTLS, но можете да започнете да го конфигурирате.
Обхват: конкретен проект или цялата ви организация.
Активиране на CA сертификат за даден обхват: активира mTLS конкретно за този обхват и всички заявки, базирани на API ключове, трябва да включват клиентски сертификат, който може да бъде проверен спрямо активния CA сертификат.
Деактивиране на CA сертификат за даден обхват: деактивира използването на този сертификат за проверка на заявки в този обхват. Ако за обхвата не са останали сертификати, mTLS на практика е изключен.
Наследяване на сертификат: Ако активирате сертификат за организацията си, той ще бъде активиран и за всички проекти.
