1. Utiliza 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 tu uso exclusivo. Compartir claves de API infringe las Condiciones de uso.
Cuando empieces a experimentar, es posible que quieras dar acceso a la API a tu equipo. OpenAI no permite compartir claves de API. Invita a nuevos miembros a tu cuenta desde la página Miembros y recibirán enseguida su propia clave única al iniciar sesión. También puedes asignar permisos a cada clave de API.
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. Utiliza variables de entorno en lugar de tu clave de API
Configuración en Windows
Una variable de entorno es una variable que se configura en el sistema operativo, en lugar de hacerlo dentro de la aplicación. Consta de un nombre y un valor. Te recomendamos que uses OPENAI_API_KEY como nombre de la variable. Si todo tu equipo utiliza el mismo nombre de variable, podrás guardar los cambios de tu código en el repositorio y compartirlo sin riesgo de exponer tu clave de API.
Opción 1: configura la variable de entorno «OPENAI_API_KEY» desde el símbolo del sistema (cmd)
Ejecuta lo siguiente en el símbolo del sistema (cmd), sustituyendo <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» desde 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 y macOS
Opción 1: configura la variable de entorno «OPENAI_API_KEY» con zsh
Ejecuta el siguiente comando en tu 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. Utiliza un servicio de gestión de claves
Existen diversos productos para gestionar de forma segura las claves secretas de API. Estas herramientas te permiten controlar el acceso a tus claves y mejorar la seguridad general de tus datos. Si se produjera una filtración de datos en tu aplicación, tus claves no se verían comprometidas, ya que estarían cifradas y se gestionarían en una ubicación totalmente independiente.
Si tu equipo va a desplegar aplicaciones en producción, te recomendamos que valores la posibilidad de utilizar uno de estos servicios.
7. Supervisa el uso de tu cuenta y renueva 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 consultar el uso de tus equipos en la página Uso. Si en algún momento 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 el seguimiento.
Si crees que tu clave se ha filtrado, renuévala inmediatamente desde la página Claves de API. Si tienes aplicaciones en producción, tendrás que actualizar los valores de las claves en ellas.
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 direcciones IP permitidas te permiten restringir qué direcciones IP pueden acceder a tu API de OpenAI. Cuando esta función está activada, solo se permiten las solicitudes procedentes de las direcciones IP o los rangos configurados; todas las demás se rechazan, aunque incluyan una clave de API válida.
Esto añade una capa de protección adicional al garantizar que solo se pueda acceder a tu API desde una infraestructura de confianza, como tus servidores de backend o tu entorno en la nube.
Para obtener más información, consulta el artículo sobre las listas de direcciones 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 direcciones IP permitidas ni con TLS mutuo (mTLS). Para obtener detalles sobre la configuración, consulta la guía de Private Link.
