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

การกำหนดค่า EKM กับ OpenAI และ AWS

เรียนรู้วิธีจัดเตรียม AWS และเปิดใช้งานการจัดการคีย์ระดับองค์กร (EKM)

อัปเดตล่าสุด: yesterday

ภาพรวม

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

AWS EKM integration flow between OpenAI EKM Service, your STS, your KMS, and your master KEK

ขั้นตอน

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

  1. ไปที่ KMS > คีย์ที่ลูกค้าจัดการ แล้วเลือก สร้างคีย์

  2. เลือกอัลกอริทึมการเข้ารหัสแบบสมมาตร

  3. หลังจากสร้างคีย์แล้ว ให้จดค่า ARN ของคีย์ไว้ รูปแบบที่รองรับ ได้แก่ arn:aws:kms:<region>:<account_number>:key/<uuid>, ...:key/mrk-* หรือ ...:alias/<alias_name>

AWS KMS customer managed key details page with key ID and ARN for test-kms

2. สร้างนโยบายแบบกำหนดเองเพื่อจำกัดสิทธิ์การเข้าถึงคีย์ KMS

  1. ไปที่ IAM > นโยบาย แล้วเลือก สร้างนโยบาย

  2. ในขั้นตอน ระบุสิทธิ์ ให้เลือก JSON แล้วป้อนข้อมูลต่อไปนี้เพื่อให้นโยบายอนุญาตการดำเนินการเข้าถึง KMS อย่าลืมแทนที่ YOUR_KMS_ARN ด้วย ARN ของคีย์ที่คุณสร้าง

AWS IAM Create policy page with Specify permissions open and the JSON policy editor selected
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEncryptDecrypt",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt"
],
"Resource": "<YOUR_KMS_ARN>"
}
]
}

3. สร้างบทบาท IAM ให้ OpenAI สวมบทบาท และแนบนโยบายที่จำกัดสิทธิ์การเข้าถึง KMS ของคุณให้กับบทบาทนี้

OpenAI จะเรียก AssumeRole จากบัญชี AWS ที่ OpenAI เป็นเจ้าของ ขั้นตอนนี้ช่วยให้ตัวตน AWS ของ OpenAI สวมบทบาทที่มีสิทธิ์จำกัดเพื่อเข้าถึง KMS ของคุณได้

  1. ไปที่ IAM > บทบาท แล้วเลือก สร้างบทบาท

  2. ในขั้นตอน เลือกเอนทิตีที่เชื่อถือได้ ให้เลือก นโยบายความเชื่อถือแบบกำหนดเอง

AWS IAM Select trusted entity screen with Custom trust policy selected

จากนั้น ป้อนข้อมูลต่อไปนี้ในนโยบายความเชื่อถือแบบกำหนดเอง เพื่ออนุญาตให้ตัวตน AWS ของ OpenAI เข้าถึงได้

  • ตัวตนดังกล่าวคือตัวตน AWS ของ OpenAI: arn:aws:iam::790389265272:role/EnterpriseKeyManagement

  • ระบุค่า ExternalId ที่ OpenAI ควรส่งระหว่างกระบวนการ AssumeRole

    • สำหรับ ChatGPT หรือ API ให้ใช้รหัสองค์กร (org-xxx) ที่เชื่อมโยงกับเวิร์กสเปซของคุณ โดยดูได้ที่การตั้งค่าองค์กร

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

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::790389265272:role/EnterpriseKeyManagement"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": [
"<YOUR_OPENAI_ORGANIZATION_ID>"
]
}
}
}
]
}

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

AWS IAM Add permissions page filtered to customer managed KMS policies with test-allow-kms-access selected

สุดท้าย ในส่วน ตั้งชื่อ ตรวจสอบ และสร้าง ให้ตั้งชื่อบทบาทตามต้องการ

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

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

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

ChatGPT Enterprise

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

  • "role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>"

    • Role ARN ที่ OpenAI จะรับบทบาทในคลาวด์ของคุณ

  • "kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"

    • ARN ของ Key Management System สำหรับคีย์หลักที่คุณจัดการ

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

API

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

ทำตามคำแนะนำในเอกสารอ้างอิง API นี้: คีย์ภายนอกใน API การจัดการ

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

  2. ในขั้นตอนนี้ เราจะตรวจสอบว่าข้อมูลที่คุณป้อนถูกต้อง และเราสามารถยืนยันตัวตนกับ KMS ของคุณได้

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

curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "aws",
"name": "AWS EKM Config",
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>",
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>",
"external_id": "<your org id or project id>"
}'

จากนั้น สร้างโปรเจกต์ OpenAI ที่เชื่อมโยงกับคีย์ภายนอก หลังจากนี้ EKM จะเปิดใช้งานบนโปรเจกต์ของคุณ เนื้อหาการตอบกลับของการเรียก API นี้จะให้ ID โปรเจกต์ (proj_xxx) แก่คุณ

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"
}'

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