સારાંશ
ઍક્સેસ
EKM endpoints મેનેજમેન્ટ APIમાં એડમિન API કી દ્વારા ઍક્સેસ કરી શકાય છે. https://platform.openai.com/settings/organization/admin-keys (સામાન્ય API કીનો ઉપયોગ કરશો નહીં). એડમિન 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 મળે છે.
EKM કન્ફિગ હાલના Create Project https://api.openai.com/v1/organization/projects endpointની બોડીમાં external_key_id પાસ કરીને પ્રોજેક્ટ સ્તરે સક્રિય કરવામાં આવે છે.
પ્રતિબંધો
તમારે પહેલા મેનેજમેન્ટ API દ્વારા નવા પ્રોજેક્ટ પર EKMનું પરીક્ષણ કરવું આવશ્યક છે.
અમે તમારી EKM વર્કલોડ માટે નવા પ્રોજેક્ટ શરૂ કરવાની ભલામણ કરીએ છીએ. પરંતુ, જો તમે હાલના પ્રોજેક્ટ પર EKM ઇચ્છતા હો, તો અમે તમને ફીચર ફ્લેગમાં ઉમેરી શકીએ છીએ. તમારા હાલના પ્રોડક્શન પ્રોજેક્ટ પર EKM લાગુ કરો તે પહેલાં નીચેની શ્રેષ્ઠ પદ્ધતિઓ નોંધો.
પ્રોડક્શનમાં તમે ઉપયોગ કરો છો તે બધી API સુવિધાઓ પહેલા તમારા ટેસ્ટ EKM API પ્રોજેક્ટમાં ચકાસો
બધા પ્રોડક્શન API પ્રોજેક્ટમાં એકસાથે EKM ઉમેરવાને બદલે ધીમે ધીમે રોલઆઉટ કરો
સંસ્થા-સ્તરના endpoints
તમારી સંસ્થામાં બાહ્ય કી નોંધાવો
AWS
વિનંતીનો નમૂનો
type: string - હંમેશાં “aws”
name: string - તમારી કન્ફિગ માટે અનુકૂળ નામ
role_arn: string - Role ARN જેને OpenAI તમારા ક્લાઉડમાં ધારણ કરશે
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 - 12-અંકનો GCP પ્રોજેક્ટ નંબર જ્યાં તમે OpenAIની વર્કલોડ આઇડેન્ટિટી નોંધાવી છે
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 માસ્ટર કી સ્થિત છે તે પ્રદેશ
જો તમારું KMS તે GCP પ્રોજેક્ટથી અલગ પ્રોજેક્ટમાં હોય જ્યાં તમે OpenAIની Workload Identity નોંધાવી છે, તો https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview પર જઈને ખાતરી કરો કે OpenAIની Workload Identity ધરાવતા પ્રોજેક્ટમાં ઓછામાં ઓછું 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: 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 કલાકના કૅશ 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
}