Inicio

Topics

Clave API

¿Qué es una clave API?
Explore la solución de claves API de IBM Regístrese para recibir actualizaciones sobre IA
Ilustración con collage de pictogramas de engranaje, brazo robótico, teléfono móvil

Publicado: 11 de junio de 2024
Colaboradores: Gita Jackson, Michael Goodwin

¿Qué es una clave API?

Una clave API es un identificador único utilizado para autenticar software y sistemas que intentan acceder a otro software o sistemas a través de una interfaz de programación de aplicaciones, o API.

Una API, o interfaz de programación de aplicaciones, es un conjunto de reglas o protocolos que permiten que las aplicaciones de software se comuniquen entre sí para intercambiar datos, características y funcionalidades. Las API ofrecen a los propietarios de aplicaciones una forma sencilla y segura de poner los datos y funciones de sus aplicaciones a disposición de los departamentos de su organización. Los propietarios de aplicaciones también pueden compartir o comercializar datos y funciones con socios comerciales o terceros. Las API permiten compartir solo la información necesaria y mantienen ocultos otros detalles internos del sistema, lo que ayuda a la seguridad del sistema.

Dado que las API pueden proporcionar acceso a datos confidenciales, es importante que la API pueda validar que la aplicación que realiza la solicitud está autorizada a hacerlo. El uso de claves API permite a los desarrolladores de aplicaciones autenticar las aplicaciones que llaman al backend de una API para asegurarse de que están autorizadas a hacerlo.

Aunque las claves API pueden ser un aspecto para garantizar la seguridad de las API de una empresa y de los datos que manejan, no son una solución definitiva para la seguridad de las API. En particular, las claves API no son tan seguras como los tokens de autenticación o el protocolo OAuth (autorización abierta). Estas medidas son más adecuadas para autenticar a usuarios humanos concretos, proporcionan a las organizaciones un control más granular sobre el acceso a las funciones de una API específica y pueden configurarse para que caduquen.

OAuth puede utilizarse con claves API o por sí solo. A veces, una empresa puede utilizar una clave de API para algunos usuarios y OAuth para otros. Existen otros métodos de autenticación de llamadas a una API, como los tokens web JSON (JWT), pero no se utilizan con tanta frecuencia.

Las claves API siguen siendo un aspecto útil de la seguridad de las API, ya que ayudan a las organizaciones a monitorizar las llamadas a las API y a gestionar su consumo, aumentando la seguridad y garantizando que estos programas dispongan de un ancho de banda adecuado.

La clave para liberar todo el potencial de sus API: gestión de API

Lea este smartpaper para conocer los principales retos que impulsan la necesidad de gestionar las API y comprender las capacidades clave inherentes a una solución de gestión de API eficaz.

Contenido relacionado Suscríbase al boletín de IBM
¿Cómo funcionan las claves API?

Una clave API es una cadena de caracteres alfanuméricos única y generada aleatoriamente que las API utilizan para autenticar las aplicaciones que realizan llamadas a una API. Cada clave que emite un proveedor de API está asociada a un cliente de API específico, como un módulo de software. Las claves API permiten a un servidor API identificar qué software y aplicaciones están enviando una llamada a la API. La clave generada se utiliza para cada solicitud realizada desde esa aplicación o proyecto a la API asociada (hasta que la clave se actualice o se elimine).

El proceso funciona así:

Cuando una aplicación realiza una llamada a una API para solicitar funciones o datos de otra aplicación, el servidor API utiliza la clave API para validar la autenticidad de la aplicación. En el caso de las aplicaciones web y las API REST, la clave puede enviarse como encabezado, en una cadena de consulta o como cookie. Si la clave API coincide con una clave aprobada, el servidor devuelve los datos solicitados. En caso contrario, deniega la llamada y envía un mensaje de rechazo.

Los desarrolladores pueden añadir más validaciones y restricciones si es necesario.

Por ejemplo, los desarrolladores pueden configurar derechos de acceso para una aplicación o proyecto que sólo permitan acceder a determinados tipos de datos o funciones. Los desarrolladores también pueden establecer restricciones de aplicación que especifiquen qué sitios web, direcciones IP, aplicaciones (o apps móviles) y kits de desarrollo de software (SDK) pueden utilizar una clave API.

Claves y seguridad API

Aunque las claves API forman parte de la seguridad API, no deberían ser la única forma que tiene una organización de autenticar y validar las llamadas que se realizan a una API. De hecho, aunque las claves API son útiles, no son un método especialmente seguro de autenticar llamadas. Las claves API pueden identificar una aplicación o proyecto específico, pero no pueden validar al usuario individual que está utilizando la aplicación que realiza las llamadas. Esto hace que las claves API sean una mala elección para imponer el control de acceso a la API. Las claves API sólo ofrecen identificación y autorización de proyectos, no identificación ni autorización de usuarios.

Piense en una clave API como en una contraseña: es una capa de seguridad, pero también un punto potencial de fallo en caso de violación de la seguridad. Al igual que una contraseña, cualquiera que tenga acceso a una clave API puede utilizarla. No hay forma de verificar quién está utilizando la clave; y las claves rara vez caducan a menos que se regeneren específicamente.

Las claves API utilizadas con aplicaciones web no se consideran seguras a través del protocolo de transferencia de hipertexto (HTTP), ya que envían credenciales sin cifrar. Para que se consideren seguras, las aplicaciones web deben tener una certificación de capa de sockets seguros (SSL), también conocida como protocolo de transferencia de hipertexto seguro (HTTPS).

Otros métodos de validación de las llamadas a la API son:

Tokens de autenticación

También conocidos como tokens API, los tokens de autenticación añaden una capa adicional de seguridad a la API porque pueden identificar a un usuario específico, no sólo a la aplicación que realiza la solicitud. Estos tokens son fragmentos de código que identifican a un usuario ante la API a la que solicita datos. Al tratarse de varias líneas de código en lugar de una única cadena alfanumérica, proporcionan más información a la API sobre qué persona o proyecto está realizando una solicitud. Los tokens de la API también pueden generarse con un alcance limitado, de modo que solo concedan acceso a información específica durante un periodo limitado.  

Protocolo OAuth

El protocolo OAuth (autorización abierta) forma parte del método estándar del sector para autorizar y autenticar llamadas a una API cuando se utiliza con OpenID Connect (OIDC). El protocolo OAuth es el aspecto que concede a los usuarios acceso a la información solicitada y se utiliza en el proceso más amplio de autenticación de usuarios.

OAuth utiliza un tipo de token de API llamado token de acceso. Los tokens de acceso son emitidos a los usuarios por las API a las que solicitan acceso. Estos tokens, a través de una serie de comunicaciones entre una API y el usuario, conceden acceso a la información específica que el usuario solicitó sin necesidad de compartir credenciales u otra información segura con la API.

OpenID Connect es un protocolo de autenticación construido sobre OAuth, que permite a OAuth autenticar usuarios mediante la emisión de tokens de identidad, así como tokens de acceso. Estos tokens de identidad también incluyen información sobre la cuenta específica que realiza la solicitud, en lugar de sólo el proyecto. OpenID Connect realiza ligeros ajustes en el flujo de autorización de OAuth al requerir tanto un token de acceso como un token de identidad antes de conceder acceso a una API.

Las claves API pueden utilizarse con otras formas de autenticación para las llamadas a la API, o por separado. Dentro de una empresa, una API puede utilizar distintos tipos de autenticación y autorización en función de quién solicite el acceso. Algunas secciones de una organización, como los desarrolladores, pueden necesitar acceso ilimitado a una API, mientras que otros departamentos necesitan un acceso más controlado.

¿Cuáles son los tipos de claves API?

Existen dos tipos principales de claves API y ambas desempeñan un papel en la autenticación de las llamadas API. A veces, incluso se utilizan conjuntamente.

Claves públicas

Se trata de claves que dan acceso a datos no sensibles o a funcionalidades que no requieren autenticación del usuario. Pueden compartirse abiertamente entre desarrolladores y otras partes interesadas que trabajen con una API.

Claves privadas

Las claves privadas se utilizan para acceder a datos sensibles y también pueden conceder acceso de escritura al usuario de la clave. Las claves API privadas pueden utilizarse con una clave pública para añadir una capa adicional de seguridad.

Aunque las claves API no deben ser el único método de autenticación de las llamadas a la API, el uso de claves públicas y privadas en pares puede proporcionar una capa adicional de seguridad. Cuando se realiza una llamada a una API, se puede utilizar una clave privada como una especie de firma digital para clientes específicos que necesitan acceder a funciones concretas de una API. Entonces, la clave pública puede verificar la firma y reconfirmar que la llamada a la API es legítima.

¿Qué otros usos tienen las claves API? 

Las claves API proporcionan funciones útiles dentro de una organización más allá de la simple autenticación. Dado que estas claves ayudan a determinar el acceso a la API, también pueden utilizarse para mantener las aplicaciones en funcionamiento y proporcionar datos útiles sobre cómo se están utilizando.

Bloquear el tráfico anónimo
Las claves API son un aspecto importante de la gestión de accesos, que permite a una organización controlar qué usuarios pueden acceder a sus API. El tráfico anónimo a una API puede ser un indicador de actividad maliciosa. El uso de claves API permite a una organización bloquear el acceso no autorizado a las API, como las llamadas anónimas a las API, lo que puede limitar el alcance de un posible ciberataque. Limitar el servicio de API de esta manera también ayuda a evitar que las API sean bombardeadas con solicitudes, minimizando las posibilidades de tiempo de inactividad para aplicaciones importantes.

Controlar el número de llamadas realizadas a las API
Las claves API pueden utilizarse para restringir el tráfico de una API, una medida conocida como limitación de la tasa. La limitación de la tasa permite a una organización controlar cuántas solicitudes realiza un cliente a una API durante un periodo determinado. El acceso a la API se deniega cuando el tráfico alcanza el umbral definido.

Al permitir únicamente el tráfico de aplicaciones dentro de los parámetros definidos, la organización puede optimizar el uso de recursos y ancho de banda de la API. Estos parámetros pueden determinarse en la documentación de la API de una organización.

Monitorizar las tendencias de uso de las API
Dado que las claves API son identificadores únicos, una organización puede utilizarlas para rastrear el tráfico y las llamadas realizadas a las API. Mediante el uso de claves API, las organizaciones pueden rastrear cada llamada realizada a una API hasta una aplicación específica. También pueden determinar el número de llamadas realizadas, el tipo de llamadas, el intervalo de direcciones IP del usuario e incluso si utiliza iOS o Android.

El análisis de los patrones de uso ayuda a una organización a comprender mejor qué partes de una empresa acceden con más frecuencia a endpoints específicos Monitorizar el tráfico y filtrar los registros también es útil para la seguridad de las API. En el caso de un ciberataque, comprobar la actividad en un servidor API con claves API específicas puede aportar a una organización un mayor conocimiento del ataque y de qué claves pueden haberse visto comprometidas.

Cómo proteger una clave API

Las claves API pueden ayudar a proteger las API, los datos y las redes, pero sólo cuando se utilizan de forma segura. Muchas organizaciones emplean estos métodos para asegurarse de que sus claves API son seguras y evitar que las API se conviertan en vectores de un ciberataque.

Combinar varios métodos de autenticación
Las claves API no son lo suficientemente seguras como para ser la única forma de autenticar las llamadas a la API. No pueden validar usuarios individuales y pueden ser fácilmente comprometidas. Las claves API pueden añadir una barrera adicional de seguridad al ecosistema API de una organización cuando se utilizan con otro método de autenticación como OAuth, JSON Web Tokens (JWT) o tokens de autenticación.

No es inusual que las organizaciones utilicen más de un método de autenticación. Por ejemplo, los desarrolladores pueden utilizar claves API internamente para proporcionar acceso sin restricciones a las API durante el desarrollo, pero luego utilizar OAuth para clientes externos porque proporciona tokens que caducan y pueden configurarse para permitir únicamente el acceso a datos específicos.

Almacenamiento seguro de claves
Cuando se generan claves, suelen producirse en texto plano. Al igual que una contraseña, la seguridad de esa clave depende de cómo y dónde se almacenen. Los profesionales de la seguridad recomiendan que estas claves se almacenen como valores hash en una base de datos para que no sean vulnerables al robo.

La incrustación de claves de API en el código fuente o el repositorio también las hace vulnerables a los ciberdelincuentes: cuando se publica la aplicación, las claves también pueden quedar expuestas al público. Si es posible, utilice una bóveda de datos segura y cifrada para guardar las claves de API generadas.

Rotación o sustitución de llaves
Las claves API no caducan a menos que los desarrolladores establezcan una fecha de caducidad, o si el generador de claves revoca el acceso o regenera la clave. Si un usuario no autorizado obtiene una clave API, podría acceder a datos confidenciales sin que nadie de la organización lo supiera. Al fin y al cabo, están utilizando la clave correcta para obtener los datos que solicitan.

Rotar y generar nuevas claves API cada 90 o 180 días puede ayudar a mantener la seguridad de las API. También es una buena idea eliminar las claves de API que ya no se utilicen. Para un nivel adicional de protección, las organizaciones pueden limitar el alcance del acceso a las claves de API que se comparten con los clientes mediante la aplicación de derechos de acceso. Estos derechos dan a los usuarios acceso a los puntos finales que necesitan y nada más. Algunas organizaciones automatizan la generación de nuevas claves para asegurarse de que se rotan con regularidad.

Soluciones relacionadas
IBM Cloud Pak for Integration

IBM Cloud Pak for Integration es una plataforma de integración híbrida que aplica la funcionalidad de la automatización de IA de bucle cerrado para dar soporte a múltiples estilos de integración. La plataforma proporciona un conjunto completo de herramientas de integración dentro de una experiencia única y unificada para conectar aplicaciones y datos en cualquier entorno de nube o local.

Explorar IBM Cloud Pak for Integration

IBM API Connect

IBM App Connect es una solución de integración líder del sector que conecta cualquiera de sus aplicaciones y datos, independientemente de dónde residan.

Explorar IBM APP Connect Solicite una demostración en directo

IBM Event Automation

IBM Event Automation es una solución totalmente componible que permite a las empresas acelerar sus esfuerzos impulsados por eventos, dondequiera que se encuentren en su viaje. Las secuencias, la gestión de endpoints y las capacidades de procesamiento de eventos ayudan a sentar las bases de una arquitectura basada en eventos para desbloquear su valor.

Explore IBM Event Automation Solicite una demostración en directo
Recursos ¿Qué es una API?

Una interfaz de programación de aplicaciones (API) es un conjunto de reglas o protocolos que permite a las aplicaciones informáticas comunicarse entre sí para intercambiar datos, características y funcionalidades.

Conozca IBM API Connect

Acceda a un resumen técnico de IBM API Connect, a sus fases del ciclo de vida de la API y a sus principales componentes de producto.

Portal para desarrolladores: socialice sus API

Aprenda a compartir sus API con los desarrolladores de aplicaciones en el Portal del desarrollador.

Magic Quadrant™ de Gartner 2023

Descubra por qué Gartner ha nombrado a IBM líder en el Magic Quadrant de Gartner 2023 para la gestión de API de ciclo de vida completo por octava vez consecutiva.

Informe de capacidades críticas de Gartner de 2023

El informe Critical Capabilities for API Management es un informe complementario del Magic Quadrant de Gartner y ofrece una visión más profunda de las ofertas de los proveedores. En este informe, IBM ocupa el primer puesto en 4 de los 5 casos de uso.

¿Qué es la ciberseguridad?

La ciberseguridad es cualquier tecnología, medida o práctica para prevenir ciberataques contra los sistemas, aplicaciones, dispositivos informáticos, datos sensibles y activos financieros de personas y organizaciones, o para mitigar su impacto.

Dé el siguiente paso

Utilice IBM API Connect para proteger y gestionar las API empresariales durante todo su ciclos de vida. Le ayuda a usted y a sus clientes a crear, gestionar, proteger, socializar y monetizar de forma sistemática API empresariales, y también está disponible como plataforma de gestión de API altamente escalable en IBM Marketplace y AWS.

Explorar API Connect Solicite una demostración en directo