OpenAI
Esta página se tradujo automáticamente. Ver el artículo original en inglés.

Prácticas recomendadas para la seguridad de las claves API

Protect your API keys with secure storage, access controls, monitoring, rotation, and IP restrictions.

Actualización: 23 hours ago

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. Nunca implementes 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 tomen esa clave y realicen solicitudes en tu nombre, lo que puede generar cargos inesperados o comprometer determinados datos de la cuenta. Las solicitudes deben enrutarse siempre a través de tu propio servidor backend, donde puedes mantener segura tu clave de API.

3. Nunca confirmes tu clave en tu repositorio

Confirmar una clave de API en el código fuente es un vector habitual de compromiso de credenciales. Para quienes tienen repositorios públicos, esta es una forma habitual de compartir tu clave con internet sin darte cuenta. Los repositorios privados son más seguros, pero una brecha de datos también puede provocar que se filtren tus claves. Por estos motivos, recomendamos encarecidamente usar variables de entorno como medida proactiva de seguridad de las claves.

4. 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 OPENAI_API_KEY como nombre de la variable. Si todo el equipo utiliza el mismo nombre de variable, podréis confirmar cambios 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 prompt de cmd

Ejecuta lo siguiente en el prompt de 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» mediante el Panel de control

  1. Abre las propiedades del Sistema y selecciona Configuración avanzada del sistema

Windows 10 System settings with Advanced system settings highlighted in Control Panel
  1. Selecciona Variables de entorno...

Windows System Properties Advanced tab with Environment Variables button highlighted
  1. 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

  1. Ejecuta el siguiente comando en el terminal, sustituyendo yourkey por tu clave de API.

echo "export OPENAI_API_KEY='yourkey'" >> ~/.zshrc
  1. Actualiza el shell con la nueva variable:

source ~/.zshrc
  1. Confirma que has configurado tu variable de entorno con el siguiente comando.

echo $OPENAI_API_KEY

El 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"]

5. Usar un servicio de gestión de claves

Hay una variedad de 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. En caso de que se produzca una brecha de datos en tu aplicación, tus claves no se verían comprometidas, ya que estarían cifradas y gestionadas en una ubicación completamente independiente.

Para los equipos que implementan sus aplicaciones en producción, recomendamos considerar uno de estos servicios.

6. Supervisa el uso de tu cuenta y renueva tus claves cuando sea necesario

Una clave de API comprometida permite que otra persona acceda a 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 del acceso a la API.

Puedes consultar el uso de tus equipos en la página Uso. Si en algún momento te preocupa que pueda producirse un uso indebido, puedes tomar varias medidas para proteger tu cuenta:

  • Revisa el uso para comprobar si se corresponde con el trabajo de tu equipo. En el caso de usuarios que pertenezcan a varias organizaciones (por ejemplo, una corporativa y otra personal), asegúrate de que tengan activado el seguimiento y hayan 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, deberás actualizar los valores de las claves según corresponda.

  • Contacta con nosotros a través de help.openai.com para que podamos investigarlo más a fondo.

7. Restringir el acceso a la API mediante una lista de IP permitidas

La lista de IP permitidas te permite restringir qué direcciones IP pueden acceder a tu API de OpenAI. Cuando está activada, solo se permiten las solicitudes procedentes de direcciones o rangos de IP configurados, y todas las demás se rechazan, aunque incluyan una clave de API válida.

Esto añade una capa adicional de protección al garantizar que solo se pueda acceder a tu API desde infraestructura de confianza, como tus servidores backend o tu entorno en la nube.

Para obtener más información, consulta el artículo sobre listas de IP permitidas para la API de OpenAI.

¿Te ha resultado útil este artículo?