Samantekt
Aðgangur
Endapunktar EKM eru aðgengilegir í stjórnunar-API með API-lykli stjórnanda. https://platform.openai.com/settings/organization/admin-keys (ekki nota venjulegan API-lykil). API-lyklar stjórnanda eru í boði fyrir eigendur fyrirtækja.
Notaðu
api.external_keys.writetil að búa til eða eyða ytri lyklum ogapi.external_keys.readtil að birta lista yfir ytri lykla eða sannprófa þá. Einn lykill þarf aðeins bæði heimildasviðin ef hann á að framkvæma bæði lestrar- og skrifaðgerðir.Eins og er þurfum við að virkja aðgang fyrirtækisins þíns að þessum endapunktum með eiginleikafána. Þú veist að eiginleikafáninn er virkur ef external_key_id kemur fram í svari frá núverandi endapunkti sem birtir lista yfir verkefni: https://api.openai.com/v1/organization/projects.
Notkun
EKM-uppsetningin þín er skráð fyrir fyrirtækið með nýjum endapunkti: https://api.openai.com/v1/organization/external_keys.
Þegar þú skráir EKM-uppsetninguna færðu external_key_id á forminu extkey_xxxx.
EKM-uppsetningar eru virkjaðar fyrir hvert verkefni með því að senda external_key_id í meginmáli beiðni til núverandi endapunkts sem býr til verkefni: https://api.openai.com/v1/organization/projects.
Takmarkanir
Þú verður fyrst að prófa EKM í nýju verkefni með stjórnunar-API.
Við mælum með að búa til ný verkefni fyrir vinnsluna þína með EKM. Ef þú vilt hins vegar nota EKM í fyrirliggjandi verkefni getum við virkjað eiginleikafánann fyrir þig. Kynntu þér eftirfarandi ráðleggingar áður en þú innleiðir EKM í núverandi verkefnum í rekstri.
Prófaðu fyrst alla API-eiginleika sem þú notar í rekstri í EKM-prófunarverkefninu þínu fyrir API.
Innleiddu EKM í áföngum í stað þess að virkja það í öllum API-verkefnum í rekstri í einu.
endpoints á fyrirtækisstigi
Skrá ytri lykil hjá fyrirtækinu þínu
AWS
Dæmi um beiðni:
type: strengur – alltaf „aws“
name: strengur – Lýsandi heiti á uppsetningunni þinni
role_arn: strengur – ARN-auðkenni hlutverksins sem OpenAI tekur að sér í skýjaumhverfinu þínu
kms_arn: strengur – ARN-auðkenni aðallykilsins sem þú stýrir í lyklastjórnunarkerfinu
external_id: strengur – Auðkenni fyrirtækis þíns eða API-verkefnis
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>"
}'Dæmi um svar:
{
"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
Dæmi um beiðni:
type: strengur – alltaf „gcp“,
name: strengur – Lýsandi heiti á uppsetningunni þinni
workload_identity_project_number: strengur – Númer GCP-verkefnisins þar sem þú skráðir vinnsluauðkenni OpenAI
workload_identity_pool_id: strengur – Safnið sem inniheldur Workload Identity-veituna sem þú skráðir fyrir OpenAI
workload_identity_provider_id: strengur – Workload Identity-veitan sem þú skráðir fyrir OpenAI
audience: strengur – Viðtakandinn sem OpenAI á að tilgreina í aðgangstákninu þegar við tökum að okkur hlutverk í gegnum GCP STS hjá þér
kms_project_id: strengur – Heiti GCP-verkefnisins þar sem KMS-kerfið þitt er
kms_key_ring_name: strengur – Lyklakippan í lyklastjórnunarkerfinu sem inniheldur aðallykilinn sem þú stýrir
kms_key_name: strengur – Heiti aðallykilsins í lyklastjórnunarkerfinu
kms_key_location: strengur – Svæðið þar sem aðallykillinn þinn í lyklastjórnunarkerfinu er staðsettur
Ef KMS-kerfið þitt er í öðru GCP-verkefni en því þar sem þú skráðir Workload Identity fyrir OpenAI skaltu ganga úr skugga um að KMS sé að minnsta kosti virkt í verkefninu sem inniheldur Workload Identity fyrir OpenAI. Farðu á https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview til að athuga það.
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"
}'Dæmi um svar:
{
"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
Dæmi um beiðni:
type: strengur – alltaf „azure“,
name: strengur – Lýsandi heiti á uppsetningunni þinni
tenant_id: strengur – UUID-auðkenni Azure-leigjandans þíns
vault_uri: strengur – URI-auðkenni Azure-lyklageymslunnar sem inniheldur aðallykilinn sem þú stýrir
key_name: strengur – Heiti aðallykilsins sem þú stýrir í Azure Key Vault.
Það verður að vera á forminu <org-xxx>--<any_name>
þar sem org-xxx er auðkenni fyrirtækis þíns hjá OpenAI, sem þú finnur á 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"
}'Dæmi um svar:
{
"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"
}Eyða ytri lykli sem er skráður hjá fyrirtækinu þínu
Athugið: Þú getur aðeins eytt ytri lykli ef hann er ekki tengdur neinu virku API-verkefni eða vinnusvæði. Ef hann er tengdur virku API-verkefni skaltu fyrst færa verkefnið í safn. Ef hann er tengdur vinnusvæði er ekki hægt að eyða lyklinum.
Dæmi um beiðni
curl -X DELETE \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys/extkey_xxxx"Dæmi um svar
{
"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>"
}Sækja ytri lykla sem eru skráðir hjá fyrirtækinu þínu
Dæmi um beiðni
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys"Dæmi um svar
{
"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"
}Sannprófa ytri lykil
Þú getur notað þennan endapunkt til að athuga nokkur atriði:
Að uppsetning ytra skýjaumhverfisins sé enn gild hjá OpenAI eftir breytingar (þú færð svar sem staðfestir að aðgerðin tókst).
Að afturköllun lykilsins hafi verið rétt framkvæmd, sé í vinnslu hjá OpenAI og taki gildi þegar einnar klukkustundar líftími (TTL) skyndiminnisgagnanna rennur út (þú færð villusvar).
Dæmi um beiðni
curl -X POST -H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys/extkey_xxx/validate"Dæmi um svar
{
"status": "success"
}Eða villa sem kemur frá skýjaþjónustuveitunni.
endpoints á verkefnisstigi
Búa til nýtt verkefni með auðkenni ytri lykils
Þetta er sami endapunktur og áður til að búa til verkefni, en færibreytunni external_key_id hefur verið bætt við beiðnina og svarið.
Dæmi um beiðni
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"
}'Dæmi um svar
{
"object": "organization.project",
"id": "proj_xxxxx",
"name": "Some Project",
"external_key_id": "extkey_xxxx",
"created_at": 1740012721,
"archived_at": null,
"status": "active"
}[Takmarkaður aðgangur] Uppfæra fyrirliggjandi verkefni með auðkenni ytri lykils
Þetta er sami endapunktur og áður til að uppfæra verkefni, en færibreytunni external_key_id hefur verið bætt við beiðnina og svarið.
Við mælum með að búa til ný API-verkefni fyrir vinnsluna þína með EKM. Ef þú vilt nota EKM í öllum núverandi API-verkefnum þínum skaltu hafa samband við viðskiptastjórann þinn og við virkjum eiginleikafánann fyrir þig. Kynntu þér eftirfarandi ráðleggingar áður en þú innleiðir EKM í núverandi verkefnum í rekstri.
Prófaðu fyrst alla API-eiginleika sem þú notar í rekstri í EKM-prófunarverkefninu þínu fyrir API.
Innleiddu EKM í áföngum í stað þess að virkja það í öllum API-verkefnum í rekstri í einu.
Dæmi um beiðni
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"
}'Birta lista yfir öll verkefni fyrirtækisins þíns
Þetta er sami endapunktur og áður, en external_key_id hefur verið bætt við API-svarið.
Dæmi um beiðni
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects"Dæmi um svar
{
"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
}