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

Pratiques exemplaires 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 : 9 days ago

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

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

Au début de vos essais, vous souhaiterez peut-être étendre l’accès à l’API à votre équipe. OpenAI ne permet pas le partage des clés API. Veuillez inviter de nouveaux membres à votre compte depuis la page Membres. Ils recevront rapidement leur propre clé unique à leur connexion. Vous pouvez également attribuer des autorisations à chaque clé API.

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 à la place de votre clé API

Configuration sous Windows

Une variable d’environnement est une variable définie dans votre système d’exploitation plutôt que dans votre application. Elle se compose d’un nom et d’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 effectuer des commits et partager votre code sans risquer d’exposer votre clé API.


Option 1 : Définissez votre variable d’environnement « OPENAI_API_KEY » à l’aide 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 votre variable d’environnement « OPENAI_API_KEY » dans le Panneau de configuration

  1. Ouvrez les propriétés Système et 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. Sélectionnez Nouvelle… dans la section Variables utilisateur (en haut). Ajoutez votre paire nom/valeur de clé en remplaçant <yourkey> par votre clé API.

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

Configuration sous Linux et macOS

Option 1 : Définissez votre variable d’environnement « OPENAI_API_KEY » à l’aide de 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

Il existe divers produits pour gérer les clés API secrètes en toute sécurité. Ces outils vous permettent de contrôler l’accès à vos clés et d’améliorer la sécurité globale de vos données. En cas de violation de données dans votre application, vos clés ne seraient pas compromises, puisqu’elles seraient chiffrées et gérées dans un emplacement complètement 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 renouvelez 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 à elles 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 l’interruption de votre accès à l’API.

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

  • Examinez votre utilisation pour vérifier qu’elle correspond au travail de votre équipe. Pour les utilisateurs appartenant à plusieurs organisations (p. ex. 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 été divulguée, renouvelez-la immédiatement sur 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 pouvant accéder à votre API OpenAI. Lorsqu’elle est activée, seules les requêtes provenant des adresses ou des plages d’adresses 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 accessible uniquement à partir d’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 auprès de l’API demeure 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?