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

Meilleures pratiques pour la sécurité des clés API

Protégez vos clés API grâce au stockage sécurisé, aux contrôles d’accès, à la surveillance, à la rotation et aux restrictions d’adresses IP.

Mise à jour : 16 days ago

1. Utilisez toujours une clé d’API unique pour chaque membre de l’équipe dans votre compte.

Une clé d’API est un code unique qui identifie vos requêtes auprès de l’API. Votre clé d’API est destinée à votre propre usage. Le partage de clés d’API est contraire aux conditions générales d’utilisation.

Lorsque vous commencez à faire des essais, vous pourriez vouloir étendre l’accès à l’API à votre équipe. OpenAI ne prend pas en charge le partage des clés d’API. Veuillez inviter de nouveaux membres dans votre compte à partir de la page Membres; ils recevront rapidement leur propre clé unique lors de la connexion. Vous pouvez également attribuer des autorisations à des clés d’API individuelles.

2. Créez des clés API avec une date d’expiration et établissez un processus de rotation des clés

Les clés de projet peuvent être créées avec une date d’expiration après laquelle toute requête utilisant ces clés sera rejetée. Nous recommandons fortement de créer des clés avec une date d’expiration et d’établir un processus régulier de rotation des clés. Avant qu’une clé expire, créez une clé de remplacement, mettez à jour vos applications pour qu’elles l’utilisent, puis révoquez l’ancienne clé après avoir vérifié que la nouvelle fonctionne. Ces pratiques peuvent grandement réduire les répercussions d’une fuite de clés API.

Les administrateurs peuvent imposer une durée de validité maximale aux clés API au niveau de l’organisation ou du projet dans les paramètres de la plateforme. Les nouvelles clés doivent être configurées dans les limites autorisées, ce qui les empêche de rester valides indéfiniment. Les limites des projets ne peuvent pas dépasser celle de l’organisation.

Pour les charges de travail prises en charge, utilisez la fédération d’identités de charge de travail plutôt que de stocker une clé API OpenAI à longue durée de validité. Votre charge de travail échange une identité provenant d’un fournisseur de confiance contre un jeton d’accès OpenAI à courte durée de validité. Configurez un compte de service dédié disposant uniquement des autorisations nécessaires à la charge de travail.

3. Ne déployez jamais votre clé dans des environnements côté client, comme les navigateurs ou les applications mobiles.

Exposer votre clé API OpenAI dans des environnements côté client, comme les navigateurs ou les applications mobiles, permet à des utilisateurs malveillants de récupérer cette clé et d’envoyer des requêtes en votre nom, ce qui peut entraîner des frais imprévus ou compromettre certaines données de votre compte. Les requêtes doivent toujours passer par votre propre serveur dorsal, où vous pouvez conserver votre clé API en sécurité.

4. Ne validez jamais votre clé dans votre dépôt

La validation d’une clé API dans le code source est un vecteur courant de compromission des identifiants. Si votre dépôt est public, vous risquez ainsi de partager votre clé sur Internet sans le savoir. Les dépôts privés sont plus sécurisés, mais une atteinte à la protection des données peut aussi entraîner la fuite de vos clés. Pour ces raisons, nous recommandons vivement d’utiliser des variables d’environnement comme mesure proactive de protection des clés.

5. Utilisez des variables d’environnement plutôt que votre clé API

Une variable d’environnement est une variable définie dans votre système d’exploitation plutôt que dans votre application. Elle comprend un nom et une valeur. Nous vous recommandons de nommer la variable OPENAI_API_KEY. En utilisant le même nom de variable dans toute votre équipe, vous pouvez valider et partager votre code sans risquer d’exposer votre clé API.


Configuration sous Windows

Option 1 : Définissez votre variable d’environnement « OPENAI_API_KEY » au moyen de l’invite de commandes cmd

Exécutez la commande suivante dans l’invite de commandes cmd, en remplaçant <yourkey> par votre clé API :

setx OPENAI_API_KEY "<yourkey>"

Cette modification s’appliquera aux prochaines fenêtres d’invite de commandes cmd. Vous devrez donc en ouvrir une nouvelle pour utiliser cette variable avec curl. Vous pouvez vérifier que cette variable a été définie en ouvrant une nouvelle fenêtre d’invite de commandes cmd et en saisissant

echo %OPENAI_API_KEY%

Option 2 : Définissez la variable d’environnement « OPENAI_API_KEY » dans le Panneau de configuration

  1. Ouvrez les propriétés Système, puis sélectionnez Paramètres système avancés

Windows 10 System settings with Advanced system settings highlighted in Control Panel
  1. Sélectionnez Variables d’environnement...

Windows System Properties Advanced tab with Environment Variables button highlighted
  1. Dans la section Variables utilisateur (en haut), sélectionnez Nouvelle…. Ajoutez votre paire nom-valeur, en remplaçant <yourkey> par votre clé API.

Nom de la variable : OPENAI_API_KEY
Valeur de la variable : <yourkey>

Configuration sous Linux/macOS

Option 1 : Définissez la variable d’environnement « OPENAI_API_KEY » avec zsh

  1. Exécutez la commande suivante dans votre terminal, en remplaçant yourkey par votre clé API.

echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc
  1. Mettez à jour le shell avec la nouvelle variable :

source ~/.zshrc
  1. Confirmez que vous avez défini votre variable d’environnement à l’aide de la commande suivante.

echo $OPENAI_API_KEY

La valeur de votre clé d’API sera le résultat affiché.


Option 2 : Définir votre variable d’environnement « OPENAI_API_KEY » avec bash

Suivez les instructions de l’option 1, en remplaçant .zshrc par .bash_profile.

Tout est prêt! Vous pouvez maintenant référencer la clé dans curl ou la charger dans votre Python :

import os
import openai

openai.api_key = os.environ["OPENAI_API_KEY"]

6. Utilisez un service de gestion des clés

Divers produits permettent de gérer les clés API secrètes en toute sécurité. Ces outils permettent de contrôler l’accès à vos clés et d’améliorer la sécurité globale de vos données. En cas d’atteinte à la protection des données de votre application, vos clés ne seraient pas compromises, puisqu’elles seraient chiffrées et gérées dans un emplacement entièrement distinct.

Nous recommandons aux équipes qui déploient leurs applications en production d’envisager l’un de ces services.

7. Surveillez l’utilisation de votre compte et remplacez vos clés au besoin

Définissez des limites de dépenses mensuelles pour votre organisation ou vos projets, et activez leur application stricte pour aider à limiter les coûts imprévus liés à une fuite de clé. Les alertes de dépenses seules n’arrêtent pas le trafic de l’API. L’application stricte des limites peut bloquer des requêtes légitimes, et les dépenses peuvent légèrement dépasser la limite, car son application n’est pas instantanée.

Une clé API compromise permet à une personne d’accéder au quota de votre compte sans votre consentement. Cela peut entraîner une perte de données, des frais imprévus, l’épuisement de votre quota mensuel et une interruption de votre accès à l’API.

Vous pouvez suivre l’utilisation de vos équipes sur la page Utilisation. Si vous avez des préoccupations concernant une utilisation abusive, voici quelques mesures à prendre pour protéger votre compte :

  • Examinez votre utilisation pour vérifier si elle correspond au travail de votre équipe. Pour les utilisateurs qui appartiennent à plusieurs organisations (par exemple, professionnelle et personnelle), assurez-vous que chacun a activé le suivi et défini son organisation par défaut pour l’utilisation et le suivi.

  • Si vous pensez que votre clé a fait l’objet d’une fuite, remplacez-la immédiatement à partir de la page Clés API. Si vous avez des applications en production, vous devrez mettre à jour les valeurs de vos clés en conséquence.

  • Communiquez avec nous sur help.openai.com pour une enquête plus approfondie.

8. Protégez l’accès à l’API avec des contrôles réseau

Une liste d’adresses IP autorisées vous permet de restreindre les adresses IP qui peuvent accéder à votre API OpenAI. Lorsque cette fonctionnalité est activée, seules les requêtes provenant des adresses ou des plages IP configurées sont autorisées. Toutes les autres sont rejetées, même si elles incluent une clé API valide.

Cela ajoute une couche de protection en garantissant que votre API est uniquement accessible depuis une infrastructure de confiance, comme vos serveurs dorsaux ou votre environnement infonuagique.

Pour en savoir plus, consultez l’article sur les listes d’adresses IP autorisées pour l’API OpenAI.

Private Link est une autre option pour les organisations qui ont besoin d’un accès par réseau privé. Il permet aux charges de travail Azure de se connecter aux points de terminaison régionaux de l’API OpenAI par l’intermédiaire d’Azure Private Link. Communiquez avec votre représentant OpenAI ou l’équipe des ventes pour demander l’accès. L’authentification à l’API reste obligatoire, et Private Link n’est pas compatible avec les listes d’adresses IP autorisées ni avec le protocole TLS mutuel (mTLS). Pour les détails de configuration, consultez le guide de Private Link.

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