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 : 8 days ago

Aperçu

La gestion des clés d’entreprise (Enterprise Key Management, EKM) permet à OpenAI de chiffrer les données à l’aide d’une clé principale que vous contrôlez. Pour qu’OpenAI puisse appeler les opérations de chiffrement et de déchiffrement sur votre Key Vault, nous devrons obtenir l’accès. Ce document explique comment configurer votre compte Azure afin qu’OpenAI puisse assumer un rôle doté d’autorisations 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. Obtenir un token d’accès

az account get-access-token --resource https://graph.microsoft.com
--tenant YOUR_TENANT_ID
  1. Créez le principal de service - le appId dans la requête ci-dessous est l’ID client de l’application d’OpenAI. Cela créera un principal avec le nom d’affichage « EKM - OpenAI Azure » - souvenez-vous-en pour les étapes suivantes.

Instructions d’intégration EKM OpenAI / Azure - Créer le 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. Accédez à Abonnements -> Contrôle d’accès (IAM)

  2. Dans le menu déroulant + Ajouter, sélectionnez Ajouter un rôle personnalisé

  3. Accédez à l’onglet JSON, cliquez sur Modifier, puis ajoutez ce qui suit :

    1. N’importe quel nom de rôle - souvenez-vous du nom que vous avez sélectionné

    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 coffre de clés + une clé

Si vous n’en avez pas déjà un, créez un nouveau coffre de clés dans le même abonnement que celui où vous venez de créer votre rôle personnalisé.

Dans ce coffre de clés, créez une nouvelle clé :

  1. Accédez à Coffre de clés -> Objets -> Clés, puis cliquez sur Générer/Importer

  2. Sous Options, sélectionnez Générer

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

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

  3. Fournissez un nom de clé au format suivant : <org-xxx>--<any_name>, où org-xxx est l’ID de votre organisation OpenAI, que vous trouverez à 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 Administrateur Key Vault. Cela est nécessaire même si vous avez le rôle Propriétaire. Pour vous faire attribuer le rôle :

  1. Accédez à Coffre de clés -> Contrôle d’accès (IAM)

  2. Cliquez sur Ajouter -> Ajouter une attribution de rôle

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. Accédez à Coffre de clés -> Objets -> Clés, puis cliquez sur la ligne de la clé que vous avez créée

  2. Accédez au Contrôle d’accès (IAM) pour la clé sur laquelle vous venez de cliquer (pas votre coffre de clés).

  3. Dans le menu déroulant + Ajouter, sélectionnez Ajouter une attribution de rôle

Azure Key Vault Access control (IAM) page with Add menu open to Add role assignment
  1. Dans l’onglet Rôle, 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
  1. Dans l’onglet Membres :

    1. Cliquez sur « + Sélectionner des membres »

    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é

Ci-dessus se trouvent les renseignements minimaux dont OpenAI a besoin pour configurer EKM. Vous pouvez appliquer des politiques de clé ou des restrictions supplémentaires conformes à 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>"

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

  • "key_name": "<YOUR_KEY_NAME>"

  • Le nom de la clé principale Azure Key Vault que vous gérez

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

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

API

Enregistrer 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

  • Commencez par enregistrer votre clé externe au niveau de l’organisation OpenAI; cela générera un ID de clé externe au format extkey_xxx

  • À cette étape, nous validerons que votre entrée est valide et que nous pouvons nous authentifier auprès de votre KMS.

  • Cela n’ajoutera pas encore EKM à votre projet 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>"
}'
  • Créez ensuite un projet OpenAI associé à la clé externe. Après cela, EKM est activé sur votre projet.

  • Le corps de la réponse de cet appel d’API vous donnera l’ID de projet (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"
}'

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