Ringkasan
Manajemen Kunci Enterprise (EKM) memungkinkan OpenAI mengenkripsi data menggunakan kunci master yang Anda kendalikan. Agar OpenAI dapat memanggil operasi encrypt/decrypt pada Key Vault Anda, kami perlu diberi akses. Dokumen ini menunjukkan cara menyiapkan akun Azure Anda agar OpenAI dapat mengasumsikan peran dengan izin Key Vault.

Langkah
1. Buat entitas layanan untuk OpenAI di akun Anda
Dapatkan token akses
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_IDBuat service principal - appId dalam permintaan di bawah ini adalah ID klien aplikasi OpenAI. Ini akan membuat prinsipal dengan nama tampilan “EKM - OpenAI Azure” - ingat ini untuk langkah-langkah berikutnya.
Petunjuk Integrasi OpenAI / Azure EKM - Membuat prinsipal layanan
curl -X POST https://graph.microsoft.com/v1.0/servicePrincipals \
-H "Authorization: Bearer $TOKEN_FROM_ABOVE" \
-H "Content-Type: application/json" \
–d '{"appId": "20a14814-5ab7-4612-a671-1382b412bf93"}'2. Buat peran kustom untuk akses KMS terbatas
Go ke Langganan -> Kontrol Akses (IAM)
Di bawah menu tarik-turun + Tambahkan, pilih Tambahkan peran kustom
Buka tab JSON, klik Edit, dan tambahkan hal berikut:
Nama peran apa pun - ingat nama yang Anda pilih
Izin berikut dalam dataActions:
Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/actionMicrosoft.KeyVault/vaults/keys/read

3. Buat Key Vault + Kunci
Jika Anda belum memilikinya, buat Key Vault baru di langganan yang sama tempat Anda baru saja membuat peran kustom.
Di Key Vault tersebut, buatlah Kunci baru:
Go Key Vault -> Objek -> Kunci, lalu klik Buat/Impor
Di bawah Opsi, pilih Hasilkan

Silakan pilih RSA sebagai algoritma enkripsi.
Anda dapat memilih ukuran kunci RSA apa pun
Berikan nama kunci dengan format berikut:
<org-xxx>--<any_name>, di manaorg-xxxadalah ID organisasi OpenAI Anda yang dapat Anda temukan di https://platform.openai.com/settings/organization/general

Jika Anda tidak dapat melihat atau membuat kunci, pastikan bahwa Anda memiliki peran Administrator Key Vault. Ini diperlukan meskipun Anda memiliki peran Owner. Untuk menetapkan peran:
Buka Key Vault->Kontrol Akses (IAM)
Klik Tambahkan -> Tambahkan penetapan peran

4. Buat penetapan peran untuk prinsipal layanan OpenAI + KMS kustom baru + kunci baru
Buka Key Vault -> Objek -> Kunci kemudian klik pada baris untuk kunci yang Anda buat
Buka Kontrol akses (IAM) untuk kunci yang baru saja Anda klik (bukan key vault Anda).
Di bawah menu tarik-turun + Tambahkan, pilih Tambahkan penetapan peran

Di tab Peran, pilih nama peran kustom yang baru saja Anda buat.

Pada tab Anggota:
Klik pada “+ Pilih anggota”
Ketik “ekm -” di bilah pencarian, lalu service principal OpenAI yang Anda buat di Langkah 1 akan dimuat

5. Terapkan batasan tambahan apa pun sesuai dengan praktik keamanan Anda
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:
"tenant_id": "<YOUR_AZURE_TENANT_UUID>"
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"
"key_name": "<YOUR_KEY_NAME>"
Nama kunci master Key Vault Azure yang Anda kelola
Nama kunci harus berbentuk <org-xxx>--<any_name>, di mana org-xxx adalah ID organisasi OpenAI Anda yang dapat Anda temukan di https://platform.openai.com/settings/organization/general.
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 dengan format extkey_xxx
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.
# Ini menghasilkan ID kunci eksternal dalam bentuk extkey_xxx
curl -X POST \
-H "Content-type: application/json" \
-H "Authorization: Bearer $TOKEN" \
"https://api.openai.com/v1/organization/external_keys" \
-d '{
"type": "azure",
"name": "<ANY_FRIENDLY_NAME>",
"tenant_id": "<YOUR_AZURE_TENANT_UUID>",
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/",
"key_name": "<YOUR_KEY_NAME>"
}'Lalu, buat proyek OpenAI yang terkait dengan kunci eksternal. Setelah ini, EKM diaktifkan pada proyek Anda.
Isi 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": "Beberapa Proyek",
"external_key_id": "extkey_xxxx"
}'