Přehled
Enterprise Key Management (EKM) umožňuje OpenAI šifrovat data pomocí hlavního klíče, který spravujete vy. Aby OpenAI mohlo volat operace šifrování/dešifrování ve vašem Key Vaultu, musíme získat přístup. Tento dokument ukazuje, jak nastavit váš účet Azure, aby OpenAI mohlo převzít roli s oprávněními Key Vaultu.

Kroky
1. Vytvořte ve svém účtu instanční objekt služby pro OpenAI
Získejte přístupový token
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID2. Vytvořte instanční objekt služby – appId v níže uvedeném požadavku je ID klienta aplikace OpenAI. Tím se vytvoří objekt se zobrazovaným názvem „EKM - OpenAI Azure“ – zapamatujte si ho pro další kroky.
Pokyny k integraci OpenAI / Azure EKM – Vytvoření instančního 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. Vytvořte vlastní roli pro omezený přístup ke KMS
Přejděte do Subscriptions -> Access Control (IAM)
V rozbalovací nabídce + Add vyberte Add custom role
Přejděte na kartu JSON, klikněte na Edit a přidejte následující
Libovolný název role – zapamatujte si zvolený název
Následující oprávnění v dataActions
Microsoft.KeyVault/vaults/keys/encrypt/action
Microsoft.KeyVault/vaults/keys/decrypt/action
Microsoft.KeyVault/vaults/keys/read

3. Vytvořte Key Vault + Key
Pokud jej ještě nemáte, vytvořte nový Key Vault ve stejném předplatném , kde jste právě vytvořili vlastní roli
V tomto Key Vaultu vytvořte nový klíč:
Přejděte do Key Vault -> Objects -> Keys a potom klikněte na Generate/Import
V části Options vyberte Generate

Jako šifrovací algoritmus vyberte RSA .
Můžete vybrat libovolnou velikost klíče RSA
Zadejte název klíče v následujícím formátu: <org-xxx>--<any_name>, kde org-xxx je ID vaší organizace OpenAI, které najdete na adrese https://platform.openai.com/settings/organization/general

Pokud nemůžete zobrazit nebo vytvořit klíč, ujistěte se, že máte roli Key Vault Administrator. Ta je potřeba, i když máte roli Owner. Pro přiřazení role:
Přejděte do Key Vault->Access Control (IAM)
Klikněte na Add-> Add role assignment

4. Vytvořte přiřazení role pro instanční objekt služby OpenAI + novou vlastní KMS + nový klíč
Přejděte do Key Vault -> Objects -> Keys a klikněte na řádek klíče, který jste vytvořili
Přejděte do Access control (IAM) pro klíč, na který jste právě klikli (nikoli pro váš Key Vault).
V rozbalovací nabídce + Add vyberte Add role assignment

Na kartě Role vyberte název vlastní role, kterou jste právě vytvořili.

Na kartě Members:
Klikněte na „+ Select members“
Do vyhledávacího pole zadejte „ekm -“ a poté by se měl načíst instanční objekt služby OpenAI, který jste vytvořili v kroku 1

5. Uplatněte případná další omezení v souladu se svými bezpečnostními postupy
Výše jsou uvedeny minimální požadované informace, které OpenAI potřebuje k nastavení EKM. Můžete použít další zásady klíčů nebo omezení v souladu se svými interními bezpečnostními postupy, pokud bude OpenAI schopno volat operace šifrování a dešifrování ve vašem KMS. Když zavoláte koncový bod registrace klíče u OpenAI, který je popsán níže, ověříme vaše nastavení.
Po dokončení výše uvedených kroků
ChatGPT Enterprise
Obraťte se prosím na svůj kontakt v OpenAI a sdílejte následující:
"tenant_id": "<YOUR_AZURE_TENANT_UUID>"
UUID vašeho tenantu Azure
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"
URI trezoru Azure obsahujícího hlavní klíč, který spravujete
"key_name": "<YOUR_KEY_NAME>"
Název hlavního klíče Azure Key Vault, který spravujete
Název klíče musí mít tvar <org-xxx>--<any_name>, kde org-xxx je ID vaší organizace OpenAI, které najdete na adrese https://platform.openai.com/settings/organization/general
Povolíme EKM pro vaši organizaci/pracovní prostor ChatGPT.
API
Zaregistrujte svůj externí klíč u OpenAI
Postupujte podle pokynů v této referenci API Externí klíče v Management API
Nejprve zaregistrujte svůj externí klíč na úrovni organizace OpenAI, čímž se vygeneruje ID externího klíče ve tvaru extkey_xxx
V tomto kroku ověříme, že je váš vstup platný a že se můžeme ověřit vůči vašemu KMS.
Tím se do vašeho projektu OpenAI zatím nepřidá EKM.
# Tím se vygeneruje ID externího klíče ve tvaru 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>"
}'Poté vytvořte projekt OpenAI přidružený k externímu klíči. Poté se ve vašem projektu aktivuje EKM.
Tělo odpovědi tohoto volání API vám poskytne ID projektu (proj_xxx)
Pokyny k integraci OpenAI / Azure EKM – Vytvoření projektu
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"
}'