OpenAI
Cette page a été traduite automatiquement. Afficher l’article original en anglais.

Instructions d’intégration OpenAI / Azure EKM

Instructions étape par étape pour configurer Azure et activer EKM

Mise à jour : 13 days ago

Aperçu

Enterprise Key Management (EKM) permet à OpenAI de chiffrer les données au moyen d’une clé maîtresse que vous contrôlez. Pour qu’OpenAI puisse appeler les opérations de chiffrement/déchiffrement sur votre Key Vault, nous devons obtenir l’accès requis. Ce document explique comment configurer votre compte Azure afin qu’OpenAI puisse assumer un rôle disposant d’autorisations sur Key Vault.

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

Étapes

1. Créez un principal de service pour OpenAI dans votre compte

  1. Obtenez un jeton d’accès

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

2. Créez le principal de service – le appId dans la requête ci-dessous est l’ID client d’application d’OpenAI. Cela créera un principal portant le nom d’affichage « EKM - OpenAI Azure » – retenez-le pour les étapes suivantes.

Instructions d’intégration OpenAI / Azure EKM - Créer un principal de service

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. Créez un rôle personnalisé pour un accès KMS limité

  1. Allez à Subscriptions -> Access Control (IAM)

  2. Dans le menu déroulant + Add , sélectionnez Add custom role

  3. Allez à l’onglet JSON, cliquez sur Edit, puis ajoutez ce qui suit

    1. N’importe quel nom de rôle – retenez le nom choisi

    2. Les autorisations suivantes dans 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. Créez un Key Vault + Key

Si vous n’en avez pas déjà un, créez un nouveau Key Vault dans le même abonnement où vous venez de créer votre rôle personnalisé

Dans ce Key Vault, créez une nouvelle clé :

  1. Allez à Key Vault -> Objects -> Keys, puis cliquez sur Generate/Import

  2. Sous Options, sélectionnez Generate

    Azure Key Vault Keys page with Generate/Import highlighted to add a key
  3. Sélectionnez RSA comme algorithme de chiffrement.

  4. Vous pouvez sélectionner n’importe quelle taille de clé RSA

  5. Fournissez un nom de clé au format suivant : <org-xxx>--<any_name>, où org-xxx est l’ID de votre organisation OpenAI, que vous pouvez trouver à l’adresse https://platform.openai.com/settings/organization/general

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

Si vous ne pouvez pas afficher ou créer une clé, assurez-vous d’avoir le rôle Key Vault Administrator. Cela est nécessaire même si vous avez le rôle Owner. Pour vous faire attribuer le rôle :

  1. Allez à Key Vault->Access Control (IAM)

  2. Cliquez sur Add-> Add role assignment

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

4. Créez une attribution de rôle pour le principal de service OpenAI + le nouveau KMS personnalisé + la nouvelle clé

  1. Allez à Key Vault -> Objects -> Keys , puis cliquez sur la ligne correspondant à la clé que vous avez créée

  2. Allez à Access control (IAM) pour votre clé sur laquelle vous venez de cliquer (et non votre Key Vault).

  3. Dans le menu déroulant + Add, sélectionnez Add role assignment

    Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  4. Dans l’onglet Role, sélectionnez le nom du rôle personnalisé que vous venez de créer.

    Azure role list filtered for openai- with the openai-azure-kms-role entry
  5. Dans l’onglet Members :

    1. Cliquez sur « + Select members »

    2. Tapez « ekm - » dans la barre de recherche; le principal de service OpenAI que vous avez créé à l’étape 1 devrait alors s’afficher

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

5. Appliquez toute restriction supplémentaire conforme à vos propres pratiques de sécurité

Ce qui précède correspond au minimum d’information requis par OpenAI pour configurer EKM. Vous pouvez appliquer des politiques de clé ou des restrictions supplémentaires conformément à vos propres pratiques de sécurité internes, tant qu’OpenAI peut appeler les opérations de chiffrement et de déchiffrement sur votre KMS. Lorsque vous appellerez l’endpoint d’enregistrement de clé auprès d’OpenAI décrit ci-dessous, nous validerons votre configuration.

Après avoir terminé les étapes ci-dessus

ChatGPT Enterprise

Veuillez communiquer avec votre contact OpenAI et lui transmettre ce qui suit :

  • "tenant_id": "<YOUR_AZURE_TENANT_UUID>"

    • Votre UUID de locataire Azure

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

    • L’URI du coffre Azure contenant la clé maîtresse que vous gérez

  • "key_name": "<YOUR_KEY_NAME>"

    • Le nom de la clé maîtresse Azure Key Vault que vous gérez

    • Le nom de clé doit avoir la forme <org-xxx>--<any_name>, où org-xxx est l’ID de votre organisation OpenAI, que vous pouvez trouver à l’adresse https://platform.openai.com/settings/organization/general

Nous activerons EKM pour votre organisation/espace de travail ChatGPT.

API

Enregistrez votre clé externe auprès d’OpenAI

Suivez les instructions de cette référence d’API Clés externes dans l’API de gestion

  • Tout d’abord, enregistrez votre clé externe au niveau de l’organisation OpenAI, ce qui générera un ID de clé externe de la forme extkey_xxx

  • À cette étape, nous validerons que vos données d’entrée sont valides et que nous pouvons nous authentifier auprès de votre KMS.

  • Cela n’ajoutera pas encore EKM à votre projet OpenAI. 

# Ceci génère un ID de clé externe de la forme 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>"
}'
  • Ensuite, créez un projet OpenAI associé à la clé externe. Après cela, EKM est activé sur votre projet.

  • Le corps de réponse de cet appel d’API vous donnera l’ID du projet (proj_xxx)

    Instructions d’intégration OpenAI / Azure EKM - Créer un projet

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

Cet article vous a-t-il été utile?