OpenAI
หน้านี้แปลด้วยระบบอัตโนมัติ ดูต้นฉบับภาษาอังกฤษ.

คำแนะนำการผสานรวม OpenAI / Azure EKM

คำแนะนำทีละขั้นตอนในการตั้งค่า Azure และเปิดใช้งาน EKM

อัปเดตล่าสุด: 2 days ago

ภาพรวม

Enterprise Key Management (EKM) ช่วยให้ OpenAI เข้ารหัสข้อมูลโดยใช้มาสเตอร์คีย์ที่คุณควบคุม เพื่อให้ OpenAI เรียกใช้การดำเนินการเข้ารหัส/ถอดรหัสบน Key Vault ของคุณได้ เราจะต้องได้รับสิทธิ์การเข้าถึง เอกสารนี้แสดงวิธีตั้งค่าบัญชี Azure ของคุณ เพื่อให้ OpenAI สามารถรับบทบาทที่มีสิทธิ์ Key Vault ได้

Azure EKM flow where OpenAI EKM uses Microsoft Entra ID to access your Key Vault and master KEK

ขั้นตอน

1. สร้าง service principal สำหรับ OpenAI ในบัญชีของคุณ

  1. รับ access token

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID
  1. สร้าง service principal - appId ในคำขอด้านล่างคือ application client id ของ OpenAI การดำเนินการนี้จะสร้าง principal ที่มีชื่อที่แสดงว่า “EKM - OpenAI Azure” - โปรดจำชื่อนี้ไว้สำหรับขั้นตอนถัดไป

คำแนะนำการผสานรวม OpenAI / Azure EKM - สร้าง service principal

curl -X POST https://graph.microsoft.com/v1.0/servicePrincipals \
-H "Authorization: Bearer $TOKEN_FROM_ABOVE" \
-H "Content-Type: application/json" \
–d '{"appId": "20a14814-5ab7-4612-a671-1382b412bf93"}'

2. สร้างบทบาทแบบกำหนดเองสำหรับการเข้าถึง KMS แบบจำกัด

  1. ไปที่ Subscriptions -> Access Control (IAM)

  2. ในดรอปดาวน์ + Add ให้เลือก Add custom role

  3. ไปที่แท็บ JSON คลิก Edit แล้วเพิ่มรายการต่อไปนี้:

    1. ชื่อบทบาทใดก็ได้ - โปรดจำชื่อที่คุณเลือกไว้

    2. สิทธิ์ต่อไปนี้ใน dataActions:

      1. Microsoft.KeyVault/vaults/keys/encrypt/action

      2. Microsoft.KeyVault/vaults/keys/decrypt/action

      3. Microsoft.KeyVault/vaults/keys/read

OpenAI / Azure EKM Integration Instructions Custom Role

3. สร้าง Key Vault + คีย์

หากคุณยังไม่มี ให้สร้าง Key Vault ใหม่ ในการสมัครใช้งานเดียวกันกับที่คุณเพิ่งสร้างบทบาทแบบกำหนดเอง

ใน Key Vault นั้น ให้สร้างคีย์ใหม่:

  1. ไปที่ Key Vault -> Objects -> Keys แล้วคลิก Generate/Import

  2. ภายใต้ Options ให้เลือก Generate

Azure Key Vault Keys page with Generate/Import highlighted to add a key
  1. เลือก RSA สำหรับอัลกอริทึมการเข้ารหัส

  2. คุณสามารถเลือกขนาดคีย์ RSA ใดก็ได้

  3. ระบุชื่อคีย์ในรูปแบบต่อไปนี้: <org-xxx>--<any_name> โดย org-xxx คือ ID องค์กร OpenAI ของคุณ ซึ่งดูได้ที่ https://platform.openai.com/settings/organization/general

Azure Key Vault key generation form with RSA selected and key name org-abcdefg--test-keyvault-key

หากคุณไม่สามารถดูหรือสร้างคีย์ได้ โปรดตรวจสอบว่าคุณมีบทบาท Key Vault Administrator สิ่งนี้จำเป็นแม้ว่าคุณจะมีบทบาท Owner อยู่แล้วก็ตาม หากต้องการรับการกำหนดบทบาท:

  1. ไปที่ Key Vault -> Access Control (IAM)

  2. คลิก Add -> Add role assignment

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment

4. สร้างการกำหนดบทบาทสำหรับ OpenAI service principal + KMS แบบกำหนดเองใหม่ + คีย์ใหม่

  1. ไปที่ Key Vault -> Objects -> Keys แล้วคลิกแถวของคีย์ที่คุณสร้างไว้

  2. ไปที่ Access control (IAM) สำหรับคีย์ที่คุณเพิ่งคลิก (ไม่ใช่ key vault ของคุณ)

  3. ในดรอปดาวน์ + Add ให้เลือก Add role assignment

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  1. ในแท็บ Role ให้เลือกชื่อบทบาทแบบกำหนดเองที่คุณเพิ่งสร้าง

Azure role list filtered for openai- with the openai-azure-kms-role entry
  1. ในแท็บ Members:

    1. คลิก “+ Select members”

    2. พิมพ์ “ekm -” ในแถบค้นหา จากนั้น OpenAI service principal ที่คุณสร้างในขั้นตอนที่ 1 ควรโหลดขึ้นมา

Azure role assignment Members step with EKM - OpenAI Azure Application selected as a member

5. ใช้ข้อจำกัดเพิ่มเติมใดๆ ตามแนวทางปฏิบัติด้านความปลอดภัยของคุณเอง

ข้อมูลข้างต้นคือข้อมูลขั้นต่ำที่ OpenAI ต้องใช้ในการตั้งค่า EKM คุณสามารถใช้นโยบายคีย์หรือข้อจำกัดเพิ่มเติมตามแนวทางปฏิบัติด้านความปลอดภัยภายในของคุณเองได้ ตราบใดที่ OpenAI สามารถเรียกใช้การดำเนินการเข้ารหัสและถอดรหัสบน KMS ของคุณได้ เมื่อคุณเรียก endpoint การลงทะเบียนคีย์กับ OpenAI ที่อธิบายไว้ด้านล่าง เราจะตรวจสอบการตั้งค่าของคุณ

หลังจากทำขั้นตอนข้างต้นเสร็จแล้ว

ChatGPT Enterprise

โปรดติดต่อผู้ติดต่อ OpenAI ของคุณและแชร์ข้อมูลต่อไปนี้:

  • "tenant_id": "<YOUR_AZURE_TENANT_UUID>"

  • "vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"

  • "key_name": "<YOUR_KEY_NAME>"

  • ชื่อของมาสเตอร์คีย์ Azure Key Vault ที่คุณจัดการ

  • ชื่อคีย์ต้องอยู่ในรูปแบบ <org-xxx>--<any_name> โดย org-xxx คือ ID องค์กร OpenAI ของคุณ ซึ่งดูได้ที่ https://platform.openai.com/settings/organization/general

เราจะเปิดใช้งาน EKM สำหรับองค์กร/เวิร์กสเปซ ChatGPT ของคุณ

API

ลงทะเบียนคีย์ภายนอกของคุณกับ OpenAI

ทำตามคำแนะนำในข้อมูลอ้างอิง API นี้ คีย์ภายนอกใน Management API

  • ขั้นแรก ลงทะเบียนคีย์ภายนอกของคุณในระดับองค์กร OpenAI ซึ่งจะสร้าง ID คีย์ภายนอกในรูปแบบ extkey_xxx

  • ในขั้นตอนนี้ เราจะตรวจสอบว่าอินพุตของคุณถูกต้องและเราสามารถยืนยันตัวตนกับ KMS ของคุณได้

  • ขั้นตอนนี้จะยังไม่เพิ่ม EKM ลงในโปรเจกต์ OpenAI ของคุณ

# This generates an external key ID of the form extkey_xxx
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "azure",
"name": "<ANY_FRIENDLY_NAME>",
"tenant_id": "<YOUR_AZURE_TENANT_UUID>",
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/",
"key_name": "<YOUR_KEY_NAME>"
}'
  • จากนั้นสร้างโปรเจกต์ OpenAI ที่เชื่อมโยงกับคีย์ภายนอก หลังจากนี้ EKM จะเปิดใช้งานในโปรเจกต์ของคุณ

  • เนื้อหาการตอบกลับของการเรียก API นี้จะให้ ID โปรเจกต์ (proj_xxx) แก่คุณ

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"
}'

บทความนี้มีประโยชน์หรือไม่