सारांश
प्रवेश
प्रशासक API कळ वापरून व्यवस्थापन API मधील EKM एंडपॉइंट वापरता येतात. https://platform.openai.com/settings/organization/admin-keys (सामान्य API कळ वापरू नका). प्रशासक API कळी संस्थेच्या मालकांना उपलब्ध असतात.
बाह्य कळी तयार करण्यासाठी किंवा हटवण्यासाठी
api.external_keys.writeवापरा आणि बाह्य कळींची यादी मिळवण्यासाठी किंवा त्यांची वैधता तपासण्यासाठीapi.external_keys.readवापरा. एकाच कळीने वाचन आणि लेखन या दोन्ही क्रिया करायच्या असतील, तरच तिला दोन्ही परवानगी-व्याप्ती आवश्यक असतात.या एंडपॉइंटचा प्रवेश देण्यासाठी आम्हाला सध्या तुमच्या संस्थेसाठी संबंधित वैशिष्ट्य सक्षम करावे लागते. प्रकल्पांची यादी देणाऱ्या विद्यमान एंडपॉइंटच्या प्रतिसादात external_key_id दिसल्यास, तुमच्यासाठी हे वैशिष्ट्य सक्षम आहे असे समजावे: https://api.openai.com/v1/organization/projects.
वापर
तुमच्या EKM संरचनेची नोंदणी संस्थेच्या पातळीवर या नवीन एंडपॉइंटद्वारे केली जाते: https://api.openai.com/v1/organization/external_keys.
तुमच्या EKM संरचनेची नोंदणी केल्यावर extkey_xxxx या स्वरूपात external_key_id मिळतो.
प्रकल्प तयार करणाऱ्या विद्यमान https://api.openai.com/v1/organization/projects एंडपॉइंटला पाठवलेल्या विनंतीच्या मुख्य भागात external_key_id दिल्यावर EKM संरचना प्रकल्पाच्या पातळीवर सक्रिय केल्या जातात.
निर्बंध
तुम्ही आधी व्यवस्थापन API द्वारे नवीन प्रकल्पावर EKM ची चाचणी करणे आवश्यक आहे.
EKM वापरून चालवायच्या कामांसाठी नवीन प्रकल्प तयार करण्याची आम्ही शिफारस करतो. तरीही, तुम्हाला विद्यमान प्रकल्पावर EKM हवे असल्यास, आम्ही तुमच्यासाठी हे वैशिष्ट्य सक्षम करू शकतो. प्रत्यक्ष वापरात असलेल्या तुमच्या विद्यमान प्रकल्पांवर EKM लागू करण्यापूर्वी पुढील सर्वोत्तम पद्धती लक्षात घ्या.
प्रत्यक्ष वापरातील सर्व API वैशिष्ट्यांची आधी तुमच्या चाचणीसाठीच्या EKM API प्रकल्पात चाचणी करा.
प्रत्यक्ष वापरातील सर्व API प्रकल्पांवर एकाच वेळी EKM लागू करण्याऐवजी टप्प्याटप्प्याने लागू करा.
संघटना-स्तरीय endpoints
तुमच्या संघटनेवर बाह्य की नोंदवा
AWS
विनंतीचा नमुना:
type: अक्षरमाला - नेहमी “aws”
name: अक्षरमाला - तुमच्या संरचनेसाठी सहज ओळखता येईल असे नाव
role_arn: अक्षरमाला - OpenAI तुमच्या क्लाउडमध्ये स्वीकारणार असलेल्या भूमिकेचा ARN
kms_arn: अक्षरमाला - तुम्ही व्यवस्थापित करत असलेल्या मुख्य कळीचा कळ व्यवस्थापन प्रणालीतील ARN
external_id: अक्षरमाला - तुमचा संस्था 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: अक्षरमाला - नेहमी “gcp”,
name: अक्षरमाला - तुमच्या संरचनेसाठी सहज ओळखता येईल असे नाव
workload_identity_project_number: अक्षरमाला - तुम्ही OpenAI ची कार्यभार ओळख नोंदवलेल्या GCP प्रकल्पाचा संख्यात्मक क्रमांक
workload_identity_pool_id: अक्षरमाला - तुम्ही OpenAI साठी नोंदवलेला कार्यभार ओळख प्रदाता असलेला समूह
workload_identity_provider_id: अक्षरमाला - तुम्ही OpenAI साठी नोंदवलेला कार्यभार ओळख प्रदाता
audience: अक्षरमाला - तुमच्या GCP STS द्वारे भूमिका स्वीकारताना OpenAI ने टोकनमध्ये द्यायचा अपेक्षित प्राप्तकर्ता
kms_project_id: अक्षरमाला - तुमची KMS असलेल्या GCP प्रकल्पाचे नाव
kms_key_ring_name: अक्षरमाला - तुम्ही व्यवस्थापित करत असलेली मुख्य कळ असलेला कळ व्यवस्थापन प्रणालीतील कळसंच
kms_key_name: अक्षरमाला - कळ व्यवस्थापन प्रणालीतील मुख्य कळीचे नाव
kms_key_location: अक्षरमाला - कळ व्यवस्थापन प्रणालीतील तुमची मुख्य कळ ज्या प्रदेशात आहे तो प्रदेश
तुम्ही OpenAI ची कार्यभार ओळख नोंदवलेल्या GCP प्रकल्पापेक्षा वेगळ्या प्रकल्पात तुमची KMS असल्यास, https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview येथे जाऊन OpenAI ची कार्यभार ओळख असलेल्या प्रकल्पात किमान KMS सक्षम असल्याची खात्री करा.
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: अक्षरमाला - नेहमी “azure”,
name: अक्षरमाला - तुमच्या संरचनेसाठी सहज ओळखता येईल असे नाव
tenant_id: अक्षरमाला - तुमच्या Azure भाडेकरूचा UUID
vault_uri: अक्षरमाला - तुम्ही व्यवस्थापित करत असलेली मुख्य कळ असलेल्या Azure तिजोरीचा URI
key_name: अक्षरमाला - तुम्ही व्यवस्थापित करत असलेल्या 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"
}बाह्य कळीची वैधता तपासा
या एंडपॉइंटद्वारे तुम्ही पुढील बाबी तपासू शकता:
बदल केल्यानंतरही तुमची बाह्य क्लाउड संरचना OpenAI सोबत वापरण्यासाठी वैध आहे (तुम्हाला यश दर्शवणारा प्रतिसाद दिसेल).
तुमची कळ योग्यरीत्या रद्द केली आहे, OpenAI त्यावर प्रक्रिया करत आहे आणि कॅशेची 1 तासाची वैधता-मुदत संपल्यावर ती रद्द झाल्याचा परिणाम लागू होईल (तुम्हाला त्रुटी दर्शवणारा प्रतिसाद दिसेल).
विनंतीचा नमुना
curl -X POST -H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys/extkey_xxx/validate"प्रतिसादाचा नमुना
{
"status": "success"
}किंवा, क्लाउड प्रदात्याकडून त्रुटी समोर आली.
प्रोजेक्ट-स्तरीय endpoints
बाह्य कळीचा ID देऊन नवीन प्रकल्प तयार करा
हा प्रकल्प तयार करणाऱ्या विद्यमान एंडपॉइंटसारखाच आहे; फक्त विनंती आणि प्रतिसादात 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"
}[प्रतिबंधित] बाह्य कळीचा ID देऊन विद्यमान प्रकल्प अद्ययावत करा
हा प्रकल्प अद्ययावत करणाऱ्या विद्यमान एंडपॉइंटसारखाच आहे; फक्त विनंती आणि प्रतिसादात 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"
}'तुमच्या संस्थेतील सर्व प्रकल्पांची यादी मिळवा
हा विद्यमान एंडपॉइंटसारखाच आहे; फक्त 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
}