Përmbledhje
Qasja
Pikat fundore të EKM-së mund të përdoren në API-në e menaxhimit përmes një çelësi administratori të API-së. https://platform.openai.com/settings/organization/admin-keys (mos përdorni një çelës të zakonshëm të API-së). Çelësat e administratorit të API-së janë të disponueshëm për pronarët e organizatës.
Përdorni
api.external_keys.writepër të krijuar ose fshirë çelësa të jashtëm dheapi.external_keys.readpër të listuar ose verifikuar çelësa të jashtëm. Një çelësi i duhen të dyja lejet vetëm nëse duhet të kryejë si veprime leximi, ashtu edhe shkrimi.Aktualisht, duhet t'ia mundësojmë organizatës suaj qasjen në këto pika fundore përmes cilësimit të aktivizimit të funksionit. Funksioni është aktivizuar nëse shihni external_key_id në përgjigjen e pikës fundore ekzistuese për listimin e projekteve: https://api.openai.com/v1/organization/projects.
Përdorimi
Konfigurimi juaj i EKM-së regjistrohet në nivel organizate përmes një pike fundore të re: https://api.openai.com/v1/organization/external_keys.
Regjistrimi i konfigurimit tuaj të EKM-së kthen një external_key_id në formën extkey_xxxx.
Konfigurimet e EKM-së aktivizohen në nivel projekti duke dërguar një external_key_id në trupin e kërkesës te pika fundore ekzistuese për krijimin e projekteve: https://api.openai.com/v1/organization/projects.
Kufizime
Fillimisht duhet ta testoni EKM në një projekt të ri përmes API-së së menaxhimit.
Rekomandojmë të krijoni projekte të reja për ngarkesat tuaja të punës me EKM. Megjithatë, nëse dëshironi EKM në një projekt ekzistues, mund t'jua mundësojmë përmes cilësimit të aktivizimit të funksionit. Mbani parasysh praktikat e mëposhtme të rekomanduara përpara se të aktivizoni EKM në projektet tuaja ekzistuese në mjedisin e prodhimit.
Fillimisht, testoni në projektin tuaj testues të API-së me EKM të gjitha veçoritë e API-së që përdorni në mjedisin e prodhimit.
Aktivizojeni EKM gradualisht, në vend që ta aktivizoni njëherësh në të gjitha projektet e API-së në mjedisin e prodhimit.
endpoints të nivelit të organizatës
Regjistroni një çelës të jashtëm në organizatën tuaj
AWS
Shembull kërkese:
type: string - gjithmonë “aws”
name: string - Një emër i kuptueshëm për konfigurimin tuaj
role_arn: string - ARN-ja e rolit që OpenAI do të marrë në mjedisin tuaj cloud
kms_arn: string - ARN-ja e sistemit të menaxhimit të çelësave për çelësin kryesor që menaxhoni
external_id: string - ID-ja e organizatës suaj ose ID-ja e projektit të API-së
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>"
}'Shembull përgjigjeje:
{
"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
Shembull kërkese:
type: string - gjithmonë “gcp”,
name: string - Një emër i kuptueshëm për konfigurimin tuaj
workload_identity_project_number: string - Numri identifikues i projektit GCP ku keni regjistruar identitetin e ngarkesës së punës të OpenAI
workload_identity_pool_id: string - Grupi që përmban ofruesin e Workload Identity që keni regjistruar për OpenAI
workload_identity_provider_id: string - Ofruesi i Workload Identity që keni regjistruar për OpenAI
audience: string - Audienca që OpenAI duhet të dërgojë në token kur marrim një rol përmes GCP STS tuaj
kms_project_id: string - Emri i projektit GCP ku ndodhet KMS-ja juaj
kms_key_ring_name: string - Grupi i çelësave në sistemin e menaxhimit të çelësave që përmban çelësin kryesor që menaxhoni
kms_key_name: string - Emri i çelësit kryesor të sistemit të menaxhimit të çelësave
kms_key_location: string - Rajoni ku ndodhet çelësi kryesor i sistemit tuaj të menaxhimit të çelësave
Nëse KMS-ja juaj ndodhet në një projekt GCP të ndryshëm nga ai ku keni regjistruar Workload Identity të OpenAI, sigurohuni që projekti që përmban Workload Identity të OpenAI të ketë të paktën KMS të aktivizuar, duke shkuar te 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"
}'Shembull përgjigjeje:
{
"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
Shembull kërkese:
type: string - gjithmonë “azure”,
name: string - Një emër i kuptueshëm për konfigurimin tuaj
tenant_id: string - UUID-ja e instancës suaj organizative në Azure
vault_uri: string - URI-ja e kasafortës Azure që përmban çelësin kryesor që menaxhoni
key_name: string - Emri i çelësit kryesor të Azure Key Vault që menaxhoni.
Duhet të ketë formën <org-xxx>--<any_name>
ku org-xxx është ID-ja e organizatës suaj në OpenAI, të cilën mund ta gjeni te 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"
}'Shembull përgjigjeje:
{
"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"
}Fshini një çelës të jashtëm të regjistruar në organizatën tuaj
Shënim: Mund ta fshini një çelës të jashtëm vetëm nëse nuk është i lidhur me asnjë projekt aktiv të API-së ose hapësirë pune. Nëse është i lidhur me një projekt aktiv të API-së, arkivojeni fillimisht atë projekt. Nëse është i lidhur me një hapësirë pune, çelësi nuk mund të fshihet.
Shembull kërkese
curl -X DELETE \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys/extkey_xxxx"Shembull përgjigjeje
{
"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>"
}Merrni çelësat e jashtëm të regjistruar në organizatën tuaj
Shembull kërkese
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys"Shembull përgjigjeje
{
"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"
}Verifikoni një çelës të jashtëm
Mund ta përdorni këtë pikë fundore për të kontrolluar disa gjëra:
Konfigurimi i mjedisit tuaj të jashtëm cloud mbetet i vlefshëm për OpenAI pasi keni bërë ndryshime (do të shihni një përgjigje suksesi).
Revokimi i çelësit tuaj është kryer saktë, po përpunohet nga OpenAI dhe do të hyjë në fuqi pas skadimit të afateve 1-orëshe të ruajtjes në memorien e përkohshme (TTL) (do të shihni një përgjigje gabimi).
Shembull kërkese
curl -X POST -H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys/extkey_xxx/validate"Shembull përgjigjeje
{
"status": "success"
}Ose është shfaqur një gabim nga ofruesi i cloud-it.
endpoints të nivelit të projektit
Krijoni një projekt të ri me ID-në e një çelësi të jashtëm
Kjo është e njëjta pikë fundore ekzistuese për krijimin e projekteve, me shtimin e parametrit external_key_id në kërkesë dhe në përgjigje.
Shembull kërkese
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"
}'Shembull përgjigjeje
{
"object": "organization.project",
"id": "proj_xxxxx",
"name": "Some Project",
"external_key_id": "extkey_xxxx",
"created_at": 1740012721,
"archived_at": null,
"status": "active"
}[Qasje e kufizuar] Përditësoni një projekt ekzistues me ID-në e një çelësi të jashtëm
Kjo është e njëjta pikë fundore ekzistuese për përditësimin e projekteve, me shtimin e parametrit external_key_id në kërkesë dhe në përgjigje.
Rekomandojmë të krijoni projekte të reja të API-së për ngarkesat tuaja të punës me EKM. Nëse dëshironi EKM në të gjitha projektet tuaja ekzistuese të API-së, kërkojani drejtuesit të llogarisë suaj dhe do t'jua mundësojmë përmes cilësimit të aktivizimit të funksionit. Mbani parasysh praktikat e mëposhtme të rekomanduara përpara se të aktivizoni EKM në projektet tuaja ekzistuese në mjedisin e prodhimit.
Fillimisht, testoni në projektin tuaj testues të API-së me EKM të gjitha veçoritë e API-së që përdorni në mjedisin e prodhimit.
Aktivizojeni EKM gradualisht, në vend që ta aktivizoni njëherësh në të gjitha projektet e API-së në mjedisin e prodhimit.
Shembull kërkese
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"
}'Listoni të gjitha projektet në organizatën tuaj
Kjo është e njëjta pikë fundore si ajo ekzistuese, por me shtimin e external_key_id në përgjigjen e API-së.
Shembull kërkese
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects"Shembull përgjigjeje
{
"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
}