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

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

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

อัปเดตล่าสุด: 19 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 คุณต้องตั้งค่า 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 ของคุณได้อย่างจำกัด

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 จะใช้ assume (ตัวอย่าง: arn:aws:iam::123456789:role/role-name)

      2. ExternalID - ID องค์กร OpenAI ของคุณ

    2. GCP

      1. Workload Identity Project Number (ตัวอย่าง: 123456789)

      2. Workload Identity Pool ID

      3. Workload Identity Provider ID

      4. Allowed audience: ID องค์กร 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)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)

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