OpenAI

إرشادات تكامل OpenAI / GCP EKM

إرشادات تفصيلية خطوة بخطوة لتوفير خطوة GCP وتفعيل نظام EKM

تم التحديث: 21 days ago

نظرة عامة

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

Diagram of OpenAI GCP EKM integration flow using STS token exchange and KMS encrypt or decrypt requests

الخطوات

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 الخاص بك من إصدار رمز وصول عند تقديم رمز الهوية.

  1. انتقل إلى إدارة IAM والمسؤول -> اتحاد هوية عبء العمل ثم انقر على إنشاء مجموعة

GCP IAM & Admin with Workload Identity Federation selected
  1. في خطوة إنشاء مجموعة هويات، أدخل أي اسم في حقل اسم المجموعة.

  1. في خطوة إضافة موفّر إلى مجموعة:

  1. في "اختيار موفّر"، اختر OpenID Connect (OIDC)

  2. أدخِل أي اسم في اسم الموفّر.

  3. في قسم جهة الإصدار (URL)، أدخل https://accounts.google.com

  4. في قسم الجمهور

  1. حدد الجمهور المسموح به

  2. حدد الجمهور الذي يجب أن تشير إليه OpenAI عندما نقوم بتمرير رمز إليك.

  1. بالنسبة إلى ChatGPT أو واجهة API: يمكنك إدخال معرّف مؤسسة OpenAI API‏ (org-xxx)

  2. بالنسبة إلى واجهة API، يمكنك إدخال معرّف مشروع API محدد لمزيد من الدقة.

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. في قسم تخطيط السمات

  1. بالنسبة إلى google.subject أدخل assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. في قسم شروط السمات

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

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

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. معرّف موفّر هوية عبء العمل

GCP Workload Identity Provider edit page with the provider ID field highlighted

2. التأكد من تمكين نظام KMS

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

3. إنشاء مفتاح KMS جديد

  1. انتقل إلى الأمان ← حماية البيانات > إدارة المفاتيح

  2. ضمن نظرة عامة، انقر على إنشاء حلقة مفاتيح

  1. اختر أي اسم لحلقة المفاتيح

  2. بالنسبة إلى الغرض والخوارزمية، حدد التشفير/فك التشفير المتماثل

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. بمجرد إنشاء حلقة مفاتيح، يجب أن تكون مدرجة في علامة التبويب حلقات المفاتيح. اضغط على حلقة المفاتيح.

  2. في تفاصيل حلقة المفاتيح، انقر على إنشاء مفتاح

  1. اختر أي اسم لمفتاحك

4. أنشئ دورًا محدودًا لعمليات التشفير/فك التشفير على نظام KMS.

  1. انتقل إلى إدارة IAM والمسؤول ← الأدوار ← إنشاء دور

  2. أدخل أي قيمة لاسم الدور ومعرّفه

  3. انقر على "إضافة الأذونات"، ثم أضف ما يلي

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. تعيين الهوية الموحدة الخاصة بـ OpenAI إلى دور KMS المقيّد لعمليات التشفير/فك التشفير

  1. انتقل إلى الأمان ← حماية البيانات > إدارة المفاتيح

  2. اضغط على اسم حلقة المفاتيح الخاصة بك، ثم على اسم المفتاح للوصول إلى صفحة تفاصيل المفتاح.

  1. انقر على علامة التبويب الأذونات، ثم انقر على الزر منح حق الوصول

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. عيّن الهوية الموحّدة لـ OpenAI على الدور المخصّص الذي أنشأته سابقًا

  1. في قسم إضافة المعرّفات الرئيسية، أدخل principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. في قسم تعيين الأدوار اختر الدور المخصص الذي أنشأته في الخطوة السابقة لأذونات نظام 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"
}'

هل كانت هذه المقالة مفيدة؟