نظرة عامة
تتيح إدارة المفاتيح المؤسسية (EKM) لـ OpenAI تشفير البيانات باستخدام مفتاح رئيسي أنت من يتحكم فيه. لكي تتمكن OpenAI من استدعاء عمليات التشفير/فك التشفير على Key Vault الخاص بك، سنحتاج إلى منحنا حق الوصول. ونستعرض في هذا المستند كيفية إعداد حساب Azure لديك بحيث يمكن لـ OpenAI تولي دور يتمتع بأذونات مخزن المفاتيح Key Vault.

الخطوات
1. إنشاء المعرّف الرئيسي للخدمة لـ OpenAI في حسابك
احصل على رمز وصول
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_IDإنشاء المعرّف الرئيسي للخدمة - إن معرّف appId في الطلب أدناه هو معرّف عميل التطبيق لدى OpenAI. وسيؤدي هذا إلى إنشاء عنصرٍ أساسيّ باسم العرض "EKM - OpenAI Azure" — تذكّر ذلك للخطوات اللاحقة.
إرشادات تكامل OpenAI / Azure EKM - إنشاء المعرّف الرئيسي للخدمة
curl -X POST https://graph.microsoft.com/v1.0/servicePrincipals \
-H "Authorization: Bearer $TOKEN_FROM_ABOVE" \
-H "Content-Type: application/json" \
–d '{"appId": "20a14814-5ab7-4612-a671-1382b412bf93"}'2. إنشاء دور مخصص لوصول محدود إلى نظام KMS.
انتقل إلى الاشتراكات -> التحكم في الوصول (IAM)
ضمن القائمة المنسدلة + إضافة، اختر إضافة دور مخصص
انتقل إلى علامة التبويب JSON، واضغط على "تعديل"، وأضف ما يلي:
اسم أي دور - تذكّر الاسم الذي اخترته
الأذونات التالية ضمن dataActions:
Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/actionMicrosoft.KeyVault/vaults/keys/read

3. إنشاء مخزن مفاتيح + مفتاح
إذا لم يكن لديك واحد بالفعل، فأنشئ مخزن مفاتيح جديدًا في نفس الاشتراك الذي أنشأت فيه للتو الدور المخصص.
في مخزن المفاتيح هذا، أنشئ مفتاحًا جديدًا:
انتقل إلى مخزن المفاتيح -> الكائنات -> المفاتيح، ثم اضغط على إنشاء/استيراد
ضمن الخيارات، حدد إنشاء

حدد RSA كخوارزمية للتشفير.
يمكنك تحديد أي حجم لمفتاح RSA
قدّم اسم المفتاح بالتنسيق التالي:
<org-xxx>--<any_name>حيثorg-xxxهو معرّف منظمة OpenAI الخاص بك، ويمكنك العثور عليه على الرابط https://platform.openai.com/settings/organization/general

إذا لم تتمكن من عرض مفتاح أو إنشائه، فتأكد من أن لديك دور مسؤول مخزن المفاتيح، فهذا الدور مطلوب حتى إذا كان لديك دور المالك. لتعيين الدور:
انتقل إلى مخزن المفاتيح -> التحكم في الوصول (IAM)
انقر على إضافة -> إضافة تعيين دور

4. أنشئ تعيين دور للمعرف الرئيسي لخدمة OpenAI + نظام KMS مخصص جديد + مفتاح جديد
انتقل إلى مخزن المفاتيح -> الكائنات -> المفاتيح ثم انقر على الصف الخاص بالمفتاح الذي أنشأته
انتقل إلى التحكم في الوصول (IAM) للمفتاح الذي نقرت عليه للتو (وليس مخزن المفاتيح).
ضمن القائمة المنسدلة + إضافة اختر إضافة تعيين دور

في علامة التبويب الدور، اختر اسم الدور المخصص الذي أنشأته للتو.

في علامة التبويب الأعضاء:
انقر على "+ تحديد الأعضاء"
اكتب "ekm -" في شريط البحث، ثم يجب أن يظهر المعرف الرئيسي لخدمة OpenAI الذي أنشأته في الخطوة الأولى

5. طبّق أي قيود إضافية بما يتماشى مع ممارساتك الأمنية الخاصة
ما سبق هو الحد الأدنى من المعلومات المطلوبة التي تحتاجها OpenAI لإعداد نظام EKM. يمكنك تطبيق سياسات إضافية للمفاتيح أو قيود تتماشى مع ممارسات الأمان الداخلية الخاصة بك، طالما أن OpenAI قادرة على استدعاء عمليات التشفير وفك التشفير على نظام KMS لديك. عند استدعاء نقطة نهاية تسجيل المفتاح في OpenAI الموضحة أدناه، سنتحقق من صحة إعدادك.
بعد إتمام الخطوات السابقة
ChatGPT Enterprise
يرجى التواصل مع جهة الاتصال المخصصة لك في OpenAI ومشاركة ما يلي:
"tenant_id": "<YOUR_AZURE_TENANT_UUID>"
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"
"key_name": "<YOUR_KEY_NAME>"
اسم المفتاح الرئيسي في مخزن مفاتيح Azure الذي تديره
يجب أن يكون اسم المفتاح بالتنسيق <org-xxx>--<any_name> حيث إن org-xxx هو معرّف المنظمة الخاص بك في OpenAI، ويمكنك العثور عليه على الرابط https://platform.openai.com/settings/organization/general.
سنفعّل نظام EKM لمنظمة/مساحة عمل ChatGPT الخاصة بك.
API
سجّل مفتاح API الخارجي لدى OpenAI
اتبع الإرشادات الواردة في مرجع API هذا المفاتيح الخارجية في واجهة Management API
أولاً، سجّل مفتاحك الخارجي على مستوى منظمة OpenAI، مما يؤدي إلى إنشاء معرّف مفتاح خارجي بالتنسيق extkey_xxx
في هذه الخطوة، سنتحقق من أن المدخلات التي أدخلتها صالحة وأنه يمكننا المصادقة على نظام KMS الخاص بك.
لن يؤدي هذا إلى إضافة نظام EKM إلى مشروع OpenAI الخاص بك حتى الآن.
# يؤدي هذا إلى إنشاء معرّف مفتاح خارجي بالشكل extkey_xxx
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "azure",
"name": "<ANY_FRIENDLY_NAME>",
"tenant_id": "<YOUR_AZURE_TENANT_UUID>",
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/",
"key_name": "<YOUR_KEY_NAME>"
}'بعد ذلك، أنشئ مشروعًا في OpenAI مرتبطًا بالمفتاح الخارجي. ثم سيتم تفعيل نظام EKM في مشروعك.
سيعطيك نص الاستجابة لاستدعاء واجهة API هذا معرّف المشروع (proj_xxx)
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
"name": "Some Project",
"external_key_id": "extkey_xxxx"
}'