OpenAI

Instructions d'intégration OpenAI / Azure EKM

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

Dernière mise à jour : 4 days ago

Présentation

La gestion des clés d'entreprise (EKM) permet à OpenAI de chiffrer les données à l'aide d'une clé maître que vous contrôlez. Pour qu'OpenAI puisse effectuer des opérations de chiffrement et de déchiffrement sur votre Key Vault, il faudra nous accorder l'accès. Ce document explique comment configurer votre compte Azure afin qu'OpenAI puisse assumer un rôle avec des 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. Obtenez un token d'accès

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

2. Créez le principal de service : l' appId dans la requête ci-dessous correspond à l'identifiant client de l'application OpenAI. Cela créera un principal avec 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éer un rôle personnalisé pour un accès limité à KMS

  1. Allez sur Abonnements -> Contrôle d'accès (IAM)

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

  3. Allez sur l'onglet JSON, cliquez sur Modifier et 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 Key Vault + Key

Si vous n'en avez pas encore, créez un nouveau Key Vault dans le même abonnement dans lequel vous venez de créer votre rôle personnalisé

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

  1. Go à 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
  3. Sélectionnez RSA comme algorithme de chiffrement.

  4. Vous pouvez choisir n'importe quelle taille de clé RSA

  5. Fournissez un nom de clé au format suivant : <org-xxx>--<any_name>, où org-xxx correspond à votre identifiant d'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 parvenez pas à afficher ou à créer une clé, assurez-vous de disposer du rôle Key Vault Administrator. Cela est nécessaire même si vous avez le rôle de Propriétaire. Pour se voir attribuer le rôle :

  1. Go Key Vault->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, un nouveau KMS personnalisé et une nouvelle clé

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

  2. Go à Contrôle d'accès (IAM) pour la clé sur laquelle vous venez de cliquer (et non à 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
  4. 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
  5. Dans l'onglet Membres :

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

    2. Saisissez « 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 conformément à vos propres pratiques de sécurité

Ci-dessus figurent les informations minimales requises dont OpenAI a besoin pour configurer EKM. Vous êtes libre d'appliquer des stratégies ou restrictions supplémentaires relatives aux clés, conformément à vos propres pratiques internes de sécurité, à condition qu'OpenAI puisse appeler les opérations de chiffrement et de déchiffrement sur votre KMS. Lorsque vous appelez l'endpoint d'enregistrement de clé avec OpenAI décrit ci-dessous, nous validerons votre configuration.

Après avoir suivi les étapes ci-dessus

ChatGPT Enterprise

Veuillez contacter votre contact OpenAI et partager les éléments suivants :

  • "tenant_id" : "<YOUR_AZURE_TENANT_UUID>"

    • UUID de votre client Azure

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

    • L'URI du coffre Azure contenant la clé principale que vous gérez

  • "key_name" : "<YOUR_KEY_NAME>"

    • 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'identifiant de votre organisation OpenAI, que vous pouvez trouver à l'adresse https://platform.openai.com/settings/organization/general.

Nous activerons EKM pour votre organisation ou 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 identifiant de clé externe au format extkey_xxx

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

  • Ceci n'ajoutera pas encore EKM à votre projet OpenAI. 

# Cela 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 la réponse de cet appel d'API vous fournira l'identifiant du projet (proj_xxx)

    Instructions d'intégration OpenAI / Azure EKM - création de projet

curl -X POST \
-H "Content-type : application/json" \
-H "Authorization : Bearer $TOKEN" \
"https://api.openai.com/v1/organization/projects" \
-d '{
   "name" : "Un projet",
   "external_key_id" : "extkey_xxxx"
}'

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