OpenAI Mutual TLS umožňuje organizacím nastavit další vrstvu zabezpečení pro provoz jejich OpenAI API. Po nastavení by se požadavky API měly odesílat na https://mtls.api.openai.com (nebo https://mtls-eu.api.openai.com pro zákazníky s datovou rezidencí v EU) a provoz bude přijat pouze tehdy, pokud budou poskytnuty správný API klíč a klientský certifikát. mTLS se nevztahuje na řídicí panel https://platform.openai.com. Tato funkce je momentálně ve verzi beta.
Jak nastavím integraci mTLS?
V navigační liště nastavení uvidíte kartu „Mutual TLS“.
Nahrát certifikát
Aktivovat certifikát
Po nahrání certifikátu je dalším krokem aktivace certifikátu. Jakmile je pro projekt certifikát aktivován, všechny požadavky API směřující do tohoto projektu budou také vyžadovat odpovídající klientský certifikát. Pokud má projekt aktivováno více certifikátů, můžete předat libovolný odpovídající klientský certifikát. Pokud je certifikát aktivován pro organizaci, bude se vztahovat na všechny požadavky API a bude „zděděn“ všemi projekty.
Požadavky na certifikát CA
Můžete nahrát libovolný certifikát X.509 CA ve formátu PEM, který splňuje následující požadavky:
přímo podepisuje vaše klientské certifikáty, se kterými plánujete odesílat požadavky
má rozšíření Certificate Authority, Subject Key Identifier a Authority Key Identifier (ve formátu KeyIdentifier)
má oprávnění Key Usage: „Certificate Sign, CRL Sign“
není nastaven tak, aby vypršel do 1 dne
celková velikost certifikátu musí být menší než 16 kb.
Požadavky na klientský certifikát
Klientské certifikáty musí být přímo podepsány certifikáty, které jste předem nahráli. V tuto chvíli podporujeme pouze jednoúrovňové řetězce certifikátů. Kromě toho musí vaše klientské certifikáty splňovat následující požadavky:
má rozšíření Subject Key Identifier a Authority Key Identifier (ve formátu KeyIdentifier)
má oprávnění Key Usage: „Digital Signature, Key Encipherment“
má oprávnění Extended Key Usage: „TLS Web Client Authentication“
má rozšíření Subject Alternate Name
Časté dotazy
Mohu mTLS konfigurovat přes API?
Ano — více informací najdete v referenci API na adrese https://platform.openai.com/docs/api-reference/.
Které koncové body podporují mTLS?
Během tohoto beta období je mTLS oficiálně podporováno v těchto případech
/v1/chat/completions (se všemi podporovanými rozšířeními, např. image, audio, streaming atd.)/v1/completions/v1/embeddings/v1/audio/transcriptions/v1/audio/speech/v1/files/v1/batches/v1/responses/v1/images/v1/moderations/v1/realtime (přes webové sockety na straně serveru)/v1/fine_tuning/v1/tunnels
Jak odešlu klientské certifikáty se svým požadavkem?
Pro požadavek cURL můžete použít volby --cert a --key (viz manuálovou stránku zde). Ve většině ostatních HTTP klientů také existují způsoby, jak předat klientské certifikáty. Příklady: requests v Pythonu, fetch v js. V našich oficiálních SDK podporujeme také přepsání HTTP klienta — příklad pro Python najdete zde.
Než začnete mTLS vynucovat pro produkční provoz, ujistěte se, že HTTP klient, který používáte, se chová správně při požadavcích na klientský certifikát (někteří, například WebSockets v určitých prohlížečích, ne). Všimněte si, že náš server v požadavku na klientský certifikát neposkytuje seznam certificate_authorities.
Kdo může přistupovat k certifikátům a upravovat je?
Přes uživatelské rozhraní řídicího panelu https://platform.openai.com/settings/organization/mtls mohou k certifikátům přistupovat a upravovat je vlastníci organizace. Přístup k certifikátům a jejich úpravy může provádět také kdokoli s Admin API klíčem (https://platform.openai.com/settings/organization/admin-keys), ale pozor — pokud aktivujete Mutual TLS na úrovni organizace, budete certifikáty vynucovat i u těchto požadavků API. Všechny změny mTLS jsou viditelné v auditních protokolech.
Kolik certifikátů mohu mít?
Každá organizace může nahrát až 50 certifikátů, které lze sdílet mezi projekty, ale ne s jinými organizacemi. Certifikát můžete atomicky aktivovat/deaktivovat pro 10 projektů najednou. Případně můžete najednou aktivovat/deaktivovat 10 certifikátů pro svou organizaci nebo pro 1 konkrétní projekt.
Mohu certifikáty aktualizovat nebo smazat?
Můžete aktualizovat názvy svých certifikátů, ale ne jejich obsah. Certifikáty můžete také odstranit, pokud nejsou momentálně aktivní v žádném rozsahu.
Jak funguje zneplatnění certifikátu?
V tuto chvíli nepodporujeme CRL ani OCSP stapling. Doporučenou alternativou je místo toho smazat nebo obměnit svůj API klíč. Můžete také vyměnit své certifikáty CA nebo používat klientské certifikáty s kratší dobou platnosti.
Mohu používat delší řetězce certifikátů?
V tuto chvíli podporujeme pouze jednoúrovňové řetězce — tj. váš certifikát CA by měl přímo podepisovat vaše klientské certifikáty. Pokud máte další otázky, obraťte se prosím na svého Account Director.
Jaké nastavení doporučujete?
Při počátečním nastavování této funkce doporučujeme začít se staging projektem, který neobsluhuje oficiální produkční provoz. Využijte tuto příležitost k ověření, že jsou vaše certifikáty na vašich počítačích správně nastavené a že můžete úspěšně odesílat API provoz. Kromě toho doporučujeme poradit se s bezpečnostním týmem vaší organizace, abyste co nejlépe porozuměli svým potřebám.
Další podpora
Funkci mTLS můžete plně spravovat sami přes řídicí panel a API. Pokud však chcete nejprve povolit mTLS v režimu shadow, obraťte se prosím na svého Account Director nebo otevřete tiket podpory zahájením nového chatu v pravém dolním rohu této stránky.
Příloha: Terminologie
Certifikát CA: jeden z vašich důvěryhodných certifikátů, který přímo podepsal vaše klientské certifikáty, jež budete odesílat s požadavky. Můžete bez obav používat certifikáty CA podepsané samy sebou.
Nahrání certifikátu: přidání certifikátu CA do vašeho účtu. Zatím se nikde pro mTLS nevynucuje, ale můžete ho začít konfigurovat.
Rozsah: konkrétní projekt nebo celá vaše organizace.
Aktivace certifikátu CA v určitém rozsahu: povolí mTLS pro daný rozsah a všechny požadavky založené na API klíči budou vyžadovat klientský certifikát podepsaný tímto certifikátem CA.
Deaktivace certifikátu CA v určitém rozsahu: zakáže používání tohoto certifikátu k ověřování požadavků v tomto rozsahu. Pokud pro daný rozsah nezbývají žádné certifikáty, mTLS je fakticky vypnuto.
Dědění certifikátu: Pokud aktivujete certifikát pro svou organizaci, bude aktivován také pro všechny projekty.
