Le TLS mutuel d’OpenAI permet aux organisations de configurer une couche de sécurité supplémentaire pour leur trafic API OpenAI. Une fois la configuration effectuée, les requêtes API doivent être envoyées à https://mtls.api.openai.com (ou à https://mtls-eu.api.openai.com pour les clients soumis à la 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 ».
Importer le certificat
Activer le certificat
Après avoir importé votre certificat, l’étape suivante consiste à activer votre certificat. Une fois qu’un certificat est activé pour un projet, toutes les requêtes API destinées à ce projet commenceront également à exiger un certificat client correspondant. Si plusieurs certificats sont activés pour un projet, vous pouvez fournir n’importe quel certificat client correspondant. Si un certificat est activé pour l’organisation, il s’appliquera à toutes les requêtes API et sera « hérité » par tous les projets.
Exigences relatives au certificat CA
Vous pouvez importer tout certificat CA X.509 au format PEM qui répond aux exigences suivantes :
signe directement les certificats client avec lesquels vous prévoyez d’effectuer des requêtes
possède les extensions Certificate Authority, Subject Key Identifier et Authority Key Identifier (au format KeyIdentifier)
dispose des autorisations Key Usage : « Certificate Sign, CRL Sign »
n’est pas configuré pour expirer dans un délai de 1 jour
la taille totale du certificat doit être inférieure à 16 Ko.
Exigences relatives aux certificats client
Les certificats client doivent être signés directement par les certificats que vous avez importés au préalable. À l’heure actuelle, nous ne prenons en charge que les chaînes de certificats à un seul niveau. En dehors de cela, vos certificats client doivent répondre aux exigences suivantes :
possèdent les extensions Subject Key Identifier et Authority Key Identifier (au format KeyIdentifier)
disposent des autorisations Key Usage : « Digital Signature, Key Encipherment »
disposent de l’autorisation Extended Key Usage : « TLS Web Client Authentication »
possèdent l’extension Subject Alternate Name
FAQ
Puis-je configurer mTLS via l’API ?
Oui — vous pouvez consulter la référence de l’API à l’adresse https://platform.openai.com/docs/api-reference/ pour plus d’informations.
Quels endpoints prennent en charge mTLS ?
Pendant cette période de 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 client 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 moyens de transmettre des certificats client. Exemples : requests en Python, fetch en JS. Grâce à nos SDK officiels, nous prenons également en charge la substitution du client HTTP — consultez ici 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 ?
Via 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é d’API administrateur (https://platform.openai.com/settings/organization/admin-keys) peut également accéder aux certificats et les modifier, mais attention — si vous activez le TLS mutuel au niveau de l’organisation, vous imposerez également les certificats à ces requêtes API. Toutes les modifications mTLS sont visibles dans les journaux d’audit.
Combien de certificats puis-je avoir ?
Chaque organisation peut importer jusqu’à 50 certificats, qui peuvent être partagés entre les projets, mais pas avec d’autres organisations. Vous pouvez activer/désactiver un certificat de façon atomique pour 10 projets à la fois. Vous pouvez également activer/désactiver 10 certificats à la fois pour votre organisation ou pour 1 projet spécifique.
Puis-je mettre à jour ou supprimer des certificats ?
Vous pouvez mettre à jour les noms de vos certificats, mais pas leur contenu. Vous pouvez également supprimer des certificats s’ils ne sont actuellement actifs à aucune portée.
Comment fonctionne la révocation des certificats ?
À l’heure actuelle, nous ne prenons pas en charge les CRL ni l’agrafage OCSP. L’alternative recommandée consiste plutôt à supprimer ou renouveler votre clé API. Vous pouvez également remplacer vos certificats CA ou utiliser des certificats client avec des durées de validité plus courtes.
Puis-je utiliser des chaînes de certificats plus longues ?
À l’heure actuelle, nous ne prenons en charge que les chaînes à un seul niveau — c.-à-d. que votre certificat CA doit signer directement vos certificats client. Veuillez contacter votre responsable de compte si vous avez d’autres questions.
Quelle est la configuration recommandée ?
Lors de la configuration initiale de cette fonctionnalité, nous vous recommandons de commencer par un projet de staging 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 API avec succès. Par ailleurs, nous vous recommandons de consulter l’équipe de sécurité de votre organisation afin de mieux comprendre vos besoins.
Support supplémentaire
Vous pouvez gérer entièrement la fonctionnalité mTLS vous-même via le tableau de bord et l’API. Cependant, si vous souhaitez d’abord activer mTLS en mode shadow, contactez votre responsable de compte ou ouvrez un ticket de support en lançant une nouvelle discussion dans l’angle inférieur droit de cette page.
Annexe : terminologie
Certificat CA : l’un de vos certificats de confiance qui a signé directement les certificats client que vous enverrez avec les requêtes. Vous pouvez utiliser des certificats CA autosignés.
Importer un certificat : ajout d’un certificat CA à votre compte. Il n’est encore appliqué nulle part pour mTLS, mais vous pouvez commencer à le configurer.
Portée : un projet spécifique ou toute votre organisation.
Activer un certificat CA dans une portée : active mTLS spécifiquement pour cette portée, et toutes les requêtes basées sur une clé API devront présenter un certificat client signé par le certificat CA.
Désactiver un certificat CA 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 cette portée, mTLS est effectivement désactivé.
Héritage d’un certificat : si vous activez un certificat pour votre organisation, il sera également activé pour tous les projets.
