சுருக்கம்
அணுகல்
EKM endpoints-ஐ Management API-இல் Admin API Key மூலம் அணுகலாம். https://platform.openai.com/settings/organization/admin-keys (சாதாரண API key-ஐப் பயன்படுத்த வேண்டாம்). Admin API keys நிறுவன உரிமையாளர்களுக்கு கிடைக்கும்.
வெளிப்புற keys-ஐ உருவாக்க அல்லது நீக்க
api.external_keys.write-ஐயும், வெளிப்புற keys-ஐப் பட்டியலிட அல்லது சரிபார்க்கapi.external_keys.read-ஐயும் பயன்படுத்தவும். ஒரே key படித்தல் மற்றும் எழுதுதல் ஆகிய இரு செயல்பாடுகளையும் செய்ய வேண்டியிருந்தால் மட்டுமே அதற்கு இரு scopes-உம் தேவை.இந்த endpoints-க்கு உங்கள் நிறுவனத்தை இப்போது feature flag செய்ய வேண்டும். ஏற்கனவே உள்ள List Projects endpoint-இலிருந்து external_key_id திரும்பக் கிடைத்தால், உங்களுக்கு feature flag உள்ளது என்று அறியலாம்: https://api.openai.com/v1/organization/projects
பயன்பாடு
உங்கள் EKM config புதிய endpoint https://api.openai.com/v1/organization/external_keys மூலம் நிறுவன நிலையில் பதிவுசெய்யப்படுகிறது
உங்கள் EKM config-ஐ பதிவுசெய்தால் extkey_xxxx என்ற வடிவில் external_key_id திரும்பக் கிடைக்கும்
ஏற்கனவே உள்ள Create Project https://api.openai.com/v1/organization/projects endpoint-இன் body-இல் external_key_id-ஐ அனுப்புவதன் மூலம் EKM configs திட்ட நிலையில் செயல்படுத்தப்படுகின்றன
கட்டுப்பாடுகள்
முதலில் Management API மூலம் புதிய திட்டத்தில் EKM-ஐச் சோதிக்க வேண்டும்.
உங்கள் EKM workloads-க்காக புதிய திட்டங்களைத் தொடங்குமாறு பரிந்துரைக்கிறோம். ஆனால் ஏற்கனவே உள்ள திட்டத்தில் EKM வேண்டும் என்றால், உங்களை feature flag-இல் சேர்க்கலாம். ஏற்கனவே உள்ள production திட்டங்களுக்கு EKM-ஐ வெளியிடுவதற்கு முன், பின்வரும் சிறந்த நடைமுறைகளை கவனிக்கவும்.
Production-இல் நீங்கள் பயன்படுத்தும் அனைத்து API அம்சங்களையும் முதலில் உங்கள் test EKM API திட்டத்தில் சோதிக்கவும்
அனைத்து production API திட்டங்களிலும் ஒரே நேரத்தில் EKM-ஐ நிரப்புவதற்குப் பதிலாக, படிப்படியான rollout-ஐப் பயன்படுத்தவும்
நிறுவன-நிலை endpoints
உங்கள் நிறுவனத்தில் வெளிப்புற key-ஐ பதிவுசெய்யவும்
AWS
மாதிரி கோரிக்கை
type: string - எப்போதும் “aws”
name: string - உங்கள் config-க்கான எளிதில் அறியக்கூடிய பெயர்
role_arn: string - உங்கள் cloud-இல் OpenAI ஏற்கும் Role ARN
kms_arn: string - நீங்கள் நிர்வகிக்கும் master key-க்கான 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 - உங்கள் config-க்கான எளிதில் அறியக்கூடிய பெயர்
workload_identity_project_number: string - OpenAI-யின் workload identity-ஐ நீங்கள் பதிவுசெய்த 12 இலக்க GCP திட்ட எண்
workload_identity_pool_id: string - OpenAI-க்காக நீங்கள் பதிவுசெய்த Workload Identity provider-ஐக் கொண்ட pool
workload_identity_provider_id: string - OpenAI-க்காக நீங்கள் பதிவுசெய்த Workload Identity provider
audience: string - உங்கள் GCP STS மூலம் ஒரு role-ஐ ஏற்கும்போது OpenAI டோக்கனில் அனுப்ப வேண்டிய audience
kms_project_id: string - உங்கள் KMS இருக்கும் GCP திட்டத்தின் பெயர்
kms_key_ring_name: string - நீங்கள் நிர்வகிக்கும் master key-ஐக் கொண்ட Key Management System key ring
kms_key_name: string - Key Management System master key-யின் பெயர்
kms_key_location: string - உங்கள் Key Management System master key அமைந்துள்ள region
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 - உங்கள் config-க்கான எளிதில் அறியக்கூடிய பெயர்
tenant_id: string - உங்கள் Azure tenant UUID
vault_uri: string - நீங்கள் நிர்வகிக்கும் master key-ஐக் கொண்ட Azure vault-இன் URI
key_name: string - நீங்கள் நிர்வகிக்கும் Azure Key Vault master key-யின் பெயர்.
இது <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"
}உங்கள் நிறுவனத்தில் பதிவுசெய்யப்பட்ட வெளிப்புற key-ஐ நீக்கவும்
குறிப்பு: ஒரு வெளிப்புற key எந்தச் செயலில் உள்ள API திட்டத்துடனோ வர்க்ஸ்பேஸ் உடனோ தொடர்புபடுத்தப்படாதிருந்தால் மட்டுமே அதை நீக்க முடியும். அது செயலில் உள்ள API திட்டத்துடன் தொடர்புபடுத்தப்பட்டிருந்தால், முதலில் அந்தத் திட்டத்தை archive செய்யவும். அது வர்க்ஸ்பேஸ் உடன் தொடர்புபடுத்தப்பட்டிருந்தால், அந்த 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>"
}உங்கள் நிறுவனத்தில் பதிவுசெய்யப்பட்ட வெளிப்புற keys-ஐப் பெறவும்
மாதிரி கோரிக்கை
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"
}வெளிப்புற key-ஐ சரிபார்க்கவும்
பல விஷயங்களைச் சரிபார்க்க இந்த endpoint-ஐப் பயன்படுத்தலாம்
நீங்கள் மாற்றங்கள் செய்த பிறகும், உங்கள் வெளிப்புற cloud configuration OpenAI உடன் செல்லுபடியாகவே உள்ளது (வெற்றி பதிலைப் பார்ப்பீர்கள்)
உங்கள் key ரத்துசெய்தல் சரியாக முடிந்துள்ளது, OpenAI மூலம் செயலாக்கப்படுகிறது, மேலும் 1 மணி நேர cache TTLs முடிந்த பிறகு நடைமுறைக்கு வரும் (பிழை பதிலைப் பார்ப்பீர்கள்)
மாதிரி கோரிக்கை
curl -X POST -H "Authorization: Bearer $TOKEN"
"https://api.openai.com/v1/organization/external_keys/extkey_xxx/validate"மாதிரி பதில்
{
"status": "success"
}அல்லது, cloud provider-இலிருந்து காட்டப்பட்ட பிழை.
திட்ட-நிலை endpoints
வெளிப்புற key ID உடன் புதிய திட்டத்தை உருவாக்கவும்
இது ஏற்கனவே உள்ள Create Project endpoint போலவே இருக்கும்; வேறுபாடு என்னவென்றால், கோரிக்கை மற்றும் பதிலில் external_key_id parameter சேர்க்கப்பட்டுள்ளது.
மாதிரி கோரிக்கை
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,
}[கட்டுப்படுத்தப்பட்டது] ஏற்கனவே உள்ள திட்டத்தை வெளிப்புற key ID உடன் புதுப்பிக்கவும்
இது ஏற்கனவே உள்ள Update Project endpoint போலவே இருக்கும்; வேறுபாடு என்னவென்றால், கோரிக்கை மற்றும் பதிலில் external_key_id parameter சேர்க்கப்பட்டுள்ளது.
உங்கள் EKM workloads-க்காக புதிய API திட்டங்களைத் தொடங்குமாறு பரிந்துரைக்கிறோம். ஏற்கனவே உள்ள அனைத்து API திட்டங்களிலும் EKM வேண்டும் என்றால், உங்கள் account director-இடம் கேளுங்கள்; நாங்கள் உங்களை feature flag-இல் சேர்ப்போம். ஏற்கனவே உள்ள production திட்டங்களுக்கு EKM-ஐ வெளியிடுவதற்கு முன், பின்வரும் சிறந்த நடைமுறைகளை கவனிக்கவும்.
Production-இல் நீங்கள் பயன்படுத்தும் அனைத்து API அம்சங்களையும் முதலில் உங்கள் test EKM API திட்டத்தில் சோதிக்கவும்
அனைத்து production API திட்டங்களிலும் ஒரே நேரத்தில் EKM-ஐ நிரப்புவதற்குப் பதிலாக, படிப்படியான rollout-ஐப் பயன்படுத்தவும்
மாதிரி கோரிக்கை
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
}