OpenAI
Энэ хуудсыг машинаар орчуулсан. Англи хэл дээрх нийтлэлийн эх хувилбарыг үзнэ үү.

Management API дахь EKM (External Keys)

Удирдлагын API ашиглан EKM-ийн гадаад түлхүүрүүдийг хэрхэн удирдахыг мэдэж аваарай.

Шинэчилсэн: 6 days ago

Хураангуй

Хандалт

  • EKM-ийн эцсийн цэгүүдэд Удирдлагын API-аар дамжуулан Админы API түлхүүр ашиглан хандах боломжтой. 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-ийн Workload Identity-г бүртгэсэн GCP төслийн тоон дугаар

  • workload_identity_pool_id: тэмдэгт мөр — OpenAI-д зориулан бүртгэсэн Workload Identity үйлчилгээ үзүүлэгчийг агуулсан сан

  • workload_identity_provider_id: тэмдэгт мөр — OpenAI-д зориулан бүртгэсэн Workload Identity үйлчилгээ үзүүлэгч

  • audience: тэмдэгт мөр — Танай GCP STS-ээр дамжуулан эрхийн үүрэг авахдаа OpenAI-ийн токенд оруулах ёстой хүлээн авагч

  • kms_project_id: тэмдэгт мөр — Таны KMS байрлаж буй GCP төслийн нэр

  • kms_key_ring_name: тэмдэгт мөр — Таны удирддаг үндсэн түлхүүрийг агуулсан Түлхүүр удирдлагын системийн түлхүүрийн багц

  • kms_key_name: тэмдэгт мөр — Түлхүүр удирдлагын системийн үндсэн түлхүүрийн нэр

  • kms_key_location: тэмдэгт мөр — Түлхүүр удирдлагын системийн үндсэн түлхүүр байрлаж буй бүс

Хэрэв таны KMS нь OpenAI-ийн Workload Identity-г бүртгэсэн GCP төслөөс өөр төсөлд байрлаж байвал https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview хаягаар орж, OpenAI-ийн Workload Identity-г агуулсан төсөлд наад зах нь 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 үндсэн түлхүүрийн нэр.

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
}

Энэ нийтлэл танд тус болсон уу?