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

Programme bêta de TLS mutuel d’OpenAI

Mise à jour : 13 days ago

OpenAI Mutual TLS permet aux organisations de configurer une couche de sécurité supplémentaire pour leur trafic de l’API OpenAI. Une fois la configuration terminée, les requêtes d’API doivent être envoyées à https://mtls.api.openai.com (ou à https://mtls-eu.api.openai.com pour les clients avec résidence des données dans l’UE), et le trafic ne sera accepté que si la bonne clé API et le bon certificat client sont fournis. mTLS ne s’applique pas au tableau de bord https://platform.openai.com. Cette fonctionnalité est actuellement en bêta.

Comment configurer l’intégration mTLS?

Dans la barre de navigation des paramètres, vous verrez un onglet « TLS mutuel ».

Mutual TLS settings page prompting the user to upload a client certificate to enable mTLS

Téléverser un certificat

Upload a certificate dialog for mutual TLS with name field and PEM certificate text area

Activer le certificat

Après avoir téléversé votre certificat, l’étape suivante consiste à activer votre certificat. Une fois qu’un certificat est activé pour un projet, toutes les requêtes d’API destinées à ce projet commenceront également à exiger un certificat client correspondant. Si plusieurs certificats sont activés pour un projet, vous pouvez transmettre n’importe quel certificat client correspondant. Si un certificat est activé pour l’organisation, il s’appliquera à toutes les requêtes d’API et sera « hérité » par tous les projets.

Image

Exigences relatives aux certificats d’AC

Vous pouvez téléverser n’importe quel certificat d’AC X.509 au format PEM qui répond aux exigences suivantes :

  1. signe directement les certificats clients avec lesquels vous prévoyez faire des requêtes

  2. possède les extensions Certificate Authority, Subject Key Identifier et Authority Key Identifier (au format KeyIdentifier)

  3. possède les autorisations Key Usage : « Certificate Sign, CRL Sign »

  4. n’est pas configuré pour expirer dans un délai de 1 jour

  5. la taille totale du certificat doit être inférieure à 16 ko.

Exigences relatives aux certificats clients

Les certificats clients doivent être signés directement par les certificats que vous avez téléversés au préalable. Pour le moment, nous prenons uniquement en charge les chaînes de certificats d’une seule longueur. En dehors de cela, vos certificats clients doivent répondre aux exigences suivantes :

  1. possède les extensions Subject Key Identifier et Authority Key Identifier (au format KeyIdentifier)

  2. possède les autorisations Key Usage : « Digital Signature, Key Encipherment »

  3. possède l’autorisation Extended Key Usage : « TLS Web Client Authentication »

  4. possède l’extension Subject Alternate Name

FAQ

Puis-je configurer mTLS au moyen de l’API?

Oui — vous pouvez consulter la référence de l’API à l’adresse https://platform.openai.com/docs/api-reference/ pour en savoir plus.

Quels endpoints prennent en charge mTLS?

Pendant cette période bêta, mTLS est officiellement pris en charge dans

  • /v1/chat/completions (with all supported extensions e.g. image, audio, streaming, etc.)

  • /v1/completions

  • /v1/embeddings

  • /v1/audio/transcriptions

  • /v1/audio/speech

  • /v1/files

  • /v1/batches

  • /v1/responses

  • /v1/images

  • /v1/moderations

  • /v1/realtime (via server-side web sockets)

  • /v1/fine_tuning

  • /v1/tunnels

Comment envoyer des certificats clients avec ma requête?

Pour une requête cURL, vous pouvez utiliser les options --cert et --key (consultez la page de manuel ici). Dans la plupart des autres clients HTTP, il existe également des façons de transmettre des certificats clients. Exemples : requests en Python, fetch en JS. Dans nos SDK officiels, nous prenons également en charge le remplacement du client HTTP — consultez ceci pour un exemple en Python.

Avant d’imposer mTLS au trafic de production, assurez-vous que le client HTTP que vous utilisez se comporte correctement avec les demandes de certificat client (certains, comme les WebSockets dans certains navigateurs, ne le font pas). Notez que notre serveur ne fournit pas de liste certificate_authorities dans la demande de certificat client.

Qui peut accéder aux certificats et les modifier?

À partir de l’interface utilisateur du tableau de bord https://platform.openai.com/settings/organization/mtls, les propriétaires de l’organisation peuvent accéder aux certificats et les modifier. Toute personne disposant d’une clé API d’administrateur (https://platform.openai.com/settings/organization/admin-keys) peut également accéder aux certificats et les modifier, mais soyez prudent — si vous activez TLS mutuel au niveau de l’organisation, vous imposerez aussi des certificats pour ces requêtes d’API. Toutes les modifications mTLS sont visibles dans les journaux d’audit.

Combien de certificats puis-je avoir?

Chaque organisation peut téléverser jusqu’à 50 certificats, qui peuvent être partagés entre les projets, mais pas avec d’autres organisations. Vous pouvez activer/désactiver de façon atomique un certificat pour 10 projets à la fois. Vous pouvez aussi activer/désactiver 10 certificats à la fois pour votre organisation ou pour 1 projet précis.

Puis-je mettre à jour ou supprimer des certificats?

Vous pouvez mettre à jour le nom de vos certificats, mais pas leur contenu. Vous pouvez également supprimer des certificats s’ils ne sont actuellement actifs dans aucune portée.

Comment fonctionne la révocation des certificats?

Pour le moment, nous ne prenons pas en charge les LRC ni l’agrafage OCSP. L’autre solution recommandée est plutôt de supprimer ou de faire la rotation de votre clé API. Vous pouvez également remplacer vos certificats d’AC ou utiliser des certificats clients avec des périodes de validité plus courtes.

Puis-je utiliser des chaînes de certificats plus longues?

Pour le moment, nous prenons uniquement en charge les chaînes d’une seule longueur — c.-à-d. que votre certificat d’AC doit signer directement vos certificats clients. Veuillez communiquer avec votre directeur de compte si vous avez d’autres questions.

Quelle est la configuration recommandée?

Lors de la configuration initiale de cette fonctionnalité, nous recommandons de commencer avec un projet de préproduction qui ne sert pas le trafic de production officiel. Profitez-en pour vous assurer que vos certificats sont correctement configurés sur vos machines et que vous pouvez envoyer du trafic d’API avec succès. En dehors de cela, nous recommandons de consulter l’équipe de sécurité de votre organisation afin de mieux comprendre vos besoins.

Soutien supplémentaire

Vous pouvez gérer entièrement vous-même la fonctionnalité mTLS à partir du tableau de bord et de l’API. Toutefois, si vous souhaitez d’abord activer mTLS en mode furtif, veuillez communiquer avec votre directeur de compte ou ouvrir un billet d’assistance en démarrant une nouvelle conversation dans le coin inférieur droit de cette page.

Annexe : terminologie

  • Certificat d’AC : l’un de vos certificats de confiance qui a signé directement les certificats clients que vous enverrez avec les requêtes. Vous pouvez utiliser des certificats d’AC autosignés.

  • Téléverser un certificat : ajouter un certificat d’AC à votre compte. Il n’est encore imposé nulle part pour mTLS, mais vous pouvez commencer à le configurer.

  • Portée : un projet précis ou l’ensemble de votre organisation.

  • Activer un certificat d’AC dans une portée : active mTLS précisément pour cette portée, et toutes les requêtes basées sur une clé API devront exiger un certificat client signé par le certificat d’AC.

  • Désactiver un certificat d’AC dans une portée : désactive l’utilisation de ce certificat pour vérifier les requêtes dans cette portée. S’il ne reste aucun certificat pour la portée, mTLS est effectivement désactivé.

  • Hériter d’un certificat : si vous activez un certificat pour votre organisation, il sera également activé pour tous les projets.

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