Overzicht
Enterprise Key Management (EKM) stelt OpenAI in staat gegevens te versleutelen met een hoofdsleutel die u beheert. Om OpenAI encryptie-/decryptiebewerkingen op uw Key Vault te laten uitvoeren, moeten we toegang krijgen. Dit document laat zien hoe u uw Azure-account instelt zodat OpenAI een rol met Key Vault-machtigingen kan aannemen.

Stappen
1. Maak in uw account een service-principal voor OpenAI aan
Haal een toegangstoken op
az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID2. Maak de service-principal aan - de appId in de onderstaande aanvraag is de client-id van de OpenAI-applicatie. Hierdoor wordt een principal aangemaakt met de weergavenaam “EKM - OpenAI Azure” - onthoud deze voor latere stappen.
OpenAI / Azure EKM-integratie-instructies - Service-principal maken
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. Maak een aangepaste rol voor beperkte KMS-toegang
Ga naar Subscriptions -> Access Control (IAM)
Selecteer onder de vervolgkeuzelijst + Add Add custom role
Ga naar het tabblad JSON, klik op Edit en voeg het volgende toe
Een willekeurige rolnaam - onthoud de naam die u hebt gekozen
De volgende machtigingen in dataActions
Microsoft.KeyVault/vaults/keys/encrypt/action
Microsoft.KeyVault/vaults/keys/decrypt/action
Microsoft.KeyVault/vaults/keys/read

3. Maak een Key Vault + Key
Als u er nog geen hebt, maak dan een nieuwe Key Vault aan in hetzelfde subscription waarin u zojuist uw aangepaste rol hebt gemaakt
Maak in die Key Vault een nieuwe sleutel aan:
Ga naar Key Vault -> Objects -> Keys en klik vervolgens op Generate/Import
Selecteer onder Options Generate

Selecteer RSA als encryptiealgoritme.
U kunt elke RSA-sleutelgrootte kiezen
Geef een sleutelnaam op met de volgende indeling: <org-xxx>--<any_name> waarbij org-xxx uw OpenAI-organisatie-ID is, die u kunt vinden op https://platform.openai.com/settings/organization/general

Als u een sleutel niet kunt bekijken of maken, controleer dan of u de rol Key Vault Administrator hebt. Dit is nodig, zelfs als u de rol Owner hebt. Om de rol toegewezen te krijgen:
Ga naar Key Vault->Access Control (IAM)
Klik op Add-> Add role assignment

4. Maak een roltoewijzing voor de OpenAI-service-principal + nieuwe aangepaste KMS + nieuwe sleutel
Ga naar Key Vault -> Objects -> Keys en klik vervolgens op de rij van de sleutel die u hebt gemaakt
Ga naar Access control (IAM) voor de sleutel waarop u zojuist hebt geklikt (niet uw key vault).
Selecteer onder de vervolgkeuzelijst + Add Add role assignment

Selecteer op het tabblad Role de naam van de aangepaste rol die u zojuist hebt gemaakt.

Op het tabblad Members:
Klik op “+ Select members”
Typ “ekm -” in de zoekbalk; vervolgens zou de OpenAI-service-principal die u in stap 1 hebt gemaakt moeten worden geladen

5. Pas eventuele extra beperkingen toe in lijn met uw eigen beveiligingspraktijken
Hierboven staat de minimaal vereiste informatie die OpenAI nodig heeft om EKM in te stellen. U kunt naar eigen inzicht extra sleutelbeleid of beperkingen toepassen in lijn met uw eigen interne beveiligingspraktijken, zolang OpenAI encryptie- en decryptiebewerkingen op uw KMS kan uitvoeren. Wanneer u het hieronder beschreven endpoint voor sleutelregistratie bij OpenAI aanroept, zullen we uw configuratie valideren.
Na het voltooien van de bovenstaande stappen
ChatGPT Enterprise
Neem contact op met uw OpenAI-contactpersoon en deel het volgende:
"tenant_id": "<YOUR_AZURE_TENANT_UUID>"
Uw Azure-tenant-UUID
"vault_uri": "https://<YOUR_KEYVAULT_NAME>.vault.azure.net/"
De URI van de Azure-vault die de hoofdsleutel bevat die u beheert
"key_name": "<YOUR_KEY_NAME>"
De naam van de Azure Key Vault-hoofdsleutel die u beheert
De sleutelnaam moet de vorm <org-xxx>--<any_name> hebben, waarbij org-xxx uw OpenAI-organisatie-ID is, die u kunt vinden op https://platform.openai.com/settings/organization/general
We schakelen EKM in voor uw ChatGPT-organisatie/werkruimte.
API
Registreer uw externe sleutel bij OpenAI
Volg de instructies in deze API-referentie Externe sleutels in de Management API
Registreer eerst uw externe sleutel op het niveau van de OpenAI-organisatie; hierdoor wordt een externe sleutel-ID in de vorm extkey_xxx gegenereerd
In deze stap valideren we dat uw invoer geldig is en dat we ons kunnen authenticeren bij uw KMS.
Hiermee wordt EKM nog niet aan uw OpenAI-project toegevoegd.
# Dit genereert een externe sleutel-ID in de vorm 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>"
}'Maak vervolgens een OpenAI-project dat is gekoppeld aan de externe sleutel. Hierna wordt EKM geactiveerd voor uw project.
De response body van deze API-aanroep geeft u de project-ID (proj_xxx)
OpenAI / Azure EKM-integratie-instructies - Project maken
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"
}'