Ringkasan
Manajemen Kunci Enterprise (EKM) memungkinkan OpenAI mengenkripsi data menggunakan kunci master yang Anda kendalikan. Dokumen ini menjelaskan cara menyiapkan akun AWS Anda untuk memberikan izin terbatas kepada OpenAI pada KMS Anda.

Langkah
1. Buat kunci KMS baru
Buka KMS -> Kunci yang dikelola pelanggan, lalu klik Buat Kunci.
Pilih algoritma enkripsi simetris.
Setelah kunci Anda dibuat, catat ARN-nya. Format yang didukung mencakup
arn:aws:kms:<region>:<account_number>:key/<uuid>,...:key/mrk-*, atau...:alias/<alias_name>.

2. Buatlah kebijakan khusus untuk akses terbatas ke kunci KMS
Buka IAM -> Kebijakan, lalu klik Buat Kebijakan.
Pada langkah Tentukan izin, pilih JSON dan masukkan yang berikut untuk memberikan tindakan akses KMS pada kebijakan tersebut. Pastikan Anda mengganti YOUR_KMS_ARN dengan ARN dari Kunci yang Anda buat.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowEncryptDecrypt",
"Effect": "Allow",
"Action": [
"kms:Decrypt",
"kms:Encrypt"
],
"Resource": <YOUR_KMS_ARN>
}
]
}3. Buat IAM Role agar dapat digunakan oleh OpenAI, lalu tetapkan ke kebijakan dengan akses terbatas ke KMS Anda
OpenAI akan memanggil AssumeRole dari akun AWS milik OpenAI. Langkah ini memungkinkan prinsipal AWS OpenAI mengambil peran terbatas untuk mengakses KMS Anda.
Buka IAM -> Peran, lalu klik Buat Peran.
Pada langkah Pilih entitas tepercaya, pilih Kebijakan kepercayaan khusus.

Selanjutnya, masukkan teks berikut ke dalam kebijakan kepercayaan kustom untuk mengizinkan akses ke principal AWS OpenAI.
Prinsipal tersebut adalah prinsipal AWS milik OpenAI:
arn:aws:iam::790389265272:role/EnterpriseKeyManagement.Tunjukkan ExternalId mana yang harus disampaikan OpenAI selama proses
AssumeRole.Untuk ChatGPT atau API, gunakan ID Organisasi (org-xxx) yang terkait dengan workspace Bapak/Ibu: https://platform.api.openai.org/settings/organization/general.
Untuk API, Anda dapat menggunakan ID proyek API tertentu untuk perincian yang lebih spesifik.
{
"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>,
]
}
}
}
]
}Kemudian, pada langkah Tambahkan izin, cari nama kebijakan dari kebijakan IAM yang Anda buat pada langkah sebelumnya. Klik kotak centang di samping nama kebijakan, lalu klik Selanjutnya.

Terakhir, di bagian Nama, tinjau, dan buat, pilih nama peran apa pun.
4. Terapkan batasan tambahan apa pun sesuai dengan praktik keamanan Anda sendiri
Di atas adalah informasi minimum yang diperlukan OpenAI untuk menyiapkan EKM. Anda bebas menerapkan kebijakan atau pembatasan kunci tambahan sesuai dengan praktik keamanan internal Anda sendiri, selama OpenAI dapat memanggil operasi enkripsi dan dekripsi pada KMS Anda. Saat Anda memanggil endpoint pendaftaran kunci dengan OpenAI yang dijelaskan di bawah ini, kami akan memvalidasi penyiapan Anda.
Setelah menyelesaikan langkah-langkah di atas
ChatGPT Enterprise
Silakan hubungi kontak OpenAI Anda dan bagikan hal berikut:
"role_arn": "arn:aws:iam::<YOUR_AWS_ACCOUNT_NUMBER>:role/<YOUR_ROLE>"Role ARN yang akan diasumsikan OpenAI di cloud Anda.
"kms_arn": "arn:aws:kms:<REGION>:<YOUR_AWS_ACCOUNT_NUMBER>:key/<UUID>"ARN Sistem Manajemen Kunci untuk kunci utama yang Anda kelola.
Kami akan mengaktifkan EKM untuk organisasi/workspace ChatGPT Anda.
API
Daftarkan kunci eksternal Anda dengan OpenAI
Ikuti petunjuk dalam referensi API ini: Kunci Eksternal di Management API.
Pertama, daftarkan kunci eksternal Anda di tingkat organisasi OpenAI, yang akan menghasilkan ID kunci eksternal.
Pada langkah ini, kami akan memvalidasi bahwa masukan Anda valid dan bahwa kami dapat mengautentikasi ke KMS Anda.
Langkah ini belum akan menambahkan EKM ke proyek OpenAI Anda.
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>
}'Lalu, buat proyek OpenAI yang terkait dengan kunci eksternal. Setelah ini, EKM diaktifkan pada proyek Anda. Isi badan respons dari panggilan API ini akan memberikan ID proyek (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"
}'