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

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

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

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

ภาพรวม

Enterprise Key Management (EKM) ช่วยให้ OpenAI เข้ารหัสข้อมูลโดยใช้มาสเตอร์คีย์ที่คุณควบคุม เอกสารนี้แสดงวิธีตั้งค่าบัญชี GCP ของคุณเพื่อให้ OpenAI มีสิทธิ์แบบจำกัดบน KMS ของคุณ

Diagram of OpenAI GCP EKM integration flow using STS token exchange and KMS encrypt or decrypt requests

ขั้นตอน

1. สร้างข้อมูลประจำตัวแบบรวมศูนย์สำหรับ OpenAI

OpenAI จะออก Token ข้อมูลประจำตัวจากบัญชี GCP ที่ OpenAI เป็นเจ้าของ ซึ่งมีลักษณะประมาณนี้

  • azp และ sub คือ ID บัญชีบริการของ OpenAI ใน GCP

  • aud คือ ID องค์กร OpenAI ของคุณ คุณยังสามารถเลือก audience อื่น เช่น ID โปรเจกต์ OpenAI ของคุณได้ โปรดดูคำแนะนำด้านล่าง

{
  "aud": "org-xxxx",
  "azp": "105900137572174660365",
  "exp": 1747876928,
  "iat": 1747873328,
  "iss": "https://accounts.google.com",
  "sub": "105900137572174660365"
}

ขั้นตอนนี้จะรับรู้ claims ที่สร้างโดย Token ข้อมูลประจำตัวนั้น และเปิดให้ GCP STS ของคุณออก Token การเข้าถึงเมื่อมีการส่ง Token ข้อมูลประจำตัวนั้น

  1. ไปที่ IAM และผู้ดูแลระบบ -> Workload Identity Federation แล้วคลิก สร้าง Pool

GCP IAM & Admin with Workload Identity Federation selected
  1. ในขั้นตอน สร้าง identity pool ให้ป้อนอะไรก็ได้สำหรับชื่อ Pool

  1. ในขั้นตอน เพิ่มผู้ให้บริการลงใน Pool:

  1. ในเลือกผู้ให้บริการ ให้เลือก OpenID Connect (OIDC)

  2. ป้อนอะไรก็ได้สำหรับชื่อผู้ให้บริการ

  3. ในส่วน ผู้ออก (URL) ให้ป้อน https://accounts.google.com

  4. ในส่วน Audiences

  1. เลือก Allowed audiences

  2. ป้อน audience ที่ OpenAI ควรระบุเมื่อเราส่ง Token ให้คุณ

  1. สำหรับ ChatGPT หรือ API: คุณสามารถใส่ ID องค์กร OpenAI API (org-xxx)

  2. สำหรับ API: คุณสามารถใส่ ID โปรเจกต์ API ที่เฉพาะเจาะจงเพื่อความละเอียดที่มากขึ้น

GCP Workload Identity Provider edit page with Allowed audiences selected and Audience 1 entered
  1. ในส่วน การแมปแอตทริบิวต์

  1. สำหรับ google.subject ให้ป้อน assertion.sub

Google Cloud attribute mapping with Google 1 google.subject mapped to OIDC 1 assertion.sub
  1. ในส่วน เงื่อนไขแอตทริบิวต์

  1. ตอนนี้คุณควรเห็น workload identity pool และ workload identity provider ของคุณแสดงอยู่ในหน้า https://console.cloud.google.com/iam-admin/workload-identity-pools

  1. ID ของ Workload identity pool

GCP Workload Identity Pools page highlighting the provider ID value needed for OpenAI EKM setup
  1. ID ของ Workload identity provider

GCP Workload Identity Provider edit page with the provider ID field highlighted

2. ตรวจสอบให้แน่ใจว่าเปิดใช้งาน KMS แล้ว

ไปที่ https://console.developers.google.com/apis/api/cloudkms.googleapis.com/overview เพื่อเปิดใช้งาน KMS คุณไม่จำเป็นต้องสร้าง KMS ในโปรเจกต์ GCP เดียวกับที่คุณรับรู้ข้อมูลประจำตัวแบบรวมศูนย์ของ OpenAI แต่หากโปรเจกต์ต่างกัน อย่างน้อยผลิตภัณฑ์ KMS ต้องถูกเปิดใช้งานในทั้งสองโปรเจกต์

3. สร้างคีย์ KMS ใหม่

  1. ไปที่ ความปลอดภัย -> การปกป้องข้อมูล > การจัดการคีย์

  2. ใต้แท็บ ภาพรวม ให้คลิก สร้างชุดคีย์

  1. เลือกชื่อใดก็ได้สำหรับชุดคีย์ของคุณ

  2. สำหรับวัตถุประสงค์และอัลกอริทึม ให้เลือก การเข้ารหัส/ถอดรหัสแบบสมมาตร

GCP Key Management Overview page with the Create Key Ring button highlighted
  1. เมื่อคุณสร้างชุดคีย์แล้ว ชุดคีย์นั้นควรปรากฏในแท็บ ชุดคีย์ คลิกชุดคีย์

  2. ในรายละเอียดชุดคีย์ ให้คลิก สร้างคีย์

  1. เลือกชื่อใดก็ได้สำหรับคีย์ของคุณ

4. สร้างบทบาทแบบจำกัดสำหรับการดำเนินการเข้ารหัส/ถอดรหัสบน KMS

  1. ไปที่ IAM และผู้ดูแลระบบ -> บทบาท -> สร้างบทบาท

  2. ป้อนชื่อและ ID ของบทบาทเป็นอะไรก็ได้

  3. คลิกเพิ่มสิทธิ์ แล้วเพิ่มรายการต่อไปนี้

  1. cloudkms.cryptoKeyVersions.useToDecrypt

  2. cloudkms.cryptoKeyVersions.useToEncrypt

5. กำหนดข้อมูลประจำตัวแบบรวมศูนย์ของ OpenAI ให้กับบทบาท KMS แบบจำกัดสำหรับการดำเนินการเข้ารหัส/ถอดรหัส

  1. ไปที่ ความปลอดภัย -> การปกป้องข้อมูล > การจัดการคีย์

  2. คลิกชื่อชุดคีย์ของคุณ แล้วคลิกชื่อคีย์ของคุณเพื่อไปยังหน้ารายละเอียดคีย์

  1. คลิกแท็บ สิทธิ์ แล้วคลิกปุ่ม ให้สิทธิ์เข้าถึง

Google Cloud KMS key details page with Permissions tab open and Grant Access highlighted
  1. กำหนดข้อมูลประจำตัวแบบรวมศูนย์ของ OpenAI ให้กับบทบาทที่กำหนดเองที่คุณสร้างไว้ก่อนหน้านี้

  1. ในส่วน เพิ่มผู้ใช้หลัก ให้ป้อน principal://iam.googleapis.com/projects/<YOUR_GCP_PROJECT_NUMBER>/locations/global/workloadIdentityPools/<YOUR_GCP_WORKLOAD_IDENTITY_POOL>/subject/105900137572174660365

  1. ในส่วน กำหนดบทบาท ให้เลือกบทบาทที่กำหนดเองที่คุณสร้างไว้ในขั้นตอนก่อนหน้าสำหรับสิทธิ์ EKM แบบจำกัด

6. ใช้ข้อจำกัดเพิ่มเติมใดๆ ให้สอดคล้องกับแนวปฏิบัติด้านความปลอดภัยของคุณเอง

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

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

ChatGPT Enterprise

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

  • "workload_identity_project_number": "123456789012",

  • "workload_identity_pool_id": "openai-azure",

  • "workload_identity_provider_id": "openai-ekm-service-role",

  • "kms_project_id": "adjective-noun-12345",

  • "kms_key_name": "openai-kms-key",

  • "kms_key_ring_name": "openai-kms-key-ring",

  • "kms_key_location": "us-east1"

  • ภูมิภาคที่มาสเตอร์คีย์ของระบบการจัดการคีย์ของคุณตั้งอยู่

เราจะเปิดใช้งาน EKM สำหรับองค์กร/เวิร์กสเปซ ChatGPT ของคุณ

API

ลงทะเบียนคีย์ภายนอกของคุณกับ OpenAI

ทำตามคำแนะนำในข้อมูลอ้างอิง API นี้ คีย์ภายนอกใน Management API

  • ขั้นแรก ลงทะเบียนคีย์ภายนอกของคุณที่ระดับองค์กร OpenAI ซึ่งจะสร้าง ID คีย์ภายนอก

  • ในขั้นตอนนี้ เราจะตรวจสอบการตั้งค่าของคุณบน GCP โดยตรวจสอบว่าเราสามารถตรวจสอบสิทธิ์กับ KMS ของคุณได้

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

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
   "type": "gcp",
   "name": "GCP EKM Config",
   "workload_identity_project_number": "123456789012",
   "workload_identity_pool_id": "openai-azure",
   "workload_identity_provider_id": "openai-ekm-service-role",
   "audience": <your org id or project id>,
   "kms_project_id": "adjective-noun-12345",
   "kms_key_name": "openai-kms-key",
   "kms_key_ring_name": "openai-kms-key-ring",
   "kms_key_location": "us-east1"
}'

จากนั้น สร้างโปรเจกต์ OpenAI ที่เชื่อมโยงกับคีย์ภายนอก หลังจากนี้ 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"

}'

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