OpenAI Mutual TLS umožňuje organizacím nakonfigurovat další vrstvu zabezpečení pro provoz jejich OpenAI API. Po nakonfigurování by požadavky API měly směřovat na https://mtls.api.openai.com (nebo na https://mtls-eu.api.openai.com pro zákazníky s datovou rezidencí v EU) a provoz bude přijat pouze v případě, že bude poskytnut správný klíč API a klientský certifikát. mTLS se nevztahuje na řídicí panel https://platform.openai.com. Tato funkce je aktuálně ve fázi beta.
Jak nastavím integraci mTLS?
Na navigační liště nastavení uvidíte kartu „Mutual TLS“.
Nahrání certifikátu
Aktivace certifikátu
Po nahrání certifikátu je dalším krokem jeho aktivace. Jakmile je certifikát pro projekt aktivován, všechny požadavky API směřující do tohoto projektu začnou vyžadovat také 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 všechny projekty jej „zdědí“.
Požadavky na certifikát CA
Můžete nahrát libovolný certifikát CA X.509 ve formátu PEM, který splňuje následující požadavky:
přímo podepisuje klientské certifikáty, které plánujete používat, nebo slouží jako kotva platného řetězce certifikátů předloženého vaším klientem.
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“
jeho platnost nevyprší během 1 dne
celková velikost certifikátu musí být menší než 16 kB.
Požadavky na klientský certifikát
Pokud je pro vaši organizaci povolena podpora řetězců certifikátů, může váš klient předložit koncový klientský certifikát a mezilehlé certifikáty potřebné k vytvoření platného řetězce k aktivnímu nahranému certifikátu. V opačném případě musí být klientské certifikáty přímo podepsány certifikáty, které jste předem nahráli. 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
Podpora řetězců certifikátů pro mTLS v API
Podpora řetězců certifikátů umožňuje vašemu klientovi předložit koncový klientský certifikát spolu s mezilehlými certifikáty potřebnými k vytvoření platného řetězce k aktivnímu nahranému certifikátu.
Díky tomu můžete obměňovat mezilehlé certifikáty, aniž byste nahrávali každý nový mezilehlý certifikát, pokud aktivní nahraný certifikát používaný jako kotva důvěry zůstává platný.
Podpora řetězců certifikátů je v současnosti dostupná na vyžádání. Pokud chcete požádat o přístup, obraťte se na svého Account Directora nebo otevřete ticket podpory.
Váš klient musí předložit všechny požadované mezilehlé certifikáty. OpenAI nenačítá chybějící mezilehlé certifikáty prostřednictvím AIA. Kontroly CRL a OCSP nadále nejsou podporovány.
Časté dotazy
Mohu nakonfigurovat mTLS prostřednictvím API?
Ano — další informace najdete v referenční dokumentaci 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
/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
Jak mám s požadavkem odesílat klientské certifikáty?
U požadavku cURL můžete použít volby --cert a --key (viz manuálová stránka zde). Ve většině ostatních HTTP klientů existují také způsoby, jak klientské certifikáty předat. Příklady: requests v Pythonu, fetch v JS. Prostřednictvím našich oficiálních sad SDK podporujeme také přepsání HTTP klienta — příklad pro Python najdete zde.
Když je povolena podpora řetězců certifikátů, nakonfigurujte svého HTTP klienta tak, aby předkládal koncový klientský certifikát i všechny požadované mezilehlé certifikáty. Přesná konfigurace závisí na vašem HTTP klientovi.
Než začnete vynucovat mTLS pro produkční provoz, ověřte, že HTTP klient, kterého používáte, se správně chová při požadavcích na klientský certifikát (někteří, například WebSockets v určitých prohlížečích, to nedělají). Upozorňujeme, ž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?
Prostřednictvím uživatelského rozhraní řídicího panelu https://platform.openai.com/settings/organization/mtls mohou k certifikátům přistupovat a upravovat je vlastníci organizace. Ke certifikátům může přistupovat a upravovat je také kdokoli s klíčem Admin API Key (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 napříč projekty, ale ne s jinými organizacemi. Certifikát můžete atomicky aktivovat/deaktivovat vždy pro 10 projektů najednou. Případně můžete aktivovat/deaktivovat 10 certifikátů najednou pro svou organizaci nebo pro 1 konkrétní projekt.
Mohu certifikáty aktualizovat nebo odstranit?
Názvy certifikátů můžete aktualizovat, ale jejich obsah nikoli. Certifikáty můžete také odstranit, pokud nejsou aktuálně aktivní v žádném rozsahu.
Jak funguje zneplatnění certifikátu?
V současnosti nepodporujeme kontroly CRL ani OCSP. Doporučenou alternativou je místo toho odstranit nebo obměnit klíč API. Můžete také vyměnit certifikáty CA nebo používat klientské certifikáty s kratší dobou platnosti.
Mohu používat delší řetězce certifikátů?
Ano, pokud je pro vaši organizaci povolena podpora řetězců certifikátů. Váš klient musí předložit koncový klientský certifikát a všechny požadované mezilehlé certifikáty, aby OpenAI mohla ověřit řetězec až k aktivnímu nahranému certifikátu. Pokud chcete požádat o přístup, obraťte se na svého Account Directora nebo otevřete ticket podpory.
Jaké je doporučené nastavení?
Při počátečním nastavování této funkce doporučujeme začít se stagingovým 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 provoz API. Kromě toho doporučujeme konzultovat vaše potřeby s bezpečnostním týmem vaší organizace, abyste jim co nejlépe porozuměli.
Další podpora
Funkci mTLS můžete plně spravovat svépomocně prostřednictvím řídicího panelu a API. Pokud však chcete mTLS nejprve povolit ve stínovém režimu, obraťte se na svého Account Directora 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ů používaný k ověřování klientských certifikátů. Může přímo podepisovat klientské certifikáty, které odesíláte s požadavky, nebo sloužit jako kotva řetězce certifikátů předloženého vaším klientem. Můžete používat certifikáty CA podepsané svým vlastním klíčem.
Nahrání certifikátu: přidání certifikátu CA k vašemu účtu. Zatím se nikde pro mTLS nevynucuje, ale můžete jej začít konfigurovat.
Rozsah: konkrétní projekt nebo celá vaše organizace.
Aktivace certifikátu CA pro rozsah: povolí mTLS konkrétně pro daný rozsah a všechny požadavky založené na klíči API musí obsahovat klientský certifikát, který lze ověřit vůči aktivnímu certifikátu CA.
Deaktivace certifikátu CA pro rozsah: zakáže použití tohoto certifikátu k ověřování požadavků v daném rozsahu. Pokud pro daný rozsah nezbývají žádné certifikáty, je mTLS fakticky vypnuté.
Dědění certifikátu: Pokud aktivujete certifikát pro svou organizaci, bude aktivován také pro všechny projekty.
