OpenAI
Denne side er maskinoversat. Se den originale engelske artikel.

OpenAI / Azure EKM-integrationsvejledning

Trinvis vejledning til at klargøre Azure og aktivere EKM

Opdateret: 15 days ago

Oversigt

Enterprise Key Management (EKM) gør det muligt for OpenAI at kryptere data ved hjælp af en masternøgle, som du kontrollerer. For at OpenAI kan kalde krypterings-/dekrypteringshandlinger på din Key Vault, skal vi have tildelt adgang. Dette dokument viser, hvordan du konfigurerer din Azure-konto, så OpenAI kan påtage sig en rolle med Key Vault-tilladelser.

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

Trin

1. Opret en tjenesteprincipal for OpenAI på din konto

  1. Hent et adgangstoken

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID
  1. Opret tjenesteprincipalen – appId i anmodningen nedenfor er OpenAI’s applikationsklient-id. Dette opretter en principal med visningsnavnet “EKM - OpenAI Azure” – husk dette til senere trin.

OpenAI / Azure EKM-integrationsvejledning – Opret tjenesteprincipal

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. Opret en brugerdefineret rolle til begrænset KMS-adgang

  1. Gå til Abonnementer -> Adgangskontrol (IAM)

  2. Vælg Tilføj brugerdefineret rolle i rullemenuen + Tilføj

  3. Gå til fanen JSON, klik på Rediger, og tilføj følgende:

    1. Et vilkårligt rollenavn – husk det navn, du valgte

    2. Følgende tilladelser i 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. Opret en Key Vault + nøgle

Hvis du ikke allerede har en, skal du oprette en ny Key Vault i det samme abonnement, hvor du lige har oprettet din brugerdefinerede rolle.

Opret en ny nøgle i den Key Vault:

  1. Gå til Key Vault -> Objekter -> Nøgler, og klik derefter på Generer/importér

  2. Vælg Generer under Indstillinger

Azure Key Vault Keys page with Generate/Import highlighted to add a key
  1. Vælg RSA som krypteringsalgoritme.

  2. Du kan vælge en hvilken som helst RSA-nøglestørrelse

  3. Angiv et nøglenavn med følgende format: <org-xxx>--<any_name>, hvor org-xxx er dit OpenAI-organisations-id, som du kan finde på https://platform.openai.com/settings/organization/general

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

Hvis du ikke kan se eller oprette en nøgle, skal du sikre dig, at du har rollen Key Vault-administrator. Dette er nødvendigt, selvom du har rollen Ejer. Sådan får du tildelt rollen:

  1. Gå til Key Vault -> Adgangskontrol (IAM)

  2. Klik på Tilføj -> Tilføj rolletildeling

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

4. Opret en rolletildeling for OpenAI-tjenesteprincipal + ny brugerdefineret KMS + ny nøgle

  1. Gå til Key Vault -> Objekter -> Nøgler, og klik derefter på rækken for den nøgle, du har oprettet

  2. Gå til Adgangskontrol (IAM) for den nøgle, du lige har klikket på (ikke din Key Vault).

  3. Vælg Tilføj rolletildeling i rullemenuen + Tilføj

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  1. Vælg navnet på den brugerdefinerede rolle, du lige har oprettet, på fanen Rolle.

Azure role list filtered for openai- with the openai-azure-kms-role entry
  1. På fanen Medlemmer:

    1. Klik på “+ Vælg medlemmer”

    2. Skriv “ekm -” i søgefeltet, hvorefter den OpenAI-tjenesteprincipal, du oprettede i trin 1, bør blive indlæst

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

5. Anvend eventuelle yderligere begrænsninger i overensstemmelse med dine egne sikkerhedspraksisser

Ovenstående er de minimumsoplysninger, OpenAI skal bruge for at konfigurere EKM. Du kan frit anvende yderligere nøglepolitikker eller begrænsninger i overensstemmelse med dine egne interne sikkerhedspraksisser, så længe OpenAI kan kalde krypterings- og dekrypteringshandlinger på din KMS. Når du kalder nøgleregistreringsendepunktet hos OpenAI, som er beskrevet nedenfor, validerer vi din opsætning.

Efter du har gennemført trinnene ovenfor

ChatGPT Enterprise

Kontakt venligst din OpenAI-kontaktperson, og del følgende:

  • "tenant_id": "<YOUR_AZURE_TENANT_UUID>"

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

  • "key_name": "<YOUR_KEY_NAME>"

  • Navnet på den Azure Key Vault-masternøgle, du administrerer

  • Nøglenavnet skal have formen <org-xxx>--<any_name>, hvor org-xxx er dit OpenAI-organisations-id, som du kan finde på https://platform.openai.com/settings/organization/general

Vi aktiverer EKM for din ChatGPT-organisation/dit arbejdsområde.

API

Registrer din eksterne nøgle hos OpenAI

Følg vejledningen i denne API-reference: Eksterne nøgler i Management API

  • Registrer først din eksterne nøgle på OpenAI-organisationsniveau, hvilket genererer et eksternt nøgle-id i formen extkey_xxx

  • I dette trin validerer vi, at dit input er gyldigt, og at vi kan godkende os til din KMS.

  • Dette føjer endnu ikke EKM til dit OpenAI-projekt.

# 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>"
}'
  • Opret derefter et OpenAI-projekt, der er knyttet til den eksterne nøgle. Herefter er EKM aktiveret på dit projekt.

  • Svarteksten fra dette API-kald giver dig projekt-id’et (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"
}'

Var denne artikel nyttig?