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áty
Pokud má vaše organizace povolenou podporu certifikačních řetězců, může klient předložit koncový klientský certifikát a zprostředkující certifikát či certifikáty potřebné k sestavení 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í klientské certifikáty splňovat následující požadavky:
obsahují rozšíření Subject Key Identifier a Authority Key Identifier (ve formátu KeyIdentifier)
mají oprávnění Key Usage: „Digital Signature, Key Encipherment“
mají oprávnění Extended Key Usage: „TLS Web Client Authentication“
obsahují rozšíření Subject Alternate Name
Podpora certifikačních řetězců pro mTLS rozhraní API
Podpora certifikačních řetězců umožňuje klientovi předložit koncový klientský certifikát spolu se zprostředkujícím certifikátem či certifikáty potřebnými k sestavení platného řetězce k aktivnímu nahranému certifikátu.
Díky tomu můžete obměňovat zprostředkující certifikáty, aniž byste museli každý nový zprostředkující certifikát nahrávat, pokud zůstane platný aktivní nahraný certifikát používaný jako kotva důvěry.
Podpora certifikačních řetězců je v současnosti dostupná na vyžádání. Chcete-li požádat o přístup, obraťte se na svého obchodního ředitele nebo vytvořte požadavek na podporu.
Klient musí předložit všechny požadované zprostředkující certifikáty. OpenAI nenačítá chybějící zprostředkující 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.
