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

Actualización: yesterday

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. Usar variables de entorno en lugar de tu clave de API

Una variable de entorno es una variable que se configura en tu sistema operativo, en lugar de dentro de tu aplicación. Consta de un nombre y un valor. Recomendamos que establezcas el nombre de la variable como OPENAI_API_KEY. Al mantener este nombre de variable coherente en todo tu equipo, puedes confirmar y compartir tu código sin el riesgo de exponer tu clave de API.


Configuración en Windows

Opción 1: Configura tu variable de entorno «OPENAI_API_KEY» mediante 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 futuras ventanas del símbolo del sistema cmd, por lo que tendrás que abrir una nueva para usar esa variable con curl. Puedes validar que esta variable se ha configurado abriendo una nueva ventana del símbolo del sistema cmd y escribiendo

echo %OPENAI_API_KEY%

Opción 2: Configura tu variable de entorno «OPENAI_API_KEY» mediante el Panel de control

  1. Abre las propiedades de 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 tu par nombre/valor de 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 tu variable de entorno «OPENAI_API_KEY» con zsh

  1. Ejecuta el siguiente comando en tu 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 rota tus claves cuando sea necesario

Una clave de API comprometida permite que una persona acceda a la cuota de tu cuenta sin tu consentimiento. Esto puede provocar pérdida de datos, cargos inesperados, agotamiento de tu cuota mensual e interrupción del acceso a tu API.

El uso de tus equipos se puede seguir a través de la página Uso. Si en algún momento te preocupa un posible uso indebido, puedes tomar algunas medidas para proteger tu cuenta:

  • Revisa tu uso para comprobar si se corresponde con el trabajo de tu equipo. Para usuarios que pertenecen a varias organizaciones (por ejemplo, corporativa y personal), asegúrate de que el usuario haya activado el seguimiento y establecido su organización predeterminada para el uso y el seguimiento.

  • Si crees que tu clave se ha filtrado, rótala inmediatamente desde la página Claves de API. Los clientes con aplicaciones en producción deberán actualizar los valores de sus claves según corresponda.

  • Ponte en contacto con nosotros a través de help.openai.com para que podamos investigar más.

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?