1. Usa siempre una clave de API única para cada miembro del equipo en tu cuenta.
Una clave de API es un código único que identifica tus solicitudes a la API. Tu clave de API está destinada a que la uses tú. Compartir claves de API va en contra de las Condiciones de uso.
Cuando empieces a experimentar, puede que quieras ampliar el acceso a la API a tu equipo. OpenAI no admite el uso compartido de claves de API. Invita a nuevos miembros a tu cuenta desde la página Miembros y recibirán rápidamente su propia clave única al iniciar sesión. También puedes asignar permisos a claves de API individuales.
2. Crea claves de API con fecha de caducidad y establece un proceso de rotación de claves
Las claves de proyecto se pueden crear con una fecha de caducidad, a partir de la cual se rechazarán todas las solicitudes que las utilicen. Te recomendamos encarecidamente que crees claves con fecha de caducidad y establezcas un proceso periódico de rotación de claves. Antes de que caduque una clave, crea otra para sustituirla, actualiza tus aplicaciones para que la utilicen y revoca la antigua una vez que hayas comprobado que la nueva funciona. Estas prácticas pueden reducir considerablemente las consecuencias de una filtración de claves de API.
Los administradores pueden establecer un periodo de validez máximo para las claves de API de la organización o del proyecto en la configuración de la plataforma. Las claves nuevas deben configurarse dentro de los límites permitidos, lo que impide que sigan siendo válidas indefinidamente. Los límites del proyecto no pueden superar el límite de la organización.
Para las cargas de trabajo compatibles, utiliza la federación de identidades de cargas de trabajo en lugar de almacenar una clave de API de OpenAI de larga duración. Tu carga de trabajo intercambia una identidad de un proveedor de confianza por un token de acceso a OpenAI de corta duración. Configura una cuenta de servicio específica con solo los permisos que necesita la carga de trabajo.
3. Nunca incluyas tu clave en entornos del lado del cliente, como navegadores o aplicaciones móviles.
Exponer tu clave de API de OpenAI en entornos del lado del cliente, como navegadores o aplicaciones móviles, permite que usuarios malintencionados la obtengan y realicen solicitudes en tu nombre, lo que puede generar cargos inesperados o comprometer determinados datos de tu cuenta. Las solicitudes deben canalizarse siempre a través de tu propio servidor backend, donde puedes mantener tu clave de API segura.
4. Nunca subas tu clave a tu repositorio
Incluir una clave de API en el código fuente es una causa habitual de vulneración de credenciales. Si tienes repositorios públicos, esta es una forma habitual de compartir tu clave en internet sin darte cuenta. Los repositorios privados son más seguros, pero una filtración de datos también puede exponer tus claves. Por estos motivos, recomendamos encarecidamente usar variables de entorno como medida proactiva para proteger las claves.
5. Usa variables de entorno en lugar de tu clave de API
Una variable de entorno es una variable que se configura en el sistema operativo, en lugar de dentro de la aplicación. Consta de un nombre y un valor. Te recomendamos asignar a la variable el nombre OPENAI_API_KEY. Si todo tu equipo usa el mismo nombre para esta variable, podréis subir y compartir el código sin riesgo de exponer la clave de API.
Configuración en Windows
Opción 1: configura la variable de entorno «OPENAI_API_KEY» mediante el símbolo del sistema
Ejecuta lo siguiente en el símbolo del sistema y sustituye <yourkey> por tu clave de API:
setx OPENAI_API_KEY "<yourkey>"Esto se aplicará a las futuras ventanas del prompt de cmd, por lo que tendrás que abrir una nueva para usar esa variable con curl. Para comprobar que esta variable se ha configurado, abre una nueva ventana del prompt de cmd y escribe
echo %OPENAI_API_KEY%Opción 2: configura la variable de entorno «OPENAI_API_KEY» mediante el Panel de control
Abre las propiedades del Sistema y selecciona Configuración avanzada del sistema
Selecciona Variables de entorno...
Selecciona Nueva… en la sección Variables de usuario (arriba). Añade el par de nombre y valor de la clave, sustituyendo <yourkey> por tu clave de API.
Nombre de variable: OPENAI_API_KEY
Valor de variable: <yourkey>Configuración en Linux/macOS
Opción 1: configura la variable de entorno «OPENAI_API_KEY» mediante zsh
Ejecuta el siguiente comando en el terminal, sustituyendo yourkey por tu clave de API.
echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrcActualiza el shell con la nueva variable:
source ~/.zshrcConfirma que has configurado tu variable de entorno con el siguiente comando.
echo $OPENAI_API_KEYEl valor de tu clave de API será la salida resultante.
Opción 2: Configura tu variable de entorno «OPENAI_API_KEY» con bash
Sigue las instrucciones de la opción 1, sustituyendo .zshrc por .bash_profile.
¡Ya está todo listo! Ahora puedes hacer referencia a la clave en curl o cargarla en tu Python:
import os
import openai
openai.api_key = os.environ["OPENAI_API_KEY"]6. Usa un servicio de gestión de claves
Hay diversos productos disponibles para gestionar de forma segura claves de API secretas. Estas herramientas te permiten controlar el acceso a tus claves y mejorar la seguridad general de tus datos. Si tu aplicación sufriera una filtración de datos, tus claves no se verían comprometidas, ya que estarían cifradas y se gestionarían en una ubicación completamente independiente.
Si tu equipo implementa aplicaciones en producción, te recomendamos considerar uno de estos servicios.
7. Supervisa el uso de tu cuenta y rota tus claves cuando sea necesario
Establece límites de gasto mensuales para tu organización o tus proyectos y activa su aplicación estricta para ayudar a limitar los costes inesperados derivados de la filtración de una clave. Las alertas de gasto por sí solas no detienen el tráfico de la API. La aplicación estricta de los límites puede bloquear solicitudes legítimas, y el gasto puede superar ligeramente el límite porque este no se aplica de forma instantánea.
Una clave de API comprometida permite que otra persona utilice la cuota de tu cuenta sin tu consentimiento. Esto puede provocar la pérdida de datos, cargos inesperados, el agotamiento de tu cuota mensual y la interrupción de tu acceso a la API.
Puedes hacer un seguimiento del uso de tus equipos en la página Uso. Si sospechas que se está haciendo un uso indebido, puedes tomar varias medidas para proteger tu cuenta:
Revisa el uso de tu cuenta para comprobar si se corresponde con el trabajo de tu equipo. En el caso de los usuarios que pertenecen a varias organizaciones (por ejemplo, una corporativa y otra personal), asegúrate de que hayan activado el seguimiento y establecido su organización predeterminada para el uso y su seguimiento.
Si crees que tu clave se ha filtrado, rótala de inmediato desde la página Claves de API. Si tienes aplicaciones en producción, tendrás que actualizar los valores de las claves que utilizan.
Ponte en contacto con nosotros a través de help.openai.com para que podamos investigar más a fondo.
8. Protege el acceso a la API con controles de red
Las listas de IP permitidas te permiten restringir las direcciones IP que pueden acceder a tu API de OpenAI. Cuando esta función está activada, solo se permiten las solicitudes procedentes de las direcciones o los rangos IP configurados. Todas las demás se rechazan, aunque incluyan una clave de API válida.
Esto añade una capa de protección al garantizar que solo se pueda acceder a tu API desde una infraestructura de confianza, como tus servidores backend o tu entorno en la nube.
Para obtener más información, consulta el artículo sobre las listas de IP permitidas para la API de OpenAI.
Private Link es otra opción para las organizaciones que necesitan acceso a través de una red privada. Permite que las cargas de trabajo de Azure se conecten a los endpoints regionales de la API de OpenAI a través de Azure Private Link. Ponte en contacto con tu representante de OpenAI o con el equipo de ventas para solicitar acceso. La autenticación de la API sigue siendo obligatoria, y Private Link no es compatible con las listas de IP permitidas ni con TLS mutuo (mTLS). Para obtener detalles sobre la configuración, consulta la guía de Private Link.
