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

Programme bêta OpenAI Mutual TLS

Dernière mise à jour : 4 days ago

OpenAI Mutual TLS permet aux organisations de configurer une couche de sécurité supplémentaire pour leur trafic API OpenAI. Une fois configurées, les requêtes 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 « Mutual TLS ».

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

Téléverser le 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 API vers ce projet exigeront également 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.

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 vos certificats clients que vous prévoyez d’utiliser pour effectuer des requêtes

  2. possède 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’expire pas dans moins d’un jour

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

Exigences relatives aux certificats clients

Les certificats clients doivent être directement signés par les certificats que vous avez téléversés à l’avance. Pour le moment, nous ne prenons en charge que les chaînes de certificats à un seul niveau. En plus 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. dispose des autorisations Key Usage : « Digital Signature, Key Encipherment »

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

  4. possède l’extension Subject Alternative Name

FAQ

Puis-je configurer mTLS via l’API ?

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

Quels endpoints prennent en charge mTLS ?

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

  • /v1/chat/completions (avec toutes les extensions prises en charge, p. ex. 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 des WebSockets côté serveur)

  • /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 (voir la page de manuel ici). Dans la plupart des autres clients HTTP, il existe également des moyens de transmettre des certificats clients. Exemples : requests en Python, fetch en JS. Dans nos SDK officiels, nous prenons aussi en charge le remplacement du client HTTP — voir ici pour un exemple en Python.

Avant d’imposer mTLS au trafic de production, assurez-vous que le client HTTP que vous utilisez gère correctement 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 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é Admin API (https://platform.openai.com/settings/organization/admin-keys) peut aussi accéder aux certificats et les modifier, mais attention — si vous activez Mutual TLS au niveau de l’organisation, vous imposerez également des certificats pour ces requêtes 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 projets mais pas avec d’autres organisations. Vous pouvez activer ou désactiver de manière atomique un certificat pour 10 projets à la fois. Vous pouvez aussi activer ou 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 aussi supprimer des certificats s’ils ne sont actuellement actifs dans aucun périmètre.

Comment fonctionne la révocation de certificat ?

Pour le moment, nous ne prenons pas en charge les CRL ni l’agrafe OCSP. L’alternative recommandée consiste plutôt à supprimer ou faire tourner votre clé API. Vous pouvez aussi 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 ne prenons en charge que les chaînes à un seul niveau — c.-à-d. que votre certificat d’AC doit signer directement vos certificats clients. Veuillez contacter votre Account Director 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 staging qui ne sert pas de trafic officiel de production. Profitez-en pour vérifier que vos certificats sont correctement configurés sur vos machines et que vous pouvez envoyer du trafic API avec succès. En plus de cela, nous recommandons de consulter l’équipe sécurité de votre organisation afin de bien comprendre vos besoins.

Assistance supplémentaire

Vous pouvez utiliser la fonctionnalité mTLS en totale autonomie via le tableau de bord et l’API. Cependant, si vous souhaitez d’abord activer mTLS en mode shadow, veuillez contacter votre Account Director ou ouvrir un ticket d’assistance en lançant une nouvelle discussion dans le coin inférieur droit de cette page.

Annexe : terminologie

  • Certificat d’AC : l’un de vos certificats de confiance qui a directement signé les certificats clients que vous enverrez avec vos requêtes. Vous pouvez tout à fait utiliser des certificats d’AC auto-signé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.

  • Périmètre : un projet spécifique ou l’ensemble de votre organisation.

  • Activer un certificat d’AC dans un périmètre : active mTLS spécifiquement pour ce périmètre, et toutes les requêtes basées sur une clé API devront présenter un certificat client signé par le certificat d’AC.

  • Désactiver un certificat d’AC dans un périmètre : désactive l’utilisation de ce certificat pour vérifier les requêtes dans ce périmètre. S’il ne reste plus aucun certificat pour ce périmètre, mTLS est alors 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 ?