ภาพรวม
การจัดการคีย์ระดับองค์กร (EKM) ช่วยให้คุณเข้ารหัสเนื้อหาของลูกค้าที่ OpenAI ด้วยคีย์ซึ่งจัดการโดยระบบจัดการคีย์ภายนอก (KMS) ของคุณเอง โดยพร้อมใช้งานทั้งใน ChatGPT Enterprise และ API
OpenAI รองรับการเข้ารหัสแบบใช้คีย์ของคุณเอง (BYOK) ด้วยบัญชีภายนอกใน AWS KMS, Google Cloud (GCP) และ Azure Key Vault
ขณะนี้ การติดตั้งใช้งาน EKM จำกัดเฉพาะเวิร์กสเปซ Enterprise และ Edu ที่มีตัวแทนบัญชี OpenAI ประจำเท่านั้น
การทำงานของการเข้ารหัส OpenAI EKM
ลำดับการทำงานระดับบน
เราสร้าง Data Encryption Key (DEK) สำหรับผู้ให้บริการคลาวด์ของคุณ
KMS คลาวด์ของคุณจะจัดการ Key Encryption Key (KEK) หลัก ซึ่งอาจจัดเก็บไว้ภายในคลาวด์ของคุณหรือภายนอกก็ได้ วิธีติดตั้งใช้งานขึ้นอยู่กับคุณ
เราขอให้คลาวด์ของคุณเข้ารหัส DEK เพื่อให้ได้ encrypted DEK (eDEK) หาก KEK ของคุณจัดเก็บไว้ภายนอก คลาวด์ของคุณก็จะเพียงทำการส่งต่อเพิ่มเติมไปยังที่จัดเก็บภายนอกของคุณ ในขั้นตอนที่ OpenAI ไม่สามารถมองเห็นรายละเอียดได้
การเข้ารหัส
เมื่อเข้ารหัส ข้อมูลของคุณจะถูกเข้ารหัสด้วย DEK และ eDEK จะถูกจัดเก็บเป็นข้อมูลเมตาในไฟล์

การถอดรหัส
เมื่อมีการถอดรหัส เราจะขอให้ KMS คลาวด์ของคุณถอดรหัส eDEK เป็น DEK แล้วเราจะถอดรหัสข้อมูลด้วย DEK

คำสำคัญ
Data Encryption Key (DEK) - คีย์ที่ใช้เข้ารหัสข้อมูลของคุณ
Encrypted Data Encryption Key (eDEK) - DEK ที่ถูกเข้ารหัส ซึ่งสร้างโดย KMS ของคุณ
Key Encryption Key (KEK) - คีย์หลักที่คุณจัดการ ซึ่งใช้เข้ารหัส DEK -> eDEK และถอดรหัส eDEK -> DEK คีย์นี้จะอยู่นอกระบบของ OpenAI เสมอ
ข้อกำหนดระดับสูงสำหรับการติดตั้งใช้งาน
ในระบบของผู้ให้บริการคลาวด์ของคุณ
สร้างคีย์ใหม่ใน KMS บนคลาวด์ของคุณ (Azure, AWS หรือ GCP)
สร้างนโยบายแบบกำหนดเองที่จำกัดสิทธิ์เฉพาะการเข้ารหัส/ถอดรหัสบน KMS
สร้างนโยบายความเชื่อถือ (AWS), ข้อมูลประจำตัวของเวิร์กโหลด (GCP) หรือโครงร่างสำคัญของบริการ (สำหรับ Azure) ให้ OpenAI
กำหนดบทบาทที่ใช้นโยบายแบบจำกัดให้ OpenAI เพื่อเข้าถึง KMS ของคุณ
ในแพลตฟอร์ม OpenAI
ChatGPT Enterprise
สร้างเวิร์กสเปซ ChatGPT แบบ sandbox สำหรับการทดสอบ
API
ในแดชบอร์ด OpenAI ของคุณ ให้สร้างโปรเจกต์ใหม่ที่จะใช้การเข้ารหัส
การทำงานเฉพาะผู้ให้บริการ
สำหรับ AWS OpenAI จะ:
เรียก AssumeRole พร้อม ExternalID
สำหรับ GCP OpenAI จะ:
เรียก endpoint STS ของคุณจากบัญชี GCP ของ OpenAI
ใช้ GCP access token เพื่อเรียก encrypt/decrypt บน KMS ของคุณ
สำหรับ Azure OpenAI จะ:
ขอ access token สำหรับ vault ของ Azure tenant ของคุณ
ใช้ access token นั้นเพื่อเรียก encrypt/decrypt บน Key Vault ของคุณ
ข้อมูลที่คุณต้องได้รับจาก OpenAI
การยืนยันตัวตน
คุณจะต้องรู้จัก federated identity token ของ OpenAI สำหรับ AWS และ GCP สำหรับ Azure คุณจะต้องรู้จัก application id ของ OpenAI สำหรับ app registration ของ OpenAI
สรุปพารามิเตอร์การยืนยันตัวตน
| OpenAI AWS principal | arn:aws:iam::790389265272:role/EnterpriseKeyManagement |
| ID บัญชีบริการ GCP ของ OpenAI | 105900137572174660365 |
| ID แอปพลิเคชัน Azure ของ OpenAI | 20a14814-5ab7-4612-a671-1382b412bf93 |
ข้อมูลที่จำเป็นระหว่างการติดตั้งใช้งานตามผู้ให้บริการระบบคลาวด์ของคุณ
สำหรับ AWS คุณต้องตั้งค่านโยบายความเชื่อถือที่รองรับข้อมูลต่อไปนี้:
สำหรับ GCP คุณต้องตั้งค่าข้อมูลประจำตัวของเวิร์กโหลดที่รองรับข้อมูลต่อไปนี้:
สำหรับ Azure คุณต้องสร้างโครงร่างสำคัญของบริการในผู้เช่า Azure ของคุณสำหรับการลงทะเบียนแอปของ OpenAI
สร้างรายการหนึ่งสำหรับรหัสไคลเอ็นต์ของแอปพลิเคชัน OpenAI: 20a14814-5ab7-4612-a671-1382b412bf9
คุณทำได้โดยส่งคำขอ POST ไปยัง endpoint https://graph.microsoft.com/v1.0/servicePrincipals
การให้สิทธิ์
คุณต้องสร้างนโยบายที่อนุญาตให้อัตลักษณ์ของ OpenAI เข้าถึง KMS ของคุณได้แบบจำกัด
| AWS | GCP | Azure |
| kms:Decryptkms:Encrypt | cloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncrypt | Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action |
อื่นๆ
ใน Azure สำหรับประเภทคีย์ (อัลกอริทึมการเข้ารหัสคีย์) ให้เลือก RSA ไม่ใช่ EC
ข้อมูลที่ OpenAI ต้องการจากคุณ
ทำตามคำแนะนำในเอกสารนี้เพื่อลงทะเบียน KMS ของคุณกับ OpenAI ต่อไปนี้คือสรุปพารามิเตอร์ที่คุณต้องระบุ
เกี่ยวกับการยืนยันตัวตน
AWS
GCP
Azure
รหัสผู้เช่า
| AWS | GCP | Azure | |
| เกี่ยวกับการยืนยันตัวตน | รหัสผู้เช่า | ||
| เกี่ยวกับ KMS | ARN ของ KMS - (ตัวอย่าง: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | รหัสโปรเจ็กต์ KMS (ตัวอย่าง: adjective-noun-12345) ชื่อพวงกุญแจ KMS ชื่อคีย์ KMS ตำแหน่งคีย์ KMS (ตัวอย่าง: us-east1) | URI ของห้องนิรภัย (ตัวอย่าง: https://your-vault-name.vault.azure.net/) ชื่อคีย์ |
หลังจากลงทะเบียน KMS กับ OpenAI แล้ว ให้ทำตามคำแนะนำในเอกสารต่อเพื่อเปิดใช้การกำหนดค่า EKM ในโปรเจ็กต์ API สร้างโปรเจ็กต์ OpenAI API ใหม่สำหรับใช้ทดสอบ
คู่มือการติดตั้งใช้งานสำหรับผู้ให้บริการแต่ละราย
โปรดดูลิงก์ที่เกี่ยวข้องด้านล่างสำหรับคำแนะนำทีละขั้นตอน โปรดทราบว่าเอกสารเหล่านี้มุ่งเน้นข้อกำหนดในการผสานการทำงานกับ OpenAI และไม่ได้จัดทำขึ้นเพื่อเป็นคู่มือที่ครอบคลุมสภาพแวดล้อมทั้งหมดของคุณ
ฟีเจอร์ที่ไม่รองรับเมื่อเปิดใช้ EKM
ฟีเจอร์ต่อไปนี้จะไม่สามารถใช้งานได้เมื่อเปิดใช้ EKM:
ฟีเจอร์ที่ยังไม่เปิดให้ใช้งานโดยทั่วไป รวมถึงฟีเจอร์ในรุ่นเบต้าหรืออัลฟา
