OpenAI Mutual TLS memungkinkan organisasi mengonfigurasi lapisan keamanan tambahan untuk traffic API OpenAI mereka. Setelah dikonfigurasi, permintaan API harus dibuat ke https://mtls.api.openai.com (atau https://mtls-eu.api.openai.com untuk pelanggan residensi data UE) dan traffic hanya akan diterima jika kunci API serta sertifikat klien yang tepat diberikan. mTLS tidak berlaku untuk Dasbor https://platform.openai.com. Fitur ini saat ini dalam versi beta.
Bagaimana cara menyiapkan integrasi mTLS?
Pada bilah navigasi pengaturan, Anda akan melihat tab “Mutual TLS”.
Unggah Sertifikat
Aktifkan Sertifikat
Setelah mengunggah sertifikat Anda, langkah berikutnya adalah mengaktifkan sertifikat Anda. Setelah sertifikat diaktifkan untuk suatu proyek, semua permintaan API yang menuju proyek tersebut juga akan mulai mewajibkan sertifikat klien yang sesuai. Jika suatu proyek memiliki beberapa sertifikat yang diaktifkan, Anda dapat meneruskan sertifikat klien mana pun yang sesuai. Jika sertifikat diaktifkan untuk organisasi, sertifikat tersebut akan berlaku untuk semua permintaan API dan “diwarisi” oleh semua proyek.
Persyaratan sertifikat CA
Anda dapat mengunggah sertifikat CA X.509 apa pun dalam format PEM yang memenuhi persyaratan berikut:
menandatangani secara langsung sertifikat klien yang Anda rencanakan untuk digunakan dalam membuat permintaan
memiliki ekstensi Certificate Authority, Subject Key Identifier, dan Authority Key Identifier (dalam format KeyIdentifier)
memiliki izin Key Usage: “Certificate Sign, CRL Sign”
tidak diatur untuk kedaluwarsa dalam 1 hari
ukuran total sertifikat harus kurang dari 16 kb.
Persyaratan sertifikat klien
Sertifikat klien harus ditandatangani secara langsung oleh sertifikat yang telah Anda unggah sebelumnya. Saat ini, kami hanya mendukung rantai sertifikat dengan panjang tunggal. Selain itu, sertifikat klien Anda harus memenuhi persyaratan berikut:
memiliki ekstensi Subject Key Identifier dan Authority Key Identifier (dalam format KeyIdentifier)
memiliki izin Key Usage: “Digital Signature, Key Encipherment”
memiliki izin Extended Key Usage: “TLS Web Client Authentication”
memiliki ekstensi Subject Alternate Name
FAQ
Dapatkah saya mengonfigurasi mTLS melalui API?
Ya — Anda dapat melihat Referensi API di https://platform.openai.com/docs/api-reference/ untuk informasi selengkapnya.
Endpoint apa yang mendukung mTLS?
Selama periode beta ini, mTLS secara resmi didukung di
/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
Bagaimana cara mengirim sertifikat klien bersama permintaan saya?
Untuk permintaan cURL, Anda dapat menggunakan opsi --cert dan --key (lihat halaman manual di sini). Di sebagian besar klien HTTP lainnya, ada juga cara untuk meneruskan sertifikat klien. Contoh: requests di python, fetch di js. Melalui SDK resmi kami, kami juga mendukung penggantian klien HTTP — lihat di sini untuk contoh Python.
Sebelum menerapkan mTLS untuk traffic produksi, pastikan klien HTTP yang Anda gunakan berperilaku baik dengan permintaan sertifikat klien (beberapa, seperti WebSockets di browser tertentu, tidak demikian). Perhatikan bahwa server kami tidak menyediakan daftar certificate_authorities dalam permintaan sertifikat klien.
Siapa yang dapat mengakses dan mengubah sertifikat?
Melalui UI Dasbor https://platform.openai.com/settings/organization/mtls, pemilik organisasi dapat mengakses dan mengubah sertifikat. Siapa pun yang memiliki Kunci API Admin (https://platform.openai.com/settings/organization/admin-keys) juga dapat mengakses/mengubah sertifikat, tetapi harap berhati-hati — jika Anda mengaktifkan Mutual TLS di tingkat organisasi, Anda juga akan menerapkan sertifikat pada permintaan API ini. Semua perubahan mTLS terlihat di log audit.
Berapa banyak sertifikat yang dapat saya miliki?
Setiap organisasi dapat mengunggah hingga 50 sertifikat, yang dapat dibagikan antarproyek tetapi tidak dengan organisasi lain. Anda dapat mengaktifkan/menonaktifkan sertifikat secara atomik untuk 10 proyek sekaligus. Atau, Anda dapat mengaktifkan/menonaktifkan 10 sertifikat sekaligus untuk organisasi Anda atau untuk 1 proyek tertentu.
Dapatkah saya memperbarui atau menghapus sertifikat?
Anda dapat memperbarui nama sertifikat Anda, tetapi bukan kontennya. Anda juga dapat menghapus sertifikat jika saat ini tidak aktif pada cakupan apa pun.
Bagaimana cara kerja pencabutan sertifikat?
Saat ini, kami tidak mendukung CRL atau OCSP stapling. Alternatif yang direkomendasikan adalah menghapus atau merotasi kunci API Anda. Anda juga dapat mengganti sertifikat CA Anda atau menggunakan sertifikat klien dengan masa berlaku yang lebih pendek.
Dapatkah saya menggunakan rantai sertifikat yang lebih panjang?
Saat ini, kami hanya mendukung rantai dengan panjang tunggal — yaitu sertifikat CA Anda harus menandatangani sertifikat klien Anda secara langsung. Harap hubungi Direktur Akun Anda jika Anda memiliki pertanyaan lebih lanjut.
Apa konfigurasi yang direkomendasikan?
Saat menyiapkan fitur ini untuk pertama kalinya, kami menyarankan untuk memulai dengan proyek staging yang tidak melayani traffic produksi resmi. Gunakan kesempatan ini untuk memastikan sertifikat Anda telah disiapkan dengan benar di mesin Anda dan Anda dapat mengirim traffic API dengan berhasil. Selain itu, kami menyarankan untuk berkonsultasi dengan tim keamanan organisasi Anda agar dapat memahami kebutuhan Anda sebaik mungkin.
Dukungan Tambahan
Anda dapat mengelola sendiri fitur mTLS sepenuhnya melalui dasbor dan API. Namun, jika Anda ingin mengaktifkan mTLS dalam mode bayangan terlebih dahulu, harap hubungi Direktur Akun Anda atau buka tiket dukungan dengan memulai chat baru di sudut kanan bawah halaman ini.
Lampiran: Terminologi
Sertifikat CA: Salah satu sertifikat tepercaya Anda yang telah menandatangani secara langsung sertifikat klien yang akan Anda kirim bersama permintaan. Anda dapat menggunakan sertifikat CA yang ditandatangani sendiri.
Unggah sertifikat: menambahkan sertifikat CA ke akun Anda. Sertifikat tersebut belum diterapkan di mana pun untuk mTLS, tetapi Anda dapat mulai mengonfigurasinya.
Cakupan: proyek tertentu atau seluruh organisasi Anda.
Aktifkan sertifikat CA pada suatu cakupan: mengaktifkan mTLS khusus untuk cakupan tersebut, dan semua permintaan berbasis kunci API akan perlu mewajibkan sertifikat klien yang ditandatangani oleh sertifikat CA tersebut.
Nonaktifkan sertifikat CA pada suatu cakupan: menonaktifkan penggunaan sertifikat ini untuk memverifikasi permintaan pada cakupan ini. Jika tidak ada sertifikat yang tersisa untuk cakupan tersebut, mTLS secara efektif dinonaktifkan.
Mewarisi sertifikat: Jika Anda mengaktifkan sertifikat untuk organisasi Anda, sertifikat tersebut juga akan diaktifkan untuk semua proyek.
