OpenAI Mutual TLS memungkinkan organisasi mengonfigurasi lapisan keamanan tambahan untuk lalu lintas OpenAI API mereka. Setelah dikonfigurasi, permintaan API harus dikirim ke https://mtls.api.openai.com (atau https://mtls-eu.api.openai.com untuk pelanggan residensi data UE) dan lalu lintas hanya akan diterima jika kunci API dan sertifikat klien yang benar diberikan. mTLS tidak berlaku untuk Dashboard https://platform.openai.com. Fitur ini saat ini masih dalam 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 tersebut. Setelah sebuah sertifikat diaktifkan untuk proyek, semua permintaan API yang menuju proyek tersebut juga akan mulai memerlukan sertifikat klien yang sesuai. Jika sebuah proyek memiliki beberapa sertifikat yang diaktifkan, Anda dapat meneruskan sertifikat klien mana pun yang sesuai. Jika sebuah sertifikat diaktifkan untuk organisasi, sertifikat itu akan berlaku untuk semua permintaan API dan “diwariskan” ke semua proyek.
Persyaratan sertifikat CA
Anda dapat mengunggah sertifikat CA X.509 apa pun dalam format PEM yang memenuhi persyaratan berikut:
secara langsung menandatangani sertifikat klien yang akan Anda gunakan untuk 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 akan kedaluwarsa dalam waktu 1 hari
ukuran total sertifikat harus kurang dari 16kb.
Persyaratan sertifikat klien
Sertifikat klien harus ditandatangani 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
Bisakah saya mengonfigurasi mTLS melalui API?
Ya — Anda dapat melihat Referensi API di https://platform.openai.com/docs/api-reference/ untuk informasi lebih lanjut.
Endpoint mana yang mendukung mTLS?
Selama periode beta ini, mTLS secara resmi didukung di
/v1/chat/completions (dengan semua ekstensi yang didukung mis. image, audio, streaming, dll.)/v1/completions/v1/embeddings/v1/audio/transcriptions/v1/audio/speech/v1/files/v1/batches/v1/responses/v1/images/v1/moderations/v1/realtime (melalui 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 man di sini). Di sebagian besar klien HTTP lainnya, ada cara untuk meneruskan sertifikat klien juga. 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 lalu lintas produksi, pastikan klien HTTP yang Anda gunakan berperilaku baik terhadap permintaan sertifikat klien (beberapa, seperti WebSockets di browser tertentu, tidak demikian). Perlu dicatat bahwa server kami tidak menyediakan list certificate_authorities dalam permintaan sertifikat klien ini.
Siapa yang dapat mengakses dan mengubah sertifikat?
Melalui UI Dashboard https://platform.openai.com/settings/organization/mtls, pemilik organisasi dapat mengakses dan mengubah sertifikat. Siapa pun yang memiliki Admin API Key (https://platform.openai.com/settings/organization/admin-keys) juga dapat mengakses/mengubah sertifikat, tetapi hati-hati — jika Anda mengaktifkan Mutual TLS di tingkat organisasi, Anda juga akan memberlakukan 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 di seluruh proyek tetapi tidak dengan organisasi lain. Anda dapat mengaktifkan/menonaktifkan sertifikat secara atomik untuk 10 proyek sekaligus. Sebagai alternatif, Anda dapat mengaktifkan/menonaktifkan 10 sertifikat sekaligus untuk organisasi Anda atau untuk 1 proyek tertentu.
Bisakah saya memperbarui atau menghapus sertifikat?
Anda dapat memperbarui nama sertifikat Anda, tetapi bukan isinya. Anda juga dapat menghapus sertifikat jika saat ini tidak aktif di cakupan mana 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 singkat.
Bisakah saya menggunakan rantai sertifikat yang lebih panjang?
Saat ini, kami hanya mendukung rantai dengan panjang tunggal — yaitu sertifikat CA Anda harus langsung menandatangani sertifikat klien Anda. Silakan hubungi Account Director Anda jika memiliki pertanyaan lebih lanjut.
Penyiapan seperti apa yang direkomendasikan?
Saat pertama kali menyiapkan fitur ini, kami menyarankan untuk memulai dengan proyek staging yang tidak melayani lalu lintas produksi resmi. Gunakan kesempatan ini untuk memastikan bahwa sertifikat Anda telah disiapkan dengan benar di mesin Anda dan bahwa Anda dapat mengirim lalu lintas API dengan sukses. Selain itu, kami menyarankan untuk berkonsultasi dengan tim keamanan organisasi Anda agar dapat memahami kebutuhan Anda dengan sebaik-baiknya.
Dukungan Tambahan
Anda dapat sepenuhnya mengelola sendiri fitur mTLS melalui dashboard dan API. Namun, jika Anda ingin mengaktifkan mTLS dalam mode bayangan terlebih dahulu, silakan hubungi Account Director 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 secara langsung menandatangani sertifikat klien yang akan Anda kirim bersama permintaan. Anda dipersilakan menggunakan sertifikat CA yang ditandatangani sendiri.
Unggah sertifikat: menambahkan sertifikat CA ke akun Anda. Sertifikat tersebut belum diberlakukan di mana pun untuk mTLS, tetapi Anda dapat mulai mengonfigurasinya.
Cakupan: proyek tertentu atau seluruh organisasi Anda.
Mengaktifkan sertifikat CA pada suatu cakupan: mengaktifkan mTLS khusus untuk cakupan tersebut, dan semua permintaan berbasis kunci API akan memerlukan sertifikat klien yang ditandatangani oleh sertifikat CA tersebut.
Menonaktifkan sertifikat CA pada suatu cakupan: menonaktifkan penggunaan sertifikat ini untuk memverifikasi permintaan pada cakupan tersebut. Jika Anda tidak memiliki sertifikat yang tersisa untuk cakupan tersebut, mTLS secara efektif dimatikan.
Mewarisi sertifikat: Jika Anda mengaktifkan sertifikat untuk organisasi Anda, sertifikat tersebut juga akan diaktifkan untuk semua proyek.
