ภาพรวม
Enterprise Key Management (EKM) ช่วยให้คุณเข้ารหัสเนื้อหาของลูกค้าที่ OpenAI โดยใช้คีย์ที่จัดการผ่านระบบจัดการคีย์ภายนอก (KMS)ของคุณเอง โดยพร้อมใช้งานทั้งสำหรับ ChatGPT Enterprise และ API
OpenAI รองรับการเข้ารหัสแบบ Bring Your Own Key (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)
สร้างนโยบายแบบกำหนดเองที่มีขอบเขตจำกัด พร้อมสิทธิ์ Encrypt/Decrypt บน KMS
สร้าง trust policy (AWS), workload identity (GCP) หรือ service principal (สำหรับ 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 คุณต้องตั้งค่า trust policy ที่รู้จัก:
principal ของ OpenAI (หมายเลขบัญชี + บทบาท)
ExternalID ที่เป็นรหัสโปรเจกต์ OpenAI ของคุณ
สำหรับ GCP คุณต้องตั้งค่า workload identity ที่รู้จัก:
ID บัญชีบริการของ OpenAI
audience ที่เป็นรหัสโปรเจกต์ OpenAI ของคุณ
สำหรับ Azure คุณต้องสร้าง service principal ใน Azure tenant ของคุณสำหรับ app registration ของ OpenAI
สร้างรายการสำหรับ application client id ของ OpenAI: 20a14814-5ab7-4612-a671-1382b412bf9
คุณสามารถทำได้โดยส่งคำขอไปยัง 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
IAM Role ARN - บทบาทที่ OpenAI จะใช้ assume (ตัวอย่าง: arn:aws:iam::123456789:role/role-name)
ExternalID - ID องค์กร OpenAI ของคุณ
GCP
Workload Identity Project Number (ตัวอย่าง: 123456789)
Workload Identity Pool ID
Workload Identity Provider ID
Allowed audience: ID องค์กร OpenAI ของคุณ
Azure
Tenant ID
| AWS | GCP | Azure | |
| ข้อมูลที่เกี่ยวข้องกับการยืนยันตัวตน | Tenant ID | ||
| ข้อมูลที่เกี่ยวข้องกับ KMS | KMS ARN - (ตัวอย่าง: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID) | KMS Project ID (ตัวอย่าง: adjective-noun-12345)KMS key ring nameKMS key nameKMS key location (ตัวอย่าง: us-east1) | Vault URI (ตัวอย่าง: https://your-vault-name.vault.azure.net/)Key Name |
หลังจากที่คุณลงทะเบียน KMS ของคุณกับ OpenAI แล้ว ให้ทำตามคำแนะนำในเอกสารต่อเพื่อเปิดใช้งานการกำหนดค่า EKM ของคุณบนโปรเจกต์ API สร้างโปรเจกต์ OpenAI API ใหม่ สำหรับการทดสอบ
คู่มือการติดตั้งใช้งานเฉพาะผู้ให้บริการ
สำหรับคำแนะนำแบบทีละขั้นตอน โปรดดูลิงก์ที่เกี่ยวข้องด้านล่าง โปรดทราบว่าเนื้อหาเหล่านี้มุ่งเน้นที่ข้อกำหนดในการผสานการทำงานกับ OpenAI และไม่ได้มีไว้เพื่อเป็นคู่มือแบบครอบคลุมสำหรับสภาพแวดล้อมทั้งหมดของคุณ
ฟีเจอร์ที่ไม่รองรับเมื่อเปิดใช้ EKM
ในการเปิดตัวระยะแรกนี้ ฟีเจอร์ต่อไปนี้จะไม่พร้อมใช้งานหากเปิดใช้ EKM:
แอปที่มีการซิงก์
ฟีเจอร์ที่ยังไม่เปิดให้ใช้งานทั่วไป (เช่น สิ่งที่ยังอยู่ใน beta/alpha)
