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

ภาพรวม OpenAI Enterprise Key Management (EKM)

เรียนรู้วิธีการทำงานของ EKM ผู้ให้บริการที่รองรับ และจุดเริ่มต้นใช้งาน

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

ภาพรวม

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

ลำดับการทำงานระดับบน

  1. เราสร้าง Data Encryption Key (DEK) สำหรับผู้ให้บริการคลาวด์ของคุณ

  2. KMS คลาวด์ของคุณจะจัดการ Key Encryption Key (KEK) หลัก ซึ่งอาจจัดเก็บไว้ภายในคลาวด์ของคุณหรือภายนอกก็ได้ วิธีติดตั้งใช้งานขึ้นอยู่กับคุณ

  3. เราขอให้คลาวด์ของคุณเข้ารหัส DEK เพื่อให้ได้ encrypted DEK (eDEK) หาก KEK ของคุณจัดเก็บไว้ภายนอก คลาวด์ของคุณก็จะเพียงทำการส่งต่อเพิ่มเติมไปยังที่จัดเก็บภายนอกของคุณ ในขั้นตอนที่ OpenAI ไม่สามารถมองเห็นรายละเอียดได้

การเข้ารหัส

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

EKM encryption flow where OpenAI requests a DEK from your KMS, encrypts data, and stores encrypted data with eDEK

การถอดรหัส

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

EKM decryption flow where OpenAI requests a DEK from your KMS to decrypt encrypted data for download

คำสำคัญ

  • Data Encryption Key (DEK) - คีย์ที่ใช้เข้ารหัสข้อมูลของคุณ

  • Encrypted Data Encryption Key (eDEK) - DEK ที่ถูกเข้ารหัส ซึ่งสร้างโดย KMS ของคุณ

  • Key Encryption Key (KEK) - คีย์หลักที่คุณจัดการ ซึ่งใช้เข้ารหัส DEK -> eDEK และถอดรหัส eDEK -> DEK คีย์นี้จะอยู่นอกระบบของ OpenAI เสมอ

ข้อกำหนดระดับสูงสำหรับการติดตั้งใช้งาน

ในผู้ให้บริการคลาวด์ของคุณ

  1. สร้างคีย์ใหม่ในKMSบนคลาวด์ของคุณ (Azure, AWS หรือ GCP)

  2. สร้างนโยบายแบบกำหนดเองที่มีขอบเขตจำกัด พร้อมสิทธิ์ Encrypt/Decrypt บน KMS

  3. สร้าง trust policy (AWS), workload identity (GCP) หรือ service principal (สำหรับ Azure) ให้กับ OpenAI

  4. กำหนดบทบาทให้ 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 principalarn:aws:iam::790389265272:role/EnterpriseKeyManagement
ID บัญชีบริการ GCP ของ OpenAI105900137572174660365
ID แอปพลิเคชัน Azure ของ OpenAI20a14814-5ab7-4612-a671-1382b412bf93

ข้อมูลที่จำเป็นระหว่างการใช้งานจริงตามผู้ให้บริการคลาวด์ของคุณ

  • สำหรับ AWS คุณต้องตั้งค่า นโยบายความเชื่อถือ ที่รู้จัก:

    • principal ของ OpenAI (หมายเลขบัญชี + บทบาท)

    • ExternalID ที่เป็นรหัสโปรเจ็กต์ OpenAI ของคุณ

  • สำหรับ GCP คุณต้องตั้งค่า workload identity ที่รู้จัก:

    • รหัสบัญชีบริการของ OpenAI

    • audience ที่เป็นรหัสโปรเจ็กต์ OpenAI ของคุณ

  • สำหรับ Azure คุณต้องสร้าง service principal ใน tenant Azure ของคุณสำหรับการลงทะเบียนแอปของ OpenAI

    • สร้างรายการหนึ่งสำหรับ รหัสไคลเอ็นต์ของแอปพลิเคชัน ของ OpenAI: 20a14814-5ab7-4612-a671-1382b412bf9

    • คุณอาจทำได้โดยโพสต์ไปยัง endpoint https://graph.microsoft.com/v1.0/servicePrincipals

การกำหนดสิทธิ์

คุณจะต้องสร้างนโยบายที่อนุญาตให้ตัวตนของ OpenAI เข้าถึง KMS ของคุณได้อย่างจำกัด

AWSGCPAzure
kms:Decryptkms:Encryptcloudkms.cryptoKeyVersions.useToDecryptcloudkms.cryptoKeyVersions.useToEncryptMicrosoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/action

อื่นๆ

ใน Azure สำหรับประเภทคีย์ (อัลกอริทึมการเข้ารหัสคีย์) ให้เลือก RSA ไม่ใช่ EC

ข้อมูลที่ OpenAI ต้องการจากคุณ

ทำตามคำแนะนำในเอกสารนี้เพื่อลงทะเบียน KMS ของคุณกับ OpenAI ต่อไปนี้คือสรุปพารามิเตอร์ที่คุณจะต้องระบุ

  1. เกี่ยวกับการยืนยันตัวตน

    1. AWS

      1. IAM Role ARN - บทบาทที่ให้ OpenAI สวมสิทธิ์ (ตัวอย่าง: arn:aws:iam::123456789:role/role-name)

      2. ExternalID - รหัสองค์กร OpenAI ของคุณ

    2. GCP

      1. หมายเลขโปรเจ็กต์ Workload Identity (ตัวอย่าง: 123456789)

      2. รหัสพูล Workload Identity

      3. รหัสผู้ให้บริการ Workload Identity

      4. กลุ่มเป้าหมายที่อนุญาต: รหัสองค์กร OpenAI ของคุณ

    3. Azure

      1. Tenant ID

AWSGCPAzure
เกี่ยวกับการยืนยันตัวตน Tenant ID
เกี่ยวกับ KMSKMS ARN - (ตัวอย่าง: arn:aws:kms:REGION:ACCOUNT_NUMBER:key:KEY_UUID)KMS Project ID (ตัวอย่าง: adjective-noun-12345)ชื่อ key ring ของ KMSชื่อคีย์ KMSตำแหน่งคีย์ KMS (ตัวอย่าง: us-east1)Vault URI (ตัวอย่าง: https://your-vault-name.vault.azure.net/)ชื่อคีย์

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

คู่มือการใช้งานเฉพาะผู้ให้บริการ

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

ฟีเจอร์ที่ไม่รองรับเมื่อเปิดใช้ EKM

ในการเปิดตัวระยะแรกนี้ ฟีเจอร์ต่อไปนี้จะไม่พร้อมใช้งานหากเปิดใช้ EKM:

  • แอปที่มีการซิงก์

  • ฟีเจอร์ที่ยังไม่เปิดให้ใช้งานทั่วไป (เช่น สิ่งที่ยังอยู่ใน beta/alpha)

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