Ringkesan
Akses
Titik pungkasan EKM bisa diakses ing API Manajemen nganggo Kunci API Admin. https://platform.openai.com/settings/organization/admin-keys (aja nganggo kunci API biasa). Kunci API Admin kasedhiya kanggo pamilik organisasi.
Gunakake
api.external_keys.writekanggo nggawe utawa mbusak kunci eksternal, lanapi.external_keys.readkanggo ndeleng dhaptar utawa validasi kunci eksternal. Siji kunci mung mbutuhake loro cakupan idin kasebut yen kudu nindakake operasi maca lan nulis.Saiki, kita kudu ngaktifake tandha fitur kanggo organisasi sampeyan supaya bisa ngakses titik pungkasan iki. Tandha fitur wis aktif yen sampeyan ndeleng external_key_id ing respons saka titik pungkasan Dhaptar Proyek sing wis ana: https://api.openai.com/v1/organization/projects.
Panggunaan
Konfigurasi EKM sampeyan didhaptar ing tingkat organisasi liwat titik pungkasan anyar https://api.openai.com/v1/organization/external_keys.
Sawise ndhaptar konfigurasi EKM, sampeyan bakal nampa external_key_id kanthi format extkey_xxxx.
Konfigurasi EKM diaktifake ing tingkat proyek kanthi nglebokake external_key_id ing isi panjaluk menyang titik pungkasan Gawe Proyek sing wis ana, https://api.openai.com/v1/organization/projects.
Watesan
Sampeyan kudu nyoba EKM dhisik ing proyek anyar liwat API Manajemen.
Kita nyaranake nggawe proyek anyar kanggo beban kerja EKM sampeyan. Nanging, yen pengin EKM ing proyek sing wis ana, kita bisa ngaktifake tandha fitur kanggo sampeyan. Gatekake praktik paling apik ing ngisor iki sadurunge ngetrapake EKM ing proyek produksi sampeyan sing wis ana.
Coba dhisik kabeh fitur API sing sampeyan gunakake ing produksi ing proyek API EKM kanggo uji coba.
Trapake EKM kanthi bertahap, aja langsung ing kabeh proyek API produksi bebarengan.
Endpoints level organisasi
Daftarake kunci eksternal ing organisasi sampeyan
AWS
Tuladha panjaluk:
type: string - mesthi “aws”
name: string - Jeneng sing gampang dingerteni kanggo konfigurasi sampeyan
role_arn: string - ARN peran sing bakal digunakake OpenAI ing cloud sampeyan
kms_arn: string - ARN Sistem Manajemen Kunci kanggo kunci utama sing sampeyan atur
external_id: string - ID Organisasi utawa ID proyek API sampeyan
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>"
}'Tuladha respons:
{
"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
Tuladha panjaluk:
type: string - mesthi “gcp”,
name: string - Jeneng sing gampang dingerteni kanggo konfigurasi sampeyan
workload_identity_project_number: string - Nomer proyek GCP awujud angka ing ngendi sampeyan ndhaptar identitas beban kerja OpenAI
workload_identity_pool_id: string - Pool sing ngemot panyedhiya Workload Identity sing sampeyan dhaptar kanggo OpenAI
workload_identity_provider_id: string - Panyedhiya Workload Identity sing sampeyan dhaptar kanggo OpenAI
audience: string - Audiens sing kudu dilebokake OpenAI ing token nalika nggunakake peran liwat GCP STS sampeyan
kms_project_id: string - Jeneng proyek GCP sing dadi panggonan KMS sampeyan
kms_key_ring_name: string - Dering kunci Sistem Manajemen Kunci sing ngemot kunci utama sing sampeyan atur
kms_key_name: string - Jeneng kunci utama Sistem Manajemen Kunci
kms_key_location: string - Wilayah panggonan kunci utama Sistem Manajemen Kunci sampeyan
Yen KMS sampeyan ana ing proyek GCP sing beda karo proyek panggonan sampeyan ndhaptar Workload Identity OpenAI, priksa manawa paling ora KMS wis diaktifake ing proyek sing ngemot Workload Identity OpenAI kanthi mbukak 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"
}'Tuladha respons:
{
"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
Tuladha panjaluk:
type: string - mesthi “azure”,
name: string - Jeneng sing gampang dingerteni kanggo konfigurasi sampeyan
tenant_id: string - UUID tenant Azure sampeyan
vault_uri: string - URI vault Azure sing ngemot kunci utama sing sampeyan atur
key_name: string - Jeneng kunci utama Azure Key Vault sing sampeyan atur.
Jeneng iki kudu nganggo format <org-xxx>--<any_name>
ing kene org-xxx yaiku ID Organisasi OpenAI sampeyan sing bisa ditemokake ing 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"
}'Tuladha respons:
{
"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"
}Busak kunci eksternal sing kadhaptar ing organisasi sampeyan
Cathetan: Sampeyan mung bisa mbusak kunci eksternal yen ora digandhengake karo proyek API aktif utawa papan kerja apa wae. Yen digandhengake karo proyek API aktif, arsipake proyek kasebut dhisik. Yen digandhengake karo papan kerja, kunci kasebut ora bisa dibusak.
Tuladha panjaluk
curl -X DELETE \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys/extkey_xxxx"Tuladha respons
{
"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>"
}Jupuk kunci eksternal sing kadhaptar ing organisasi sampeyan
Tuladha panjaluk
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys"Tuladha respons
{
"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"
}Validasi kunci eksternal
Sampeyan bisa nggunakake titik pungkasan iki kanggo mriksa sawetara bab:
Konfigurasi cloud eksternal sampeyan tetep valid kanggo OpenAI sawise sampeyan ngowahi konfigurasi kasebut (sampeyan bakal ndeleng respons kasil).
Pencabutan kunci sampeyan wis ditindakake kanthi bener, lagi diproses dening OpenAI, lan bakal ditrapake sawise TTL cache 1 jam entek (sampeyan bakal ndeleng respons kesalahan).
Tuladha panjaluk
curl -X POST -H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys/extkey_xxx/validate"Tuladha respons
{
"status": "success"
}Utawa, ana error sing ditampilake saka panyedhiya cloud.
Endpoints level proyek
Gawe proyek anyar nganggo ID kunci eksternal
Iki padha karo titik pungkasan Gawe Proyek sing wis ana, nanging ana tambahan parameter external_key_id ing panjaluk lan respons.
Tuladha panjaluk
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"
}'Tuladha respons
{
"object": "organization.project",
"id": "proj_xxxxx",
"name": "Some Project",
"external_key_id": "extkey_xxxx",
"created_at": 1740012721,
"archived_at": null,
"status": "active"
}[Diwatesi] Nganyari proyek sing wis ana nganggo ID kunci eksternal
Iki padha karo titik pungkasan Nganyari Proyek sing wis ana, nanging ana tambahan parameter external_key_id ing panjaluk lan respons.
Kita nyaranake nggawe proyek API anyar kanggo beban kerja EKM sampeyan. Yen pengin EKM ing kabeh proyek API sampeyan sing wis ana, hubungi direktur akun sampeyan lan kita bakal ngaktifake tandha fitur kanggo sampeyan. Gatekake praktik paling apik ing ngisor iki sadurunge ngetrapake EKM ing proyek produksi sampeyan sing wis ana.
Coba dhisik kabeh fitur API sing sampeyan gunakake ing produksi ing proyek API EKM kanggo uji coba.
Trapake EKM kanthi bertahap, aja langsung ing kabeh proyek API produksi bebarengan.
Tuladha panjaluk
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"
}'Deleng dhaptar kabeh proyek ing organisasi sampeyan
Iki padha karo titik pungkasan sing wis ana, nanging ana tambahan external_key_id ing respons API.
Tuladha panjaluk
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects"Tuladha respons
{
"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
}