OpenAI
اس صفحے کا مشینی ترجمہ کیا گیا تھا. اصل انگریزی مضمون دیکھیں.

مینجمنٹ API میں EKM (بیرونی کلیدیں)

انتظامی ای پی آئی کے ذریعے ای کے ایم کی بیرونی کلیدوں کا نظم کرنا سیکھیں.

آخری اپ ڈیٹ: 7 days ago

خلاصہ

رسائی

  • ای کے ایم اینڈپوائنٹس تک انتظامی ای پی آئی میں منتظم کی ای پی آئی کلید کے ذریعے رسائی حاصل کی جا سکتی ہے. https://platform.openai.com/settings/organization/admin-keys (عام ای پی آئی کلید استعمال نہ کریں). منتظم کی ای پی آئی کلیدیں تنظیم کے مالکان کو دستیاب ہوتی ہیں.

  • بیرونی کلیدیں بنانے یا حذف کرنے کے لیے api.external_keys.write، اور ان کی فہرست حاصل کرنے یا ان کی توثیق کرنے کے لیے api.external_keys.read استعمال کریں. کسی ایک کلید کو دونوں دائرۂ اختیار صرف اسی صورت میں درکار ہوتے ہیں جب اسے پڑھنے اور لکھنے، دونوں طرح کی کارروائیاں انجام دینی ہوں.

  • فی الحال ہمیں آپ کی تنظیم کے لیے فیچر فلیگ فعال کرنا ہوگا تاکہ ان اینڈپوائنٹس تک رسائی مل سکے. اگر پروجیکٹس کی فہرست حاصل کرنے والے موجودہ اینڈپوائنٹ https://api.openai.com/v1/organization/projects کے جواب میں external_key_id ملے، تو اس کا مطلب ہے کہ آپ کے لیے فیچر فلیگ فعال ہے.

استعمال

  • آپ کی ای کے ایم ترتیب نئے اینڈپوائنٹ https://api.openai.com/v1/organization/external_keys کے ذریعے تنظیم کی سطح پر رجسٹر کی جاتی ہے.

  • آپ کی ای کے ایم ترتیب رجسٹر کرنے پر extkey_xxxx کی شکل میں external_key_id ملتی ہے.

  • ای کے ایم ترتیبات کو پروجیکٹ کی سطح پر فعال کرنے کے لیے پروجیکٹ بنانے والے موجودہ اینڈپوائنٹ https://api.openai.com/v1/organization/projects کی درخواست کے متن میں external_key_id بھیجی جاتی ہے.

پابندیاں

  • آپ کو پہلے انتظامی ای پی آئی کے ذریعے کسی نئے پروجیکٹ پر ای کے ایم کی جانچ کرنی ہوگی.

  • ہم تجویز کرتے ہیں کہ ای کے ایم کے تحت چلنے والے کاموں کے لیے نئے پروجیکٹس بنائیں. تاہم، اگر آپ کسی موجودہ پروجیکٹ پر ای کے ایم چاہتے ہیں تو ہم آپ کے لیے فیچر فلیگ فعال کر سکتے ہیں. اپنے موجودہ عملی استعمال کے پروجیکٹس پر ای کے ایم نافذ کرنے سے پہلے درج ذیل بہترین طریقوں کو مدنظر رکھیں.

    • ای پی آئی کی ان تمام خصوصیات کو پہلے اپنے آزمائشی ای کے ایم ای پی آئی پروجیکٹ میں جانچیں جنہیں آپ عملی طور پر استعمال کرتے ہیں.

    • عملی استعمال کے تمام ای پی آئی پروجیکٹس پر ایک ساتھ ای کے ایم نافذ کرنے کے بجائے اسے مرحلہ وار نافذ کریں.

تنظیم سطح کے endpoints

اپنی تنظیم میں بیرونی کلید رجسٹر کریں

اے ڈبلیو ایس

درخواست کی مثال:

  • type: متنی قدر - ہمیشہ ”aws“

  • name: متنی قدر - آپ کی ترتیب کا آسانی سے پہچانا جانے والا نام

  • role_arn: متنی قدر - اس کردار کا اے آر این جسے OpenAI آپ کے کلاؤڈ میں اختیار کرے گا

  • kms_arn: متنی قدر - آپ کے زیرِ انتظام مرکزی کلید کے لیے کلیدی انتظامی نظام کا اے آر این

  • external_id: متنی قدر - آپ کی ID آرگنائزیشن یا ای پی آئی پروجیکٹ کی آئی ڈی

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::<12_DIGIT_ACCOUNT_NUMBER>:role/<ROLE>",
"kms_arn": "arn:aws:kms:<REGION>:<ACCOUNT_NUMBER>:key/<UUID>",
"external_id": "<your org id or project id>"
}'

جواب کی مثال:

{
"id": "extkey_xxxx",
"object": "organization.external_key",
"created_at": 1746175499,
"api_project_ids": [],
"type": "aws",
"name": "AWS EKM Config",
"role_arn": "arn:aws:iam::<ACCOUNT_NUMBER>:role/<ROLE>",
"kms_arn": "arn:aws:kms:<REGION>:<ACCOUNT_NUMBER>:key/<UUID>",
"external_id": "<your org id or project id>"
}

جی سی پی

درخواست کی مثال:

  • type: متنی قدر - ہمیشہ ”gcp“،

  • name: متنی قدر - آپ کی ترتیب کا آسانی سے پہچانا جانے والا نام

  • workload_identity_project_number: متنی قدر - اس جی سی پی پروجیکٹ کا عددی نمبر جہاں آپ نے OpenAI کے کاموں کی شناخت رجسٹر کی ہے

  • workload_identity_pool_id: متنی قدر - وہ پول جس میں کاموں کی شناخت کا وہ فراہم کنندہ شامل ہے جسے آپ نے OpenAI کے لیے رجسٹر کیا ہے

  • workload_identity_provider_id: متنی قدر - کاموں کی شناخت کا وہ فراہم کنندہ جسے آپ نے OpenAI کے لیے رجسٹر کیا ہے

  • audience: متنی قدر - وہ مطلوبہ وصول کنندہ جسے OpenAI کو ٹوکن میں بھیجنا چاہیے جب ہم آپ کی جی سی پی ایس ٹی ایس کے ذریعے کوئی کردار اختیار کریں

  • kms_project_id: متنی قدر - اس جی سی پی پروجیکٹ کا نام جس میں آپ کا کلیدی انتظامی نظام موجود ہے

  • kms_key_ring_name: متنی قدر - کلیدی انتظامی نظام کا وہ کلیدی مجموعہ جس میں آپ کے زیرِ انتظام مرکزی کلید موجود ہے

  • kms_key_name: متنی قدر - کلیدی انتظامی نظام کی مرکزی کلید کا نام

  • kms_key_location: متنی قدر - وہ خطہ جہاں آپ کے کلیدی انتظامی نظام کی مرکزی کلید موجود ہے

اگر آپ کا کلیدی انتظامی نظام اس جی سی پی پروجیکٹ سے مختلف پروجیکٹ میں ہے جہاں آپ نے OpenAI کے کاموں کی شناخت رجسٹر کی ہے، تو https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview پر جا کر یقینی بنائیں کہ 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"
}'

جواب کی مثال:

{
"id": "extkey_xxxxxx",
"object": "organization.external_key",
"created_at": 1746174349,
"api_project_ids": [],
"type": "gcp",
"name": "GCP EKM Config",
"workload_identity_project_number": "123456789012",
"kms_key_ring_name": "openai-kms-key-ring",
"kms_key_name": "openai-kms-key",
"kms_key_location": "us-east1",
"audience": "<your org id or project id>",
"kms_project_id": "adjective-noun-12345",
"workload_identity_pool_id": "openai-azure",
"workload_identity_provider_id": "openai-ekm-service-role"
}

ایژر

درخواست کی مثال:

  • type: متنی قدر - ہمیشہ ”azure“،

  • name: متنی قدر - آپ کی ترتیب کا آسانی سے پہچانا جانے والا نام

  • tenant_id: متنی قدر - آپ کے ایژر ٹیننٹ کی یو یو آئی ڈی

  • vault_uri: متنی قدر - اس ایژر والٹ کا یو آر آئی جس میں آپ کے زیرِ انتظام مرکزی کلید موجود ہے

  • key_name: متنی قدر - ایژر کی والٹ کی اس مرکزی کلید کا نام جس کا انتظام آپ کرتے ہیں.

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "azure",
"name": "Azure EKM Config",
"tenant_id": "<UUID>",
"vault_uri": "https://<VAULT_NAME>.vault.azure.net/",
"key_name": "org-xxx--some-key"
}'

جواب کی مثال:

{
"id": "extkey_xxxx",
"object": "organization.external_key",
"created_at": 1746174377,
"api_project_ids": [],
"type": "azure",
"name": "Azure EKM Config",
"tenant_id": "<UUID>",
"vault_uri": "https://<VAULT_NAME>.vault.azure.net/",
"key_name": "org-xxx--some-key"
}

اپنی تنظیم میں رجسٹر شدہ بیرونی کلید حذف کریں

نوٹ: آپ کسی بیرونی کلید کو صرف اسی صورت میں حذف کر سکتے ہیں جب وہ کسی فعال ای پی آئی پروجیکٹ یا ورک اسپیس سے منسلک نہ ہو. اگر وہ کسی فعال ای پی آئی پروجیکٹ سے منسلک ہے تو پہلے اس پروجیکٹ کو محفوظات میں منتقل کریں. اگر وہ کسی ورک اسپیس سے منسلک ہے تو کلید حذف نہیں کی جا سکتی.

درخواست کی مثال

curl -X DELETE \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys/extkey_xxxx"

جواب کی مثال

{
"id": "extkey_xxxxx",
"object": "organization.external_key.deleted",
"created_at": 1746127808,
"api_project_ids": [],
"type": "aws",
"account_number": "123456789012",
"kms_arn": "arn:aws:kms:<REGION>:<ACCOUNT_NUMBER>:key/<UUID>",
"name": "AWS EKM Config",
"role_arn": "arn:aws:iam::<ACCOUNT_NUMBER>:role/<ROLE>"
}

اپنی تنظیم میں رجسٹر شدہ بیرونی کلیدیں حاصل کریں

درخواست کی مثال

curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys"

جواب کی مثال

{
"object": "list",
"data": [
{
"id": "extkey_xxxx",
"object": "organization.external_key",
"created_at": 1746127808,
"api_project_ids": [],
"type": "aws",
"name": "AWS EKM Config",
"account_number": "123456789012",
"kms_arn": "arn:aws:kms:<REGION>:<ACCOUNT_NUMBER>:key/<UUID>",
"role_arn": "arn:aws:iam::<ACCOUNT_NUMBER>:role/<ROLE>"
}
],
"first_id": "extkey_xxxx",
"has_more": false,
"last_id": "extkey_xxxx"
}

بیرونی کلید کی توثیق کریں

اس اینڈپوائنٹ کے ذریعے آپ کئی باتوں کی جانچ کر سکتے ہیں:

  • آپ کی تبدیلیوں کے بعد بھی آپ کے بیرونی کلاؤڈ کی ترتیب OpenAI کے ساتھ درست طور پر کام کر رہی ہے (آپ کو کامیابی کا جواب ملے گا).

  • آپ کی کلید کی منسوخی درست طور پر کی گئی ہے، OpenAI اس پر کارروائی کر رہا ہے، اور کیش کی ایک گھنٹے کی مدتِ اعتبار ختم ہونے کے بعد یہ نافذ ہو جائے گی (آپ کو خرابی کا جواب ملے گا).

درخواست کی مثال

curl -X POST -H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys/extkey_xxx/validate"

جواب کی مثال

{
"status": "success"
}

یا، کلاؤڈ فراہم کنندہ کی طرف سے کوئی خامی ظاہر ہوئی.

پروجیکٹ سطح کے endpoints

بیرونی کلید کی آئی ڈی کے ساتھ نیا پروجیکٹ بنائیں

یہ پروجیکٹ بنانے والے موجودہ اینڈپوائنٹ جیسا ہی ہے، بس درخواست اور جواب میں external_key_id پیرامیٹر کا اضافہ کیا گیا ہے.

درخواست کی مثال

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"
}'

جواب کی مثال

{
"object": "organization.project",
"id": "proj_xxxxx",
"name": "Some Project",
"external_key_id": "extkey_xxxx",
"created_at": 1740012721,
"archived_at": null,
"status": "active"
}

[محدود رسائی] موجودہ پروجیکٹ کو بیرونی کلید کی آئی ڈی کے ساتھ تازہ کریں

یہ پروجیکٹ کو تازہ کرنے والے موجودہ اینڈپوائنٹ جیسا ہی ہے، بس درخواست اور جواب میں external_key_id پیرامیٹر کا اضافہ کیا گیا ہے.

ہم تجویز کرتے ہیں کہ ای کے ایم کے تحت چلنے والے کاموں کے لیے نئے ای پی آئی پروجیکٹس بنائیں. اگر آپ اپنے تمام موجودہ ای پی آئی پروجیکٹس پر ای کے ایم چاہتے ہیں تو اپنے اکاؤنٹ ڈائریکٹر سے کہیں، ہم آپ کے لیے فیچر فلیگ فعال کر دیں گے. اپنے موجودہ عملی استعمال کے پروجیکٹس پر ای کے ایم نافذ کرنے سے پہلے درج ذیل بہترین طریقوں کو مدنظر رکھیں.

  • ای پی آئی کی ان تمام خصوصیات کو پہلے اپنے آزمائشی ای کے ایم ای پی آئی پروجیکٹ میں جانچیں جنہیں آپ عملی طور پر استعمال کرتے ہیں.

  • عملی استعمال کے تمام ای پی آئی پروجیکٹس پر ایک ساتھ ای کے ایم نافذ کرنے کے بجائے اسے مرحلہ وار نافذ کریں.

درخواست کی مثال

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects/proj_xxx" \
-d '{
"external_key_id": "extkey_xxxx"
}'

اپنی تنظیم کے تمام پروجیکٹس کی فہرست حاصل کریں

یہ موجودہ اینڈپوائنٹ جیسا ہی ہے، بس ای پی آئی کے جواب میں external_key_id کا اضافہ کیا گیا ہے.

درخواست کی مثال

curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects"

جواب کی مثال

{
"object": "list",
"data": [
{
"object": "organization.project",
"id": "proj_xxxx",
"name": "Project Name",
"external_key_id": "extkey_xxxx",
"created_at": 1717798982,
"archived_at": null,
"status": "active"
}
],
"first_id": "proj_xxxx",
"last_id": "proj_xxxx",
"has_more": true
}

کیا یہ آرٹیکل مددگار تھا؟