Хураангуй
Хандалт
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 үндсэн түлхүүрийн нэр.
Энэ нь <org-xxx>--<any_name> хэлбэртэй байх ёстой.
Энд org-xxx нь таны OpenAI Байгууллагын ID бөгөөд үүнийг 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"
}'Хариуны жишээ:
{
"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
}