OpenAI

Instruksi Integrasi OpenAI / Azure EKM

Instruksi langkah demi langkah untuk mengonfigurasi Azure dan mengaktifkan EKM

Diperbarui: 13 days ago

Ringkasan

Enterprise Key Management (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.

Azure EKM flow where OpenAI EKM uses Microsoft Entra ID to access your Key Vault and master KEK

Langkah

1. Buat entitas layanan untuk OpenAI di akun Anda

  1. Dapatkan token akses

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID

2. Buat prinsipal layanan - 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

  1. Go ke Langganan -> Kontrol Akses (IAM)

  2. Di bawah menu tarik-turun + Add , pilih Tambahkan peran kustom

  3. Go ke tab JSON, klik Edit, dan tambahkan yang berikut

    1. Nama peran apa pun - ingat nama yang Anda pilih

    2. Izin berikut dalam dataActions

      1. Microsoft.KeyVault/vaults/keys/encrypt/action

      2. Microsoft.KeyVault/vaults/keys/decrypt/action

      3. Microsoft.KeyVault/vaults/keys/read

        OpenAI / Azure EKM Integration Instructions Custom Role

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, buat Kunci baru:

  1. Go Key Vault -> Objek -> Kunci, lalu klik Buat/Impor

  2. Di bawah Opsi, pilih Hasilkan

    Azure Key Vault Keys page with Generate/Import highlighted to add a key
  3. Silakan pilih RSA sebagai algoritma enkripsi.

  4. Anda dapat memilih ukuran kunci RSA apa pun

  5. Berikan nama kunci dengan format berikut: <org-xxx>--<any_name>, di mana org-xxx adalah ID organisasi OpenAI Anda yang dapat ditemukan di https://platform.openai.com/settings/organization/general.

    Azure Key Vault key generation form with RSA selected and key name org-abcdefg--test-keyvault-key

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:

  1. Buka Key Vault->Kontrol Akses (IAM)

  2. Klik pada Tambahkan-> Tetapkan peran

    Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment

4. Buat penetapan peran untuk prinsipal layanan OpenAI + KMS kustom baru + kunci baru

  1. Buka Key Vault -> Objek -> Kunci kemudian klik pada baris untuk kunci yang Anda buat

  2. Go ke Kontrol akses (IAM) untuk kunci yang baru saja Anda klik (bukan brankas kunci Anda).

  3. Di bawah menu tarik-turun + Tambahkan, pilih Tambahkan penetapan peran

    Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  4. Di tab Peran, pilih nama peran kustom yang baru saja Anda buat.

    Azure role list filtered for openai- with the openai-azure-kms-role entry
  5. Pada tab Anggota:

    1. Klik pada “+ Pilih anggota”

    2. Ketik “ekm -” di bilah pencarian, lalu prinsipal layanan OpenAI yang Anda buat di Langkah 1 akan dimuat

      Azure role assignment Members step with EKM - OpenAI Azure Application selected as a member

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

    • UUID tenant Azure Anda

  • "vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"

    • URI vault Azure yang berisi kunci master yang Anda kelola

  • "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.

  • 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 Anda ID proyek (proj_xxx)

    Instruksi Integrasi OpenAI/Azure EKM - Membuat Proyek

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

Apakah artikel ini membantu?