સારાંશ
ઍક્સેસ
વ્યવસ્થાપન 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: સ્ટ્રિંગ - તમારી કી વ્યવસ્થાપન સિસ્ટમની મુખ્ય કી જે પ્રદેશમાં છે તે પ્રદેશ
જો તમારું KMS, તમે OpenAIની કાર્યભાર ઓળખ નોંધાવી છે તે GCP પ્રોજેક્ટ કરતાં જુદા પ્રોજેક્ટમાં હોય, તો 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 કલાકની કૅશ TTL અવધિઓ પૂરી થયા પછી તે અમલમાં આવશે (તમને ભૂલનો પ્રતિસાદ દેખાશે).
વિનંતીનો નમૂનો
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
}