Prehľad
Enterprise Key Management (EKM) umožňuje OpenAI šifrovať údaje pomocou hlavného kľúča, ktorý ovládate. Aby OpenAI mohlo volať operácie šifrovania/dešifrovania vo vašom Key Vault, budeme potrebovať udelený prístup. Tento dokument ukazuje, ako nastaviť konto Azure, aby OpenAI mohlo prevziať rolu s povoleniami pre Key Vault.

Kroky
1. Vytvorte vo svojom konte objekt služby pre OpenAI
Získajte prístupový token
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_IDVytvorte objekt služby – hodnota appId v žiadosti nižšie je ID klienta aplikácie OpenAI. Tým sa vytvorí objekt s zobrazovaným názvom „EKM - OpenAI Azure“ – zapamätajte si ho pre ďalšie kroky.
Pokyny na integráciu OpenAI / Azure EKM – vytvorenie objektu služby
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. Vytvorte vlastnú rolu pre obmedzený prístup ku KMS
Prejdite na Predplatné -> Riadenie prístupu (IAM)
V rozbaľovacej ponuke + Pridať vyberte Pridať vlastnú rolu
Prejdite na kartu JSON, kliknite na Upraviť a pridajte nasledujúce:
Ľubovoľný názov roly – zapamätajte si vybratý názov
Nasledujúce povolenia v dataActions:
Microsoft.KeyVault/vaults/keys/encrypt/actionMicrosoft.KeyVault/vaults/keys/decrypt/actionMicrosoft.KeyVault/vaults/keys/read

3. Vytvorte Key Vault + kľúč
Ak ho ešte nemáte, vytvorte nový Key Vault v rovnakom predplatnom, v ktorom ste práve vytvorili vlastnú rolu.
V tomto Key Vault vytvorte nový kľúč:
Prejdite na Key Vault -> Objekty -> Kľúče a potom kliknite na Generovať/importovať
V časti Možnosti vyberte Generovať

Ako šifrovací algoritmus vyberte RSA.
Môžete vybrať ľubovoľnú veľkosť kľúča RSA
Zadajte názov kľúča v nasledujúcom formáte:
<org-xxx>--<any_name>, kdeorg-xxxje ID vašej organizácie OpenAI, ktoré nájdete na https://platform.openai.com/settings/organization/general

Ak nemôžete zobraziť alebo vytvoriť kľúč, uistite sa, že máte rolu Key Vault Administrator. Je to potrebné aj vtedy, ak máte rolu Vlastník. Ak chcete rolu priradiť:
Prejdite na Key Vault -> Riadenie prístupu (IAM)
Kliknite na Pridať -> Pridať priradenie roly

4. Vytvorte priradenie roly pre objekt služby OpenAI + nový vlastný KMS + nový kľúč
Prejdite na Key Vault -> Objekty -> Kľúče a potom kliknite na riadok kľúča, ktorý ste vytvorili
Prejdite na Riadenie prístupu (IAM) pre kľúč, na ktorý ste práve klikli (nie pre svoj trezor kľúčov).
V rozbaľovacej ponuke + Pridať vyberte Pridať priradenie roly

Na karte Rola vyberte názov vlastnej roly, ktorú ste práve vytvorili.

Na karte Členovia:
Kliknite na „+ Vybrať členov“
Do vyhľadávacieho poľa zadajte „ekm -“; potom by sa mal načítať objekt služby OpenAI, ktorý ste vytvorili v 1. kroku

5. Uplatnite ďalšie obmedzenia v súlade s vlastnými bezpečnostnými postupmi
Vyššie sú uvedené minimálne požadované informácie, ktoré OpenAI potrebuje na nastavenie EKM. Môžete uplatniť ďalšie politiky kľúčov alebo obmedzenia v súlade s vlastnými internými bezpečnostnými postupmi, pokiaľ OpenAI dokáže volať operácie šifrovania a dešifrovania vo vašom KMS. Keď zavoláte koncový bod registrácie kľúča v OpenAI opísaný nižšie, overíme vaše nastavenie.
Po dokončení vyššie uvedených krokov
ChatGPT Enterprise
Obráťte sa na svoj kontakt v OpenAI a zdieľajte nasledujúce informácie:
"tenant_id": "<YOUR_AZURE_TENANT_UUID>"
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"
"key_name": "<YOUR_KEY_NAME>"
Názov hlavného kľúča Azure Key Vault, ktorý spravujete
Názov kľúča musí mať tvar <org-xxx>--<any_name>, kde org-xxx je ID vašej organizácie OpenAI, ktoré nájdete na https://platform.openai.com/settings/organization/general
Povolíme EKM pre vašu organizáciu/pracovný priestor ChatGPT.
API
Zaregistrujte svoj externý kľúč v OpenAI
Postupujte podľa pokynov v tejto referenčnej príručke API Externé kľúče v Management API
Najprv zaregistrujte svoj externý kľúč na úrovni organizácie OpenAI, čím sa vygeneruje ID externého kľúča v tvare extkey_xxx
V tomto kroku overíme, či je váš vstup platný a či sa môžeme autentifikovať voči vášmu KMS.
Tým sa EKM ešte nepridá do vášho projektu OpenAI.
# This generates an external key ID of the form 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>"
}'Potom vytvorte projekt OpenAI priradený k externému kľúču. Potom sa vo vašom projekte aktivuje EKM.
Telo odpovede tohto volania API vám poskytne ID projektu (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"
}'