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

Programme bêta de TLS mutuel d’OpenAI

Mise à jour : 10 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 tout certificat d’AC X.509 au format PEM qui répond aux exigences suivantes :

  1. signe directement les certificats client que vous prévoyez utiliser, ou sert d’ancre à une chaîne de certificats valide présentée par votre client.

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

  3. dispose des autorisations Key Usage : « Certificate Sign, CRL Sign »

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

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

Exigences relatives aux certificats client

Si la prise en charge des chaînes de certificats est activée pour votre organisation, votre client peut présenter un certificat client feuille ainsi que les certificats intermédiaires nécessaires pour créer une chaîne valide jusqu’à un certificat téléversé actif. Sinon, les certificats client doivent être signés directement par des certificats que vous avez téléversés au préalable. En dehors de cela, vos certificats client doivent répondre aux exigences suivantes :

  1. comporte les extensions Subject Key Identifier et Authority Key Identifier (au format KeyIdentifier)

  2. dispose des autorisations Key Usage : « Digital Signature, Key Encipherment »

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

  4. comporte l’extension Subject Alternate Name

Prise en charge des chaînes de certificats pour mTLS d’API

La prise en charge des chaînes de certificats permet à votre client de présenter un certificat client feuille ainsi que les certificats intermédiaires nécessaires pour créer une chaîne valide jusqu’à un certificat téléversé actif.

Vous pouvez ainsi renouveler les certificats intermédiaires sans téléverser chaque nouvel intermédiaire, tant que le certificat téléversé actif utilisé comme ancre de confiance demeure valide.

La prise en charge des chaînes de certificats est actuellement offerte sur demande. Communiquez avec votre directeur de compte ou ouvrez un billet de soutien pour demander l’accès.

Votre client doit présenter tous les certificats intermédiaires requis. OpenAI ne récupère pas les certificats intermédiaires manquants au moyen d’AIA. Les vérifications CRL et OCSP demeurent non prises en charge.

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 client avec ma requête?

Pour une requête cURL, vous pouvez utiliser les options --cert et --key (consultez la page de manuel ici). La plupart des autres clients HTTP offrent aussi des façons de transmettre des certificats client. Exemples : requests en Python, fetch en JS. Avec nos SDK officiels, nous permettons aussi de remplacer le client HTTP — consultez cet exemple en Python.

Lorsque la prise en charge des chaînes de certificats est activée, configurez votre client HTTP pour qu’il présente le certificat client feuille et tous les certificats intermédiaires requis. La configuration exacte dépend de votre client HTTP.

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 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 vérifications CRL ou OCSP. La solution de rechange recommandée consiste plutôt à supprimer ou à renouveler votre clé API. Vous pouvez aussi remplacer vos certificats d’AC ou utiliser des certificats client ayant des périodes de validité plus courtes.

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

Oui, si la prise en charge des chaînes de certificats est activée pour votre organisation. Votre client doit présenter le certificat client feuille et tout certificat intermédiaire requis afin qu’OpenAI puisse vérifier la chaîne jusqu’à un certificat téléversé actif. Communiquez avec votre directeur de compte ou ouvrez un billet de soutien pour demander l’accès.

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 utilisé pour vérifier les certificats client. Il peut signer directement les certificats client que vous envoyez avec les requêtes ou servir d’ancre à une chaîne de certificats présentée par votre client. Vous pouvez utiliser des certificats d’AC autosignés.

  • Téléverser un certificat : ajouter un certificat d’AC à votre compte. Il n’est pas encore appliqué 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 pour une portée : active mTLS précisément pour cette portée, et toutes les requêtes fondées sur une clé API doivent inclure un certificat client pouvant être vérifié à l’aide du certificat d’AC actif.

  • Désactiver un certificat d’AC pour 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 aussi activé pour tous les projets.

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