OpenAI Mutual TLS organizacijama omogućuje konfiguriranje dodatnog sloja sigurnosti za njihov OpenAI API promet. Nakon konfiguriranja, API zahtjevi trebaju se slati na https://mtls.api.openai.com (ili https://mtls-eu.api.openai.com za korisnike s rezidentnošću podataka u EU-u), a promet će biti prihvaćen samo ako su navedeni odgovarajući API ključ i klijentski certifikat. mTLS se ne primjenjuje na nadzornu ploču https://platform.openai.com. Ova je značajka trenutačno u beta verziji.
Kako postaviti integraciju mTLS-a?
Na navigacijskoj traci postavki vidjet ćete karticu „Mutual TLS”.
Prijenos certifikata
Aktiviranje certifikata
Nakon prijenosa certifikata, sljedeći je korak aktivirati certifikat. Nakon što se certifikat aktivira za projekt, svi API zahtjevi koji idu prema tom projektu počet će zahtijevati i odgovarajući klijentski certifikat. Ako projekt ima više aktiviranih certifikata, možete proslijediti bilo koji odgovarajući klijentski certifikat. Ako je certifikat aktiviran za organizaciju, primjenjivat će se na sve API zahtjeve i „nasljeđuju” ga svi projekti.
Zahtjevi za CA certifikat
Možete prenijeti bilo koji X.509 CA certifikat u PEM formatu koji ispunjava sljedeće zahtjeve:
izravno potpisuje vaše klijentske certifikate s kojima planirate slati zahtjeve
ima ekstenzije Certificate Authority, Subject Key Identifier i Authority Key Identifier (u formatu KeyIdentifier)
ima dozvole Key Usage: „Certificate Sign, CRL Sign”
nije postavljen tako da istječe unutar 1 dana
ukupna veličina certifikata mora biti manja od 16 kb.
Zahtjevi za klijentske certifikate
Klijentski certifikati moraju biti izravno potpisani certifikatima koje ste unaprijed prenijeli. Trenutačno podržavamo samo lance certifikata jedne duljine. Osim toga, vaši klijentski certifikati moraju ispunjavati sljedeće zahtjeve:
ima ekstenzije Subject Key Identifier i Authority Key Identifier (u formatu KeyIdentifier)
ima dozvole Key Usage: „Digital Signature, Key Encipherment”
ima dozvolu Extended Key Usage: „TLS Web Client Authentication”
ima ekstenziju Subject Alternate Name
Česta pitanja
Mogu li konfigurirati mTLS putem API-ja?
Da — za više informacija pogledajte API referencu na https://platform.openai.com/docs/api-reference/.
Koje krajnje točke podržavaju mTLS?
Tijekom ovog beta razdoblja mTLS je službeno podržan u
/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
Kako šaljem klijentske certifikate sa svojim zahtjevom?
Za cURL zahtjev možete upotrijebiti opcije --cert i --key (pogledajte stranicu priručnika ovdje). U većini drugih HTTP klijenata također postoje načini za prosljeđivanje klijentskih certifikata. Primjeri: requests u Pythonu, fetch u JS-u. Putem naših službenih SDK-ova podržavamo i nadjačavanje HTTP klijenta — pogledajte ovdje za primjer u Pythonu.
Prije provođenja mTLS-a za produkcijski promet provjerite ponaša li se HTTP klijent koji upotrebljavate ispravno sa zahtjevima za klijentske certifikate (neki, poput WebSocketsa u određenim preglednicima, ne ponašaju se tako). Imajte na umu da naš poslužitelj ne pruža popis certificate_authorities u zahtjevu za klijentski certifikat.
Tko može pristupiti certifikatima i mijenjati ih?
Putem sučelja nadzorne ploče https://platform.openai.com/settings/organization/mtls, vlasnici organizacije mogu pristupiti certifikatima i mijenjati ih. Svatko s Admin API Key (https://platform.openai.com/settings/organization/admin-keys) također može pristupiti certifikatima i mijenjati ih, no imajte na umu — ako aktivirate Mutual TLS na razini organizacije, certifikati će se provoditi i za te API zahtjeve. Sve promjene mTLS-a vidljive su u zapisnicima nadzora.
Koliko certifikata mogu imati?
Svaka organizacija može prenijeti do 50 certifikata, koji se mogu dijeliti među projektima, ali ne i s drugim organizacijama. Certifikat možete atomski aktivirati/deaktivirati za 10 projekata odjednom. Alternativno, možete aktivirati/deaktivirati 10 certifikata odjednom za svoju organizaciju ili za 1 određeni projekt.
Mogu li ažurirati ili izbrisati certifikate?
Možete ažurirati nazive svojih certifikata, ali ne i njihov sadržaj. Certifikate možete i izbrisati ako trenutačno nisu aktivni ni u jednom opsegu.
Kako funkcionira opoziv certifikata?
Trenutačno ne podržavamo CRL-ove ni OCSP stapling. Preporučena alternativa je da umjesto toga izbrišete ili rotirate svoj API ključ. Možete i zamijeniti svoje CA certifikate ili upotrebljavati klijentske certifikate s kraćim razdobljima valjanosti.
Mogu li upotrebljavati dulje lance certifikata?
Trenutačno podržavamo samo lance jedne duljine — tj. vaš CA certifikat trebao bi izravno potpisivati vaše klijentske certifikate. Obratite se svojem voditelju računa ako imate dodatnih pitanja.
Koja je preporučena konfiguracija?
Pri početnom postavljanju ove značajke preporučujemo da započnete s pripremnim projektom koji ne poslužuje službeni produkcijski promet. Iskoristite ovu priliku kako biste provjerili jesu li vaši certifikati pravilno postavljeni na vašim računalima i možete li uspješno slati API promet. Osim toga, preporučujemo da se posavjetujete sa sigurnosnim timom svoje organizacije kako biste najbolje razumjeli svoje potrebe.
Dodatna podrška
Značajkom mTLS možete u potpunosti samostalno upravljati putem nadzorne ploče i API-ja. Međutim, ako biste najprije željeli omogućiti mTLS u načinu sjene, obratite se svojem voditelju računa ili otvorite zahtjev za podršku pokretanjem novog chata u donjem desnom kutu ove stranice.
Dodatak: Terminologija
CA certifikat: jedan od vaših pouzdanih certifikata koji je izravno potpisao vaše klijentske certifikate koje ćete slati sa zahtjevima. Možete upotrebljavati samopotpisane CA certifikate.
Prijenos certifikata: dodavanje CA certifikata na vaš račun. Još se nigdje ne provodi za mTLS, ali ga možete početi konfigurirati.
Opseg: određeni projekt ili cijela vaša organizacija.
Aktiviranje CA certifikata u opsegu: omogućuje mTLS posebno za taj opseg, a svi zahtjevi temeljeni na API ključu morat će zahtijevati klijentski certifikat koji je potpisao CA certifikat.
Deaktiviranje CA certifikata u opsegu: onemogućuje upotrebu ovog certifikata za provjeru zahtjeva u tom opsegu. Ako za opseg nemate nijedan preostali certifikat, mTLS je zapravo isključen.
Nasljeđivanje certifikata: ako aktivirate certifikat za svoju organizaciju, bit će aktiviran i za sve projekte.
