Muhtasari
Ufikiaji
Miisho ya EKM inapatikana kwenye API ya Usimamizi kwa kutumia Ufunguo wa API wa Msimamizi. https://platform.openai.com/settings/organization/admin-keys (usitumie ufunguo wa kawaida wa API). Funguo za API za Msimamizi zinapatikana kwa wamiliki wa shirika.
Tumia
api.external_keys.writekuunda au kufuta funguo za nje, naapi.external_keys.readkuorodhesha au kuthibitisha uhalali wa funguo za nje. Ufunguo mmoja unahitaji ruhusa zote mbili ikiwa tu unapaswa kusoma na kuandika.Kwa sasa, tunahitaji kuwasha kipengele hiki kwa shirika lako ili liweze kufikia miisho hii. Utajua kuwa kipengele kimewashwa ukiona external_key_id ikirejeshwa na mwisho uliopo wa Kuorodhesha Miradi: https://api.openai.com/v1/organization/projects.
Matumizi
Usanidi wako wa EKM unasajiliwa katika kiwango cha shirika kupitia mwisho mpya https://api.openai.com/v1/organization/external_keys.
Kusajili usanidi wako wa EKM hurejesha external_key_id katika muundo wa extkey_xxxx.
Usanidi wa EKM huwashwa katika kiwango cha mradi kwa kupitisha external_key_id katika kiini cha ombi kwa mwisho uliopo wa Kuunda Mradi https://api.openai.com/v1/organization/projects.
Vikwazo
Lazima kwanza ujaribu EKM kwenye mradi mpya kupitia API ya Usimamizi.
Tunapendekeza uunde miradi mipya kwa ajili ya kazi zako za EKM. Hata hivyo, ikiwa unataka EKM kwenye mradi uliopo, tunaweza kukuwashia kipengele hiki. Tafadhali zingatia mbinu bora zifuatazo kabla ya kuanza kutumia EKM kwenye miradi yako iliyopo inayotumika katika mazingira halisi.
Kwanza, jaribu vipengele vyote vya API unavyotumia katika mazingira halisi kwenye mradi wako wa majaribio wa API wenye EKM.
Anza kutumia EKM hatua kwa hatua badala ya kuiweka kwenye miradi yote ya API inayotumika katika mazingira halisi kwa wakati mmoja.
endpoints za kiwango cha shirika
Sajili ufunguo wa nje kwenye shirika lako
AWS
Mfano wa ombi:
type: mfuatano wa herufi - daima “aws”
name: mfuatano wa herufi - Jina rahisi kutambua la usanidi wako
role_arn: mfuatano wa herufi - ARN ya jukumu ambalo OpenAI itachukua katika mazingira yako ya wingu
kms_arn: mfuatano wa herufi - ARN ya Mfumo wa Usimamizi wa Funguo ya ufunguo mkuu unaosimamia
external_id: mfuatano wa herufi - Kitambulisho cha Shirika lako au kitambulisho cha mradi wa API
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>"
}'Mfano wa jibu:
{
"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
Mfano wa ombi:
type: mfuatano wa herufi - daima “gcp”,
name: mfuatano wa herufi - Jina rahisi kutambua la usanidi wako
workload_identity_project_number: mfuatano wa herufi - Nambari ya mradi wa GCP ambamo ulisajili utambulisho wa kazi wa OpenAI
workload_identity_pool_id: mfuatano wa herufi - Kundi lenye mtoa huduma wa Workload Identity uliyemsajili kwa ajili ya OpenAI
workload_identity_provider_id: mfuatano wa herufi - Mtoa huduma wa Workload Identity uliyemsajili kwa ajili ya OpenAI
audience: mfuatano wa herufi - Mpokeaji lengwa ambaye OpenAI inapaswa kubainisha kwenye tokeni tunapochukua jukumu kupitia GCP STS yako
kms_project_id: mfuatano wa herufi - Jina la mradi wa GCP ambamo KMS yako ipo
kms_key_ring_name: mfuatano wa herufi - Kundi la funguo katika Mfumo wa Usimamizi wa Funguo lenye ufunguo mkuu unaosimamia
kms_key_name: mfuatano wa herufi - Jina la ufunguo mkuu wa Mfumo wa Usimamizi wa Funguo
kms_key_location: mfuatano wa herufi - Eneo ambako ufunguo wako mkuu wa Mfumo wa Usimamizi wa Funguo upo
Ikiwa KMS yako ipo katika mradi tofauti wa GCP na ule ambamo ulisajili Workload Identity ya OpenAI, hakikisha kuwa angalau KMS imewashwa kwenye mradi wenye Workload Identity ya OpenAI kwa kwenda kwenye 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"
}'Mfano wa jibu:
{
"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
Mfano wa ombi:
type: mfuatano wa herufi - daima “azure”,
name: mfuatano wa herufi - Jina rahisi kutambua la usanidi wako
tenant_id: mfuatano wa herufi - UUID ya mpangaji wako wa Azure
vault_uri: mfuatano wa herufi - URI ya hifadhi salama ya Azure yenye ufunguo mkuu unaosimamia
key_name: mfuatano wa herufi - Jina la ufunguo mkuu wa Azure Key Vault unaosimamia.
Lazima liwe katika muundo wa <org-xxx>--<any_name>
ambapo org-xxx ni Kitambulisho cha Shirika lako la OpenAI, ambacho unaweza kupata kwenye 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"
}'Mfano wa jibu:
{
"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"
}Futa ufunguo wa nje uliosajiliwa katika shirika lako
Kumbuka: Unaweza kufuta ufunguo wa nje ikiwa tu haujahusishwa na mradi wowote wa API unaotumika au eneokazi. Ikiwa umehusishwa na mradi wa API unaotumika, weka mradi huo kwenye kumbukumbu kwanza. Ikiwa umehusishwa na eneokazi, ufunguo hauwezi kufutwa.
Mfano wa ombi
curl -X DELETE \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys/extkey_xxxx"Mfano wa jibu
{
"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>"
}Pata funguo za nje zilizosajiliwa katika shirika lako
Mfano wa ombi
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys"Mfano wa jibu
{
"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"
}Thibitisha uhalali wa ufunguo wa nje
Unaweza kutumia mwisho huu kukagua mambo kadhaa:
Usanidi wako wa wingu la nje bado ni halali kwa OpenAI baada ya kufanya mabadiliko (utaona jibu linaloonyesha mafanikio).
Ubatilishaji wa ufunguo wako umefanywa ipasavyo, unachakatwa na OpenAI, na utaanza kutumika baada ya muda wa kuhifadhi data kwenye kache (TTL) wa saa 1 kuisha (utaona jibu la hitilafu).
Mfano wa ombi
curl -X POST -H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys/extkey_xxx/validate"Mfano wa jibu
{
"status": "success"
}Au, hitilafu iliyotolewa na mtoa huduma wa cloud.
endpoints za kiwango cha mradi
Unda mradi mpya kwa kutumia kitambulisho cha ufunguo wa nje
Huu ni sawa na mwisho uliopo wa Kuunda Mradi, lakini kigezo cha external_key_id kimeongezwa kwenye ombi na jibu.
Mfano wa ombi
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"
}'Mfano wa jibu
{
"object": "organization.project",
"id": "proj_xxxxx",
"name": "Some Project",
"external_key_id": "extkey_xxxx",
"created_at": 1740012721,
"archived_at": null,
"status": "active"
}[Ufikiaji umezuiwa] Sasisha mradi uliopo kwa kutumia kitambulisho cha ufunguo wa nje
Huu ni sawa na mwisho uliopo wa Kusasisha Mradi, lakini kigezo cha external_key_id kimeongezwa kwenye ombi na jibu.
Tunapendekeza uunde miradi mipya ya API kwa ajili ya kazi zako za EKM. Ikiwa unataka EKM kwenye miradi yako yote iliyopo ya API, mwombe mkurugenzi wa akaunti yako nasi tutakuwashia kipengele hiki. Tafadhali zingatia mbinu bora zifuatazo kabla ya kuanza kutumia EKM kwenye miradi yako iliyopo inayotumika katika mazingira halisi.
Kwanza, jaribu vipengele vyote vya API unavyotumia katika mazingira halisi kwenye mradi wako wa majaribio wa API wenye EKM.
Anza kutumia EKM hatua kwa hatua badala ya kuiweka kwenye miradi yote ya API inayotumika katika mazingira halisi kwa wakati mmoja.
Mfano wa ombi
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"
}'Orodhesha miradi yote katika shirika lako
Huu ni sawa na mwisho uliopo, lakini external_key_id imeongezwa kwenye jibu la API.
Mfano wa ombi
curl -X GET \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects"Mfano wa jibu
{
"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
}