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 سے کم ہونا چاہیے.
کلائنٹ سرٹیفکیٹ کی ضروریات
اگر آپ کی تنظیم کے لیے سرٹیفکیٹ چین سپورٹ فعال ہے، تو آپ کا کلائنٹ ایک لیف کلائنٹ سرٹیفکیٹ اور وہ درمیانی سرٹیفکیٹ پیش کر سکتا ہے جو ایک فعال اپ لوڈ شدہ سرٹیفکیٹ تک درست چین بنانے کے لیے درکار ہوں. ورنہ، کلائنٹ سرٹیفکیٹس پر ان سرٹیفکیٹس سے براہِ راست دستخط ہونا چاہیے جو آپ نے پہلے سے اپ لوڈ کیے ہیں. اس کے علاوہ، آپ کے کلائنٹ سرٹیفکیٹس کو درج ذیل ضروریات پوری کرنی ہوں گی:
اس میں Subject Key Identifier اور Authority Key Identifier ایکسٹینشن (KeyIdentifier فارمیٹ میں) ہو
اس میں Key Usage: “Digital Signature, Key Encipherment” permissions ہوں
اس میں Extended Key Usage: “TLS Web Client Authentication” permission ہو
اس میں Subject Alternate Name ایکسٹینشن ہو
API mTLS کے لیے سرٹیفکیٹ چین سپورٹ
سرٹیفکیٹ چین سپورٹ آپ کے کلائنٹ کو لیف کلائنٹ سرٹیفکیٹ کے ساتھ وہ درمیانی سرٹیفکیٹ پیش کرنے دیتی ہے جو ایک فعال اپ لوڈ شدہ سرٹیفکیٹ تک درست چین بنانے کے لیے درکار ہوں.
اس سے آپ ہر نئے درمیانی سرٹیفکیٹ کو اپ لوڈ کیے بغیر درمیانی سرٹیفکیٹس روٹیٹ کر سکتے ہیں، بشرطیکہ trust anchor کے طور پر استعمال ہونے والا فعال اپ لوڈ شدہ سرٹیفکیٹ درست رہے.
سرٹیفکیٹ چین سپورٹ فی الحال درخواست پر دستیاب ہے. رسائی کی درخواست کے لیے اپنے Account Director سے رابطہ کریں یا سپورٹ ٹکٹ کھولیں.
آپ کے کلائنٹ کو تمام مطلوبہ درمیانی سرٹیفکیٹس پیش کرنا ہوں گے. 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: اگر آپ اپنی تنظیم کے لیے کوئی سرٹیفکیٹ فعال کرتے ہیں، تو وہ تمام پروجیکٹس کے لیے بھی فعال ہو جائے گا.
