സാരാംശം
ആക്സസ്
EKM endpoints ഒരു Admin API Key വഴി Management API-യിൽ ആക്സസ് ചെയ്യാവുന്നതാണ്. 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 കോൺഫിഗ് https://api.openai.com/v1/organization/external_keys എന്ന പുതിയ endpoint വഴി സ്ഥാപന തലത്തിൽ രജിസ്റ്റർ ചെയ്യപ്പെടുന്നു.
നിങ്ങളുടെ EKM കോൺഫിഗ് രജിസ്റ്റർ ചെയ്യുമ്പോൾ extkey_xxxx എന്ന രൂപത്തിലുള്ള external_key_id തിരികെ ലഭിക്കും.
നിലവിലുള്ള Create Project https://api.openai.com/v1/organization/projects endpoint-ന്റെ ബോഡിയിൽ 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-യുടെ workload identity നിങ്ങൾ രജിസ്റ്റർ ചെയ്ത 12-അക്ക GCP പ്രോജക്റ്റ് നമ്പർ
workload_identity_pool_id: string - OpenAI-യ്ക്കായി നിങ്ങൾ രജിസ്റ്റർ ചെയ്ത Workload Identity പ്രൊവൈഡർ അടങ്ങിയ പൂൾ
workload_identity_provider_id: string - OpenAI-യ്ക്കായി നിങ്ങൾ രജിസ്റ്റർ ചെയ്ത Workload Identity പ്രൊവൈഡർ
audience: string - നിങ്ങളുടെ GCP STS വഴി ഞങ്ങൾ ഒരു റോൾ സ്വീകരിക്കുമ്പോൾ OpenAI ടോക്കണിൽ നൽകേണ്ട audience
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 മാസ്റ്റർ കീ സ്ഥിതിചെയ്യുന്ന പ്രദേശം
OpenAI-യുടെ Workload Identity നിങ്ങൾ രജിസ്റ്റർ ചെയ്ത പ്രോജക്റ്റിൽ നിന്ന് വ്യത്യസ്തമായ GCP പ്രോജക്റ്റിലാണ് നിങ്ങളുടെ KMS ഉള്ളതെങ്കിൽ, 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 tenant UUID
vault_uri: string - നിങ്ങൾ നിയന്ത്രിക്കുന്ന മാസ്റ്റർ കീ അടങ്ങിയ Azure vault-ന്റെ URI
key_name: string - നിങ്ങൾ നിയന്ത്രിക്കുന്ന Azure Key Vault മാസ്റ്റർ കീയുടെ പേര്.
അത് <org-xxx>--<any_name> എന്ന രൂപത്തിലായിരിക്കണം.
ഇവിടെ org-xxx എന്നത് https://platform.openai.com/settings/organization/general എന്നതിൽ കണ്ടെത്താവുന്ന നിങ്ങളുടെ OpenAI സ്ഥാപന ID ആണ്.
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 മണിക്കൂർ cache TTL-കൾ കാലഹരണപ്പെട്ട ശേഷം അത് പ്രാബല്യത്തിൽ വരും (പിശക് പ്രതികരണം കാണും).
സാമ്പിൾ അഭ്യർത്ഥന
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
}