OpenAI Mutual TLS تنظیموں کو اپنی OpenAI API ٹریفک کے لیے سکیورٹی کی ایک اضافی پرت کنفیگر کرنے کی اجازت دیتا ہے. کنفیگر ہونے کے بعد، API درخواستیں https://mtls.api.openai.com پر کی جانی چاہئیں (یا EU ڈیٹا ریزیڈنسی صارفین کے لیے https://mtls-eu.api.openai.com پر) اور ٹریفک صرف اسی صورت میں قبول کی جائے گی جب درست API کلید اور کلائنٹ سرٹیفکیٹ فراہم کیے جائیں. mTLS کا اطلاق https://platform.openai.com ڈیش بورڈ پر نہیں ہوتا. یہ فیچر فی الحال بیٹا میں ہے.
میں mTLS انٹیگریشن کیسے سیٹ اپ کروں؟
سیٹنگز نیویگیشن بار پر، آپ کو “Mutual TLS” ٹیب نظر آئے گا.
سرٹیفکیٹ اپ لوڈ کریں
سرٹیفکیٹ فعال کریں
اپنا سرٹیفکیٹ اپ لوڈ کرنے کے بعد، اگلا مرحلہ اپنے سرٹیفکیٹ کو فعال کرنا ہے. جب کسی پروجیکٹ کے لیے کوئی سرٹیفکیٹ فعال ہو جاتا ہے، تو اس پروجیکٹ کو جانے والی تمام API درخواستوں کے لیے متعلقہ کلائنٹ سرٹیفکیٹ بھی درکار ہونا شروع ہو جائے گا. اگر کسی پروجیکٹ میں متعدد سرٹیفکیٹس فعال ہیں، تو آپ کوئی بھی متعلقہ کلائنٹ سرٹیفکیٹ پاس کر سکتے ہیں. اگر کوئی سرٹیفکیٹ تنظیم کے لیے فعال ہے، تو یہ تمام API درخواستوں پر لاگو ہوگا اور تمام پروجیکٹس اسے ”وراثت میں“ حاصل کریں گے.
CA certificate کی ضروریات
آپ PEM فارمیٹ میں کوئی بھی X.509 CA certificate اپ لوڈ کر سکتے ہیں جو درج ذیل ضروریات پوری کرتا ہو:
آپ جن کلائنٹ سرٹیفکیٹس کو استعمال کرنے کا ارادہ رکھتے ہیں ان پر براہِ راست دستخط کرتا ہو، یا آپ کے کلائنٹ کی پیش کردہ درست سرٹیفکیٹ چین کا اینکر ہو.
اس میں Certificate Authority، Subject Key Identifier، اور Authority Key Identifier (KeyIdentifier فارمیٹ میں) ایکسٹینشنز ہوں
اس میں Key Usage: “Certificate Sign, CRL Sign” permissions ہوں
اس کی میعاد 1 دن کے اندر ختم ہونے والی نہ ہو
کل سرٹیفکیٹ سائز 16kb سے کم ہونا چاہیے.
کلائنٹ سرٹیفکیٹ کے تقاضے
اگر آپ کی تنظیم کے لیے سرٹیفکیٹ سلسلے کی معاونت فعال ہے، تو آپ کا کلائنٹ ایک اختتامی کلائنٹ سرٹیفکیٹ اور فعال اپ لوڈ کردہ سرٹیفکیٹ تک درست سلسلہ بنانے کے لیے درکار درمیانی سرٹیفکیٹ پیش کر سکتا ہے. بصورت دیگر، کلائنٹ سرٹیفکیٹس پر براہ راست ان سرٹیفکیٹس سے دستخط ہونا ضروری ہے جو آپ نے پہلے سے اپ لوڈ کیے ہیں. اس کے علاوہ، آپ کے کلائنٹ سرٹیفکیٹس کو درج ذیل تقاضے پورے کرنے چاہییں:
اس میں موضوعی کلید شناخت کار اور مجاز کلید شناخت کار کی توسیع ہو (KeyIdentifier فارمیٹ میں)
اس میں کلید کے استعمال کے لیے ”ڈیجیٹل دستخط، کلید کی رمز بندی“ کی اجازتیں ہوں
اس میں توسیعی کلید کے استعمال کے لیے ”TLS ویب کلائنٹ کی توثیق“ کی اجازت ہو
اس میں موضوع کے متبادل نام کی توسیع ہو
API کے باہمی TLS کے لیے سرٹیفکیٹ سلسلے کی معاونت
سرٹیفکیٹ سلسلے کی معاونت سے آپ کا کلائنٹ ایک اختتامی کلائنٹ سرٹیفکیٹ کے ساتھ فعال اپ لوڈ کردہ سرٹیفکیٹ تک درست سلسلہ بنانے کے لیے درکار درمیانی سرٹیفکیٹ پیش کر سکتا ہے.
اس سے آپ ہر نئے درمیانی سرٹیفکیٹ کو اپ لوڈ کیے بغیر درمیانی سرٹیفکیٹس تبدیل کر سکتے ہیں، بشرطیکہ اعتماد کی بنیاد کے طور پر استعمال ہونے والا فعال اپ لوڈ کردہ سرٹیفکیٹ درست رہے.
سرٹیفکیٹ سلسلے کی معاونت فی الحال درخواست پر دستیاب ہے. رسائی کی درخواست کے لیے اپنے اکاؤنٹ ڈائریکٹر سے رابطہ کریں یا معاونتی ٹکٹ کھولیں.
آپ کے کلائنٹ کو تمام مطلوبہ درمیانی سرٹیفکیٹس پیش کرنے ہوں گے. OpenAI، AIA کے ذریعے غائب درمیانی سرٹیفکیٹس حاصل نہیں کرتا. CRL اور OCSP کی جانچ بدستور غیر معاونت یافتہ ہے.
اکثر پوچھے جانے والے سوالات
کیا میں API کے ذریعے mTLS کنفیگر کر سکتا ہوں؟
ہاں — مزید معلومات کے لیے آپ API Reference کو https://platform.openai.com/docs/api-reference/ پر دیکھ سکتے ہیں.
کون سے اینڈپوائنٹس mTLS کو سپورٹ کرتے ہیں؟
اس بیٹا مدت کے دوران، mTLS کو باضابطہ طور پر ان میں سپورٹ کیا جاتا ہے
/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
میں اپنی درخواست کے ساتھ کلائنٹ سرٹیفکیٹس کیسے بھیجوں.
cURL درخواست کے لیے، آپ --cert اور --key اختیارات استعمال کر سکتے ہیں (man page یہاں دیکھیں). زیادہ تر دیگر HTTP کلائنٹس میں بھی کلائنٹ سرٹیفکیٹس پاس کرنے کے طریقے موجود ہیں. مثالیں: Python میں requests، JS میں fetch. ہمارے آفیشل SDKs کے ذریعے، ہم HTTP کلائنٹ کو اوور رائیڈ کرنے کی سہولت بھی دیتے ہیں — Python کی مثال کے لیے یہاں دیکھیں.
جب سرٹیفکیٹ چین سپورٹ فعال ہو، تو اپنے HTTP کلائنٹ کو اس طرح کنفیگر کریں کہ وہ لیف کلائنٹ سرٹیفکیٹ اور تمام مطلوبہ درمیانی سرٹیفکیٹس پیش کرے. درست کنفیگریشن آپ کے HTTP کلائنٹ پر منحصر ہے.
پروڈکشن ٹریفک کے لیے mTLS نافذ کرنے سے پہلے، یقینی بنائیں کہ آپ جو HTTP کلائنٹ استعمال کر رہے ہیں وہ کلائنٹ سرٹیفکیٹ کی درخواستوں کے ساتھ درست برتاؤ کرتا ہے (کچھ، جیسے بعض براؤزرز میں WebSockets، ایسا نہیں کرتے). نوٹ کریں کہ ہمارا سرور کلائنٹ سرٹیفکیٹ کی درخواست میں certificate_authorities کی فہرست فراہم نہیں کرتا.
سرٹیفکیٹس تک کون رسائی حاصل کر سکتا ہے اور انہیں تبدیل کر سکتا ہے؟
https://platform.openai.com/settings/organization/mtls ڈیش بورڈ UI کے ذریعے، تنظیم کے مالکان سرٹیفکیٹس تک رسائی حاصل کر سکتے ہیں اور انہیں تبدیل کر سکتے ہیں. Admin API Key رکھنے والا کوئی بھی شخص (https://platform.openai.com/settings/organization/admin-keys) سرٹیفکیٹس تک رسائی/ترمیم بھی کر سکتا ہے، تاہم خبردار رہیں — اگر آپ تنظیم کی سطح پر Mutual TLS فعال کرتے ہیں، تو آپ ان API درخواستوں پر بھی سرٹیفکیٹس نافذ کر رہے ہوں گے. mTLS کی تمام تبدیلیاں آڈٹ لاگز میں دکھائی دیتی ہیں.
میرے پاس کتنے سرٹیفکیٹس ہو سکتے ہیں؟
ہر تنظیم 50 تک سرٹیفکیٹس اپ لوڈ کر سکتی ہے، جنہیں پروجیکٹس میں شیئر کیا جا سکتا ہے مگر دوسری تنظیموں کے ساتھ نہیں. آپ ایک وقت میں 10 پروجیکٹس کے لیے کسی سرٹیفکیٹ کو ایٹمی طور پر فعال/غیر فعال کر سکتے ہیں. متبادل طور پر، آپ اپنی تنظیم یا 1 مخصوص پروجیکٹ کے لیے ایک وقت میں 10 سرٹیفکیٹس فعال/غیر فعال کر سکتے ہیں.
کیا میں سرٹیفکیٹس اپ ڈیٹ یا حذف کر سکتا ہوں؟
آپ اپنے سرٹیفکیٹس کے نام اپ ڈیٹ کر سکتے ہیں، لیکن ان کا مواد نہیں. اگر سرٹیفکیٹس فی الحال کسی بھی دائرہ کار میں فعال نہیں ہیں، تو آپ انہیں حذف بھی کر سکتے ہیں.
سرٹیفکیٹ کی منسوخی کیسے کام کرتی ہے.
اس وقت، ہم CRL یا OCSP چیکس کی سپورٹ نہیں کرتے. تجویز کردہ متبادل یہ ہے کہ اس کے بجائے اپنی API key حذف یا روٹیٹ کریں. آپ اپنے CA certificates بھی بدل سکتے ہیں یا کم مدتِ اعتبار والے کلائنٹ سرٹیفکیٹس استعمال کر سکتے ہیں.
کیا میں زیادہ لمبی سرٹیفکیٹ چینز استعمال کر سکتا ہوں.
ہاں، اگر آپ کی تنظیم کے لیے سرٹیفکیٹ چین سپورٹ فعال ہے. آپ کے کلائنٹ کو لیف کلائنٹ سرٹیفکیٹ اور کوئی بھی مطلوبہ درمیانی سرٹیفکیٹ پیش کرنا ہوگا، تاکہ OpenAI اس چین کو ایک فعال اپ لوڈ شدہ سرٹیفکیٹ تک تصدیق کر سکے. رسائی کی درخواست کے لیے اپنے Account Director سے رابطہ کریں یا سپورٹ ٹکٹ کھولیں.
تجویز کردہ سیٹ اپ کیا ہے؟
اس فیچر کو ابتدائی طور پر سیٹ اپ کرتے وقت، ہم ایک ایسے اسٹیجنگ پروجیکٹ سے شروع کرنے کی تجویز دیتے ہیں جو باضابطہ پروڈکشن ٹریفک سرو نہ کرتا ہو. اس موقع سے فائدہ اٹھا کر یقینی بنائیں کہ آپ کے سرٹیفکیٹس آپ کی مشینوں پر درست طور پر سیٹ اپ ہیں اور آپ API ٹریفک کامیابی سے بھیج سکتے ہیں. اس کے علاوہ، ہم آپ کی ضروریات کو بہتر طور پر سمجھنے کے لیے آپ کی تنظیم کی سکیورٹی ٹیم سے مشاورت کی تجویز دیتے ہیں.
اضافی سپورٹ
آپ ڈیش بورڈ اور API کے ذریعے mTLS فیچر کو مکمل طور پر خود سروس کے طور پر استعمال کر سکتے ہیں. تاہم، اگر آپ شروع میں mTLS کو شیڈو موڈ میں فعال کرنا چاہتے ہیں، تو براہ کرم اپنے اکاؤنٹ ڈائریکٹر سے رابطہ کریں یا اس صفحے کے نیچے دائیں کونے میں نئی چیٹ شروع کر کے سپورٹ ٹکٹ کھولیں.
ضمیمہ: اصطلاحات
CA certificate: آپ کے قابلِ اعتماد سرٹیفکیٹس میں سے ایک، جو کلائنٹ سرٹیفکیٹس کی تصدیق کے لیے استعمال ہوتا ہے. یہ ان کلائنٹ سرٹیفکیٹس پر براہِ راست دستخط کر سکتا ہے جو آپ درخواستوں کے ساتھ بھیجتے ہیں، یا آپ کے کلائنٹ کی پیش کردہ سرٹیفکیٹ چین کے لیے اینکر بن سکتا ہے. آپ self-signed CA certificates استعمال کر سکتے ہیں.
Upload a certificate: اپنے اکاؤنٹ میں CA certificate شامل کرنا. یہ ابھی mTLS کے لیے کہیں بھی نافذ نہیں ہوتا، لیکن آپ اسے کنفیگر کرنا شروع کر سکتے ہیں.
Scope: ایک مخصوص پروجیکٹ یا آپ کی پوری تنظیم.
Activate a CA certificate at a scope: اس مخصوص اسکوپ کے لیے mTLS فعال کرتا ہے، اور API key پر مبنی تمام درخواستوں میں ایسا کلائنٹ سرٹیفکیٹ شامل ہونا چاہیے جس کی فعال CA certificate کے مقابل تصدیق کی جا سکے.
Deactivate a CA certificate at a scope: اس اسکوپ میں درخواستوں کی تصدیق کے لیے اس سرٹیفکیٹ کے استعمال کو غیر فعال کرتا ہے. اگر اس اسکوپ کے لیے آپ کے پاس کوئی سرٹیفکیٹ باقی نہیں ہے، تو mTLS مؤثر طور پر بند ہو جاتا ہے.
Inheriting a certificate: اگر آپ اپنی تنظیم کے لیے کوئی سرٹیفکیٹ فعال کرتے ہیں، تو وہ تمام پروجیکٹس کے لیے بھی فعال ہو جائے گا.
