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

الخطوات
1. إنشاء مفتاح جديد في نظام KMS
انتقل إلى نظام KMS -> المفاتيح المُدارة من قبل العميل، ثم انقر فوق إنشاء مفتاح.
اختر خوارزمية تشفير متماثل.
بعد إنشاء المفتاح، دوّن معرّف ARN الخاص به. تتضمن التنسيقات المدعومة
arn:aws:kms:<region>:<account_number>:key/<uuid>أو...:key/mrk-*أو...:alias/<alias_name>.

2. أنشئ سياسة مخصصة لوصول محدود إلى مفتاح نظام KMS
انتقل إلى إدارة IAM -> السياسات، ثم انقر على إنشاء سياسة
في خطوة تحديد الأذونات، حدد JSON وأدخل ما يلي لمنح السياسة إجراءات الوصول إلى نظام KMS. وتأكد من إدخال معرّف ARN الخاص بالمفتاح الذي أنشأته بدلًا من YOUR_KMS_ARN.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEncryptDecrypt",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt"
],
"Resource": <YOUR_KMS_ARN>
}
]
}3. أنشئ دور IAM لتتولاه OpenAI، وعيّنه إلى السياسة ذات الوصول المحدود إلى نظام KMS الخاص بك
ستستدعي OpenAI الإجراء AssumeRole من حساب AWS مملوك لـ OpenAI. تتيح هذه الخطوة للمُعرّف الرئيسي لـ AWS الخاص بـ OpenAI بأن يتولى الدور المحدود للوصول إلى نظام KMS الخاص بك.
انتقل إلى إدارة IAM -> الأدوار ثم انقر على إنشاء دور.
في خطوة تحديد الكيان الموثوق به، حدِّد سياسة الموثوقية المخصصة.

بعد ذلك، أدخل ما يلي في سياسة الموثوقية المخصصة للسماح بالوصول إلى المُعرّف الرئيسي في AWS الخاص بـ OpenAI.
المُعرّف الرئيسي هو المُعرّف الرئيسي في AWS الخاص بـ OpenAI:
arn:aws:iam::790389265272:role/EnterpriseKeyManagement.حدّد أي معرّف ExternalId يجب على OpenAI تمريره أثناء عملية
AssumeRole.بالنسبة إلى ChatGPT أو API، استخدم معرّف المنظمة (org-xxx) المرتبط بمساحة عملك: https://platform.api.openai.org/settings/organization/general.
بالنسبة إلى API، يمكنك استخدام معرّف مشروع API محدد لمزيد من الدقة.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::790389265272:role/EnterpriseKeyManagement"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": [
<YOUR_OPENAI_ORGANIZATION_ID>,
]
}
}
}
]
}بعد ذلك، في خطوة إضافة الأذونات، ابحث عن اسم سياسة IAM التي أنشأتها في الخطوة السابقة. انقر على مربع التحديد بجوار اسم السياسة، ثم انقر على التالي.

أخيرًا، في قسم التسمية والمراجعة والإنشاء، حدّد أي اسم دور.
4. طبّق أي قيود إضافية بما يتماشى مع ممارساتك الأمنية الخاصة
ما سبق هو الحد الأدنى من المعلومات المطلوبة التي تحتاجها OpenAI لإعداد نظام EKM. يمكنك تطبيق سياسات إضافية للمفاتيح أو قيود تتماشى مع ممارسات الأمان الداخلية الخاصة بك، طالما أن OpenAI قادرة على استدعاء عمليات التشفير وفك التشفير على نظام KMS لديك. عند استدعاء نقطة نهاية تسجيل المفتاح في OpenAI الموضحة أدناه، سنتحقق من صحة إعدادك.
بعد إتمام الخطوات السابقة
ChatGPT Enterprise
يرجى التواصل مع جهة الاتصال المخصصة لك في OpenAI ومشاركة ما يلي:
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>"معرّف ARN للدور الذي سيتولاه OpenAI في خدمتك السحابية.
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"معرّف ARN لنظام إدارة المفاتيح للمفتاح الرئيسي الذي تديره.
سنفعّل نظام EKM لمنظمة/مساحة عمل ChatGPT الخاصة بك.
API
سجّل مفتاح API الخارجي لدى OpenAI
اتبع الإرشادات الواردة في مرجع API هذا المفاتيح الخارجية في واجهة Management API.
أولاً، سجّل مفتاحك الخارجي على مستوى منظمة OpenAI، مما يؤدي إلى إنشاء معرّف مفتاح خارجي.
في هذه الخطوة، سنتحقق من أن المدخلات التي أدخلتها صالحة وأنه يمكننا المصادقة على نظام 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": "aws",
"name": "AWS EKM Config",
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>",
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>",
"external_id": <your org id or project id>
}'بعد ذلك، أنشئ مشروعًا في 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"
}'