نظرة عامة
تتيح إدارة المفاتيح المؤسسية (EKM) لـ OpenAI تشفير البيانات باستخدام مفتاح رئيسي أنت من يتحكم فيه. ونستعرض في هذا المستند كيفية إعداد حساب GCP لديك لمنح OpenAI أذونات محدودة في نظام KMS لديك.

الخطوات
1. إنشاء هوية موحدة لـ OpenAI
ستصدر OpenAI رمز هوية من حساب GCP مملوك لـ OpenAI، التي ستشبه البيانات بالأسفل.
يشير azp وsub إلى معرّف حساب الخدمة لدى OpenAI في GCP
يشير aud إلى معرّف المنظمة الخاص بك في OpenAI. يمكنك أيضًا اختيار جمهور آخر، مثل معرّف مشروعك في OpenAI؛ راجع الإرشادات أدناه.
{
"aud": "org-xxxx",
"azp": "105900137572174660365",
"exp": 1747876928,
"iat": 1747873328,
"iss": "https://accounts.google.com",
"sub": "105900137572174660365"
}تؤدي هذه الخطوة إلى التعرّف على المطالبات التي يقدمها رمز الهوية هذا، مما يمكّن GCP STS الخاص بك من إصدار رمز وصول عند تقديم رمز الهوية.
انتقل إلى إدارة IAM والمسؤول -> اتحاد هوية عبء العمل ثم انقر على إنشاء مجموعة

في خطوة إنشاء مجموعة هويات، أدخل أي اسم في حقل اسم المجموعة.
في خطوة إضافة موفّر إلى مجموعة:
في "اختيار موفّر"، اختر OpenID Connect (OIDC)
أدخِل أي اسم في اسم الموفّر.
في قسم جهة الإصدار (URL)، أدخل https://accounts.google.com
في قسم الجمهور
حدد الجمهور المسموح به
حدد الجمهور الذي يجب أن تشير إليه OpenAI عندما نقوم بتمرير رمز إليك.
بالنسبة إلى ChatGPT أو واجهة API: يمكنك إدخال معرّف مؤسسة OpenAI API (org-xxx)
بالنسبة إلى واجهة API، يمكنك إدخال معرّف مشروع API محدد لمزيد من الدقة.

في قسم تخطيط السمات
بالنسبة إلى google.subject أدخل assertion.sub

في قسم شروط السمات
من المفترض الآن أن ترى مجموعة هويات أعباء العمل وموفّر هوية أعباء العمل مدرجَين في صفحة https://console.cloud.google.com/iam-admin/workload-identity-pools .
معرّف مجموعة هوية عبء العمل

معرّف موفّر هوية عبء العمل

2. التأكد من تمكين نظام KMS
انتقل إلى https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview لتمكين نظام KMS. ليس لزامًا علي إنشاء نظام KMS الخاص بك في مشروع GCP نفسه الذي تعرّفتَ فيه على الهوية الموحدة لـ OpenAI؛ ولكن إذا اختلف المشروعان، فيجب أن يكون منتج نظام KMS مفعّلًا في كلا المشروعين على الأقل.
3. إنشاء مفتاح KMS جديد
انتقل إلى الأمان ← حماية البيانات > إدارة المفاتيح
ضمن نظرة عامة، انقر على إنشاء حلقة مفاتيح
اختر أي اسم لحلقة المفاتيح
بالنسبة إلى الغرض والخوارزمية، حدد التشفير/فك التشفير المتماثل

بمجرد إنشاء حلقة مفاتيح، يجب أن تكون مدرجة في علامة التبويب حلقات المفاتيح. اضغط على حلقة المفاتيح.
في تفاصيل حلقة المفاتيح، انقر على إنشاء مفتاح
اختر أي اسم لمفتاحك
4. أنشئ دورًا محدودًا لعمليات التشفير/فك التشفير على نظام KMS.
انتقل إلى إدارة IAM والمسؤول ← الأدوار ← إنشاء دور
أدخل أي قيمة لاسم الدور ومعرّفه
انقر على "إضافة الأذونات"، ثم أضف ما يلي
cloudkms.cryptoKeyVersions.useToDecrypt
cloudkms.cryptoKeyVersions.useToEncrypt
5. تعيين الهوية الموحدة الخاصة بـ OpenAI إلى دور KMS المقيّد لعمليات التشفير/فك التشفير
انتقل إلى الأمان ← حماية البيانات > إدارة المفاتيح
اضغط على اسم حلقة المفاتيح الخاصة بك، ثم على اسم المفتاح للوصول إلى صفحة تفاصيل المفتاح.
انقر على علامة التبويب الأذونات، ثم انقر على الزر منح حق الوصول

عيّن الهوية الموحّدة لـ OpenAI على الدور المخصّص الذي أنشأته سابقًا
في قسم إضافة المعرّفات الرئيسية، أدخل principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365
في قسم تعيين الأدوار اختر الدور المخصص الذي أنشأته في الخطوة السابقة لأذونات نظام EKM المحدودة
6. طبّق أي قيود إضافية بما يتماشى مع ممارساتك الأمنية الخاصة
ما سبق هو الحد الأدنى من المعلومات المطلوبة التي تحتاجها OpenAI لإعداد نظام EKM. يمكنك تطبيق سياسات إضافية للمفاتيح أو قيود تتماشى مع ممارسات الأمان الداخلية الخاصة بك، طالما أن OpenAI قادرة على استدعاء عمليات التشفير وفك التشفير على نظام KMS لديك. عند استدعاء نقطة نهاية تسجيل المفتاح في OpenAI الموضحة أدناه، سنتحقق من صحة إعدادك.
بعد إتمام الخطوات السابقة
ChatGPT Enterprise
يرجى التواصل مع جهة الاتصال المخصصة لك في OpenAI ومشاركة ما يلي:
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"kms_project_id": "adjective-noun-12345",
"kms_key_name": "openai-kms-key",
"kms_key_ring_name": "openai-kms-key-ring",
"kms_key_location": "us-east1"
المنطقة التي يوجد فيها المفتاح الرئيسي لنظام إدارة المفاتيح الخاص بك
سنفعّل نظام EKM لمنظمة/مساحة عمل ChatGPT الخاصة بك.
API
سجّل مفتاح API الخارجي لدى OpenAI
اتبع الإرشادات الواردة في مرجع API هذا المفاتيح الخارجية في واجهة Management API
أولاً، سجّل مفتاحك الخارجي على مستوى منظمة OpenAI، مما يؤدي إلى إنشاء معرّف مفتاح خارجي.
في هذه الخطوة، سنتحقق من صحة إعدادك على GCP من خلال التأكد من أنه يمكننا المصادقة على نظام KMS الخاص بك.
لن يؤدي هذا إلى إضافة نظام EKM إلى مشروع OpenAI الخاص بك حتى الآن.
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "gcp",
"name": "GCP EKM Config",
"workload_identity_project_number": "123456789012",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role",
"audience": <your org id or project id>,
"kms_project_id": "adjective-noun-12345",
"kms_key_name": "openai-kms-key",
"kms_key_ring_name": "openai-kms-key-ring",
"kms_key_location": "us-east1"
}'بعد ذلك، أنشئ مشروعًا في OpenAI مرتبطًا بالمفتاح الخارجي. ثم سيتم تفعيل نظام EKM في مشروعك.
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"
}'