OpenAI
या पेजला मशीनद्वारे भाषांतरित केले आहे. मूळ इंग्रजी लेख पहा.

Management API मधील EKM (बाह्य की)

Management API वापरून EKM साठी बाह्य की व्यवस्थापित करा

अपडेट केले: 7 days ago

सारांश

प्रवेश

  • EKM endpoints Management API मध्ये Admin API Key द्वारे उपलब्ध आहेत. https://platform.openai.com/settings/organization/admin-keys (सामान्य API की वापरू नका). Admin API की संघटना मालकांसाठी उपलब्ध आहेत.

  • बाह्य की तयार करण्यासाठी किंवा हटवण्यासाठी api.external_keys.write वापरा, आणि बाह्य की सूचीबद्ध करण्यासाठी किंवा वैधता तपासण्यासाठी api.external_keys.read वापरा. एकाच कीला दोन्ही स्कोप फक्त तेव्हाच लागतात, जेव्हा तिला वाचन आणि लेखन दोन्ही ऑपरेशन्स करायची असतात.

  • सध्या या endpoints साठी तुमच्या संघटनेला फीचर फ्लॅगमध्ये समाविष्ट करणे आम्हाला आवश्यक आहे. विद्यमान List Projects endpoint कडून external_key_id परत आलेले दिसल्यास, तुमच्याकडे फीचर फ्लॅग आहे हे समजा: https://api.openai.com/v1/organization/projects

वापर

  • तुमचे EKM कॉन्फिगरेशन नवीन endpoint https://api.openai.com/v1/organization/external_keys द्वारे संघटना स्तरावर नोंदणीकृत केले जाते.

  • तुमचे EKM कॉन्फिगरेशन नोंदवल्यावर extkey_xxxx या स्वरूपातील external_key_id परत मिळतो.

  • विद्यमान Create Project endpoint https://api.openai.com/v1/organization/projects च्या बॉडीमध्ये external_key_id पास करून EKM कॉन्फिगरेशन्स प्रोजेक्ट स्तरावर सक्रिय केली जातात.

निर्बंध

  • तुम्ही आधी Management API द्वारे नवीन प्रोजेक्टवर EKM ची चाचणी करणे आवश्यक आहे.

  • तुमच्या EKM वर्कलोडसाठी नवीन प्रोजेक्ट्स सुरू करण्याची आम्ही शिफारस करतो. तथापि, तुम्हाला विद्यमान प्रोजेक्टवर EKM हवे असल्यास, आम्ही तुम्हाला फीचर फ्लॅगमध्ये जोडू शकतो. तुमच्या विद्यमान उत्पादन प्रोजेक्ट्सवर EKM लागू करण्यापूर्वी कृपया खालील उत्तम पद्धती लक्षात घ्या.

    • उत्पादनात वापरत असलेली सर्व API वैशिष्ट्ये आधी तुमच्या चाचणी EKM API प्रोजेक्टमध्ये तपासा.

    • सर्व उत्पादन API प्रोजेक्ट्सवर EKM एकाच वेळी भरण्याऐवजी टप्प्याटप्प्याने रोलआउट करा.

संघटना-स्तरीय endpoints

तुमच्या संघटनेवर बाह्य की नोंदवा

AWS

नमुना विनंती

  • type: string - नेहमी “aws”

  • name: string - तुमच्या कॉन्फिगरेशनसाठी मैत्रीपूर्ण नाव

  • role_arn: string - OpenAI तुमच्या क्लाउडमध्ये गृहित धरणार असलेला Role ARN

  • kms_arn: string - तुम्ही व्यवस्थापित करत असलेल्या मास्टर कीसाठी Key Management System ARN

  • external_id: string - तुमचा संघटना ID किंवा API प्रोजेक्ट 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>
}  

GCP

नमुना विनंती

  • type: string - नेहमी "gcp",

  • name: string - तुमच्या कॉन्फिगरेशनसाठी मैत्रीपूर्ण नाव

  • workload_identity_project_number: string - तुम्ही OpenAI ची वर्कलोड ओळख नोंदवलेला 12-अंकी GCP प्रोजेक्ट क्रमांक

  • workload_identity_pool_id: string - OpenAI साठी तुम्ही नोंदवलेला Workload Identity प्रदाता असलेला पूल

  • workload_identity_provider_id: string - OpenAI साठी तुम्ही नोंदवलेला Workload Identity प्रदाता

  • audience: string - तुमच्या GCP STS द्वारे आम्ही भूमिका गृहित धरताना OpenAI ने टोकनमध्ये पास करायचा ऑडियन्स

  • kms_project_id: string - तुमचा KMS ज्या GCP प्रोजेक्टमध्ये आहे त्याचे नाव

  • kms_key_ring_name: string - तुम्ही व्यवस्थापित करत असलेली मास्टर की असलेली Key Management System की रिंग

  • kms_key_name: string - Key Management System मास्टर कीचे नाव

  • kms_key_location: string - तुमची Key Management System मास्टर की ज्या प्रदेशात आहे तो प्रदेश

तुमचा KMS OpenAI ची Workload Identity नोंदवलेल्या GCP प्रोजेक्टपेक्षा वेगळ्या GCP प्रोजेक्टमध्ये असल्यास, OpenAI ची Workload Identity असलेल्या प्रोजेक्टमध्ये किमान KMS सक्षम आहे याची खात्री करण्यासाठी https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview येथे जा.

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

Azure

नमुना विनंती

  • type: string - नेहमी "azure",

  • name: string - तुमच्या कॉन्फिगरेशनसाठी मैत्रीपूर्ण नाव

  • tenant_id: string - तुमचा Azure भाडेकरू UUID

  • vault_uri: string - तुम्ही व्यवस्थापित करत असलेली मास्टर की असलेल्या Azure व्हॉल्टचा URI

  • key_name: string - तुम्ही व्यवस्थापित करत असलेल्या Azure Key Vault मास्टर कीचे नाव.

    • त्याचे स्वरूप <org-xxx>--<any_name> असे असले पाहिजे.

    • येथे org-xxx हा तुमचा OpenAI संघटना ID आहे, जो तुम्हाला https://platform.openai.com/settings/organization/general येथे सापडेल.

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

तुमच्या संघटनेवर नोंदणीकृत बाह्य की हटवा

टीप: बाह्य की कोणत्याही सक्रिय API प्रोजेक्ट किंवा वर्कस्पेसशी संबंधित नसल्यासच तुम्ही ती हटवू शकता. ती सक्रिय API प्रोजेक्टशी संबंधित असल्यास, आधी तो प्रोजेक्ट संग्रहित करा. ती वर्कस्पेसशी संबंधित असल्यास, की हटवता येत नाही.

नमुना विनंती

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

बाह्य कीची वैधता तपासा

अनेक गोष्टी तपासण्यासाठी तुम्ही हा endpoint वापरू शकता.

  • तुम्ही बदल केल्यानंतरही तुमचे बाह्य क्लाउड कॉन्फिगरेशन OpenAI सोबत वैध राहते (तुम्हाला यशस्वी प्रतिसाद दिसेल).

  • तुमची की रद्द करण्याची प्रक्रिया योग्यरीत्या झाली आहे, OpenAI कडून ती प्रक्रिया केली जात आहे, आणि 1 तासाच्या कॅशे TTLs कालबाह्य झाल्यानंतर ती प्रभावी होईल (तुम्हाला त्रुटी प्रतिसाद दिसेल).

नमुना विनंती

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

नमुना प्रतिसाद

{
 "status": "success"
}

किंवा, क्लाउड प्रदात्याकडून त्रुटी समोर आली.

प्रोजेक्ट-स्तरीय endpoints

बाह्य की ID सह नवीन प्रोजेक्ट तयार करा

हे विद्यमान Create Project endpoint सारखेच आहे, फक्त विनंती आणि प्रतिसादात 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": "project",
  "id": "proj_xxxxx",
  "title": "Some Project",
"external_key_id": "extkey_xxxxx",
"created": 1740012721,
  "organization_id": "org-xxxxx",
  "is_initial": false,
  "geography": null,
  "scale_tier_enabled": false,
  "disable_user_api_keys": false,
  "zdr_type": null,
}

[प्रतिबंधित] विद्यमान प्रोजेक्ट बाह्य की ID सह अपडेट करा

हे विद्यमान Update Project endpoint सारखेच आहे, फक्त विनंती आणि प्रतिसादात external_key_id पॅरामीटर जोडलेले आहे.


तुमच्या EKM वर्कलोडसाठी नवीन API प्रोजेक्ट्स सुरू करण्याची आम्ही शिफारस करतो. तुमच्या सर्व विद्यमान API प्रोजेक्ट्सवर EKM हवे असल्यास, तुमच्या अकाउंट डायरेक्टरला सांगा आणि आम्ही तुम्हाला फीचर फ्लॅगमध्ये जोडू. तुमच्या विद्यमान उत्पादन प्रोजेक्ट्सवर EKM लागू करण्यापूर्वी कृपया खालील उत्तम पद्धती लक्षात घ्या.

  • उत्पादनात वापरत असलेली सर्व API वैशिष्ट्ये आधी तुमच्या चाचणी EKM API प्रोजेक्टमध्ये तपासा.

  • सर्व उत्पादन API प्रोजेक्ट्सवर EKM एकाच वेळी भरण्याऐवजी टप्प्याटप्प्याने रोलआउट करा.

नमुना विनंती

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

तुमच्या संघटनेवरील सर्व प्रोजेक्ट्सची यादी करा

हे विद्यमान endpoint सारखेच आहे, परंतु API प्रतिसादात 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
}

हा लेख उपयुक्त आहे का?