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

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

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

อัปเดตล่าสุด: 9 hours 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

2. สร้าง 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. สร้าง custom role สำหรับการเข้าถึง KMS แบบจำกัด

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

  2. ใต้เมนูแบบเลื่อนลง + Add ให้เลือก Add custom role

  3. ไปที่แท็บ JSON คลิก Edit และเพิ่มข้อมูลต่อไปนี้

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

    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

หากคุณยังไม่มี ให้สร้าง Key Vault ใหม่ ใน subscription เดียวกัน กับที่คุณเพิ่งสร้าง custom role

ใน Key Vault นั้น ให้สร้าง Key ใหม่:

  1. ไปที่ Key Vault -> Objects -> Keys จากนั้นคลิก Generate/Import

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

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

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

  5. ระบุชื่อคีย์ในรูปแบบต่อไปนี้: <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. สร้าง role assignment สำหรับ service principal ของ OpenAI + custom 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
  4. ในแท็บ Role ให้เลือกชื่อ custom role ที่คุณเพิ่งสร้าง

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

    1. คลิก “+ Select members”

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

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

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

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

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

ChatGPT Enterprise

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

  • "tenant_id": "<YOUR_AZURE_TENANT_UUID>"

    • UUID tenant ของ Azure ของคุณ

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

    • URI ของ Azure vault ที่มีคีย์หลักที่คุณจัดการ

  • "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 นี้ External Keys in the Management API

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

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

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

# คำสั่งนี้จะสร้าง external key ID ในรูปแบบ 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 ที่เชื่อมโยงกับ external key หลังจากนี้ EKM จะถูกเปิดใช้งานบนโปรเจกต์ของคุณ

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

    คำแนะนำการผสานรวม OpenAI / Azure EKM - สร้างโปรเจกต์

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

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