OpenAI
આ પેજનો અનુવાદ મશીન દ્વારા કરવામાં આવ્યો હતો. મૂળ અંગ્રેજી લેખ જુઓ.

મેનેજમેન્ટ APIમાં EKM (બાહ્ય કી)

મેનેજમેન્ટ API વડે EKM માટે બાહ્ય કી મેનેજ કરો

અપડેટ કર્યા તારીખ: 2 days ago

સારાંશ

ઍક્સેસ

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

શું આ લેખ મદદરૂપ હતો?