Visión general de las claves de API

Una clave de interfaz de programación de aplicaciones (clave de API) es un código exclusivo que se pasa a una API para identificar la aplicación o el usuario que efectúa la llamada. Las claves de API se utilizan para realizar un seguimiento y un control sobre la forma la que se utiliza la API, por ejemplo, para impedir un uso malintencionado o abusivo de la misma. La clave de API a menudo actúa a la vez como un identificador exclusivo y como una señal secreta para la autenticación, y se le asigna un conjunto de acceso específico de la identidad que tiene asociada.

Para ver sus claves API, vaya a Gestionar > Acceso (IAM) > Claves API en la consola IBM Cloud.

Claves de API de IBM Cloud para usuarios

Las claves de API de IBM Cloud® están asociadas a la identidad de un usuario. Cada clave API que crea un usuario tiene el mismo acceso que se le asigna en todas las cuentas de las que es miembro. Dado que la clave API hereda todos los accesos de usuario, puede proporcionar la capacidad de acceder a los recursos de cualquier cuenta en la que el usuario tenga permisos. Por este motivo, las claves API de usuario deben tratarse de forma similar a un nombre de usuario y una contraseña, y nunca deben compartirse.

Utilización de identificaciones funcionales

Las claves de API de IBM Cloud para los usuarios se pueden crear y asociar con un ID funcional. Un ID funcional es un ID de usuario creado para representar un programa, una aplicación o un servicio. Se puede invitar al ID funcional a una cuenta y se le puede asignar acceso solo para una determinada finalidad, como interactuar con un determinado recurso o aplicación.

Si un servicio requiere una clave API de usuario para interactuar con otros servicios o aplicaciones, utilice una clave API de usuario de ID funcional. Al utilizar la clave API asociada a la identificación funcional, sólo se proporciona el acceso necesario para ese servicio. Compartir una clave API de ID de usuario real con un servicio permite al servicio acceder a cualquier recurso al que el usuario pueda acceder a través de múltiples cuentas, lo cual está altamente desaconsejado.

Sólo el usuario al que está asociada la clave API y un administrador del servicio IAM pueden eliminarla. Puede utilizar las claves API de IBM Cloud en la interfaz de comando (CLI) o como parte de la automatización para iniciar sesión como su identidad de usuario. También puede utilizar claves de API de IBM Cloud para acceder a las API de infraestructura clásica.

Para obtener más información sobre la utilización de una clave de API asociada con su identidad de usuario, consulte Gestión de las claves de API de usuario.

Otros tipos de claves de API

Además de sus claves API IBM Cloud, existen otros tipos de claves API:

Claves de API del ID de servicio
Los ID de servicio se utilizan para conectar una aplicación dentro o fuera de IBM Cloud con un servicio de IBM Cloud. Las claves de API de ID de servicio heredan todo el acceso asignado a un determinado ID de servicio. Para obtener más información, consulte Gestión de las claves de API de ID de servicio.
Claves de API de la infraestructura clásica
Las claves de API de la infraestructura clásica se utilizan para llamar a las API para los servicios de la infraestructura clásica. Las claves de API de la infraestructura clásica se deben crear de una en una. Para obtener más información, consulte Gestión de claves de API de la infraestructura clásica.
Claves de API específicas del servicio
Algunos servicios en IBM Cloud pueden proporcionar una clave API cuando se trabaja con el servicio. Se trata de claves API autogeneradas asociadas a un ID de servicio. Por ejemplo, si está viendo los detalles del producto de un servicio de Watson desde la página Lista de recursos, puede crear una credencial que incluya una clave de API y un secreto específicos para ese servicio en la página Credenciales de servicio.

También puede utilizar las claves de API de IBM Cloud para acceder a las API de la infraestructura clásica.

Conocimiento de las mejores prácticas de seguridad para claves API

La aplicación de las siguientes prácticas recomendadas para las claves API puede ayudarle a aumentar la seguridad y protección de sus cargas de trabajo:

  • Evite incrustar claves en el código para minimizar los riesgos de exposición.
  • Rote las claves API regularmente para limitar la ventana de vulnerabilidad. Secrets Manager puede ayudarle a automatizar esto. Para más información, consulta Rotar tus secretos.
  • Aplique el principio del menor privilegio al asignar permisos.
  • Mantenga actualizados los contactos de seguridad para recibir notificaciones a tiempo.
  • Supervise Activity Tracker Event Routing para detectar el uso sospechoso de claves API.
  • Establezca fechas de caducidad en las claves API cuando proceda.
  • Configure la acción de filtración para desactivar o eliminar automáticamente una clave de API si se descubre en una filtración.

Trabajo con las claves de API

Para gestionar las claves API de IBM Cloud asociadas a su identidad de usuario o las que tiene acceso a gestionar para otros usuarios de la cuenta, vaya a Gestionar > Acceso (IAM) > Claves API en la consola IBM Cloud.

En la página de claves API IBM Cloud, puede crear, editar o eliminar sus propias claves API IBM Cloud. También puede gestionar todas las claves API de infraestructuras clásicas para los usuarios de su jerarquía de usuarios. Si usted es el propietario de la cuenta o un usuario con el acceso necesario para gestionar las claves API de otros usuarios en la cuenta, puede utilizar el filtro Ver para listar y gestionar esas claves API.

Expiración de la clave API

Cuando se crea o actualiza una clave API, puede establecer una fecha de caducidad. Si se especifica una fecha de caducidad, la clave API no será válida después de esa fecha. Las claves API caducadas se eliminan automáticamente 90 días después de su caducidad. Unos días antes de que caduque una clave API, se envía una notificación a través del servicio de notificaciones IBM Cloud al usuario propietario de la clave API (para claves a nivel de usuario) o al propietario de la cuenta (para claves API de ID de servicio).

Protección de claves API filtradas

Las claves API son potentes credenciales que proporcionan acceso a sus recursos y servicios de IBM Cloud. Cuando estas claves se exponen inadvertidamente en repositorios públicos, registros u otras ubicaciones, pueden crear riesgos de seguridad significativos. Los ciberdelincuentes rastrean activamente los repositorios públicos en busca de credenciales filtradas y pueden explotarlas rápidamente para realizar accesos no autorizados, operaciones de minería de criptomonedas u otras actividades maliciosas, a menudo a los pocos minutos de su exposición. Dependiendo del acceso concedido al ID de usuario o servicio asociado a la clave, los malos actores pueden ser capaces de:

  • Acceder a los datos o borrarlos.
  • Aprovisionar recursos en su cuenta, incluidos los recursos que pueden utilizarse para la minería de bitcoins.
  • Realizar otras acciones en los servicios de su cuenta.
  • Crear IDs adicionales o claves API dentro de tu cuenta para darse acceso persistente - incluso después de que rotes la clave comprometida.

IBM Cloud aprovecha las capacidades de exploración secreta de plataformas como GitHub y GitLab para ayudar a identificar las claves de API expuestas. Cuando se determina que una clave ha sido filtrada, usted o su equipo de seguridad pueden tomar rápidamente las medidas adecuadas en función de la disposición que haya configurado para esa clave. Dependiendo de su configuración, IBM puede realizar las siguientes acciones:

Inhabilitar la clave filtrada
La clave API es desactivada inmediatamente por IBM, impidiendo su uso no autorizado mientras usted investiga y determina los pasos a seguir. Este enfoque se recomienda para la mayoría de las llaves, excepto en situaciones en las que se haya realizado una evaluación y el riesgo debido a una llave expuesta sea bajo. Si se desactiva una clave, las llamadas de la API de su aplicación a los servicios en la nube fallarán, lo que podría causar una interrupción.
Suprimir la clave filtrada
La clave API es eliminada permanentemente por IBM tras su detección. Esto proporciona la protección más fuerte, pero requiere la creación de una nueva clave. Si se elimina una clave, las llamadas de la API de su aplicación a los servicios en la nube fallarán, lo que podría causar una interrupción.
No hacer nada
No se adopta ninguna medida automática. Es posible que siga recibiendo notificaciones sobre la exposición, pero deberá solucionar el problema manualmente.

Antes de tomar una decisión, es importante sopesar las consecuencias para la seguridad de la exposición de una clave frente a las consecuencias de una interrupción de la aplicación. IBM recomienda utilizar la opción "Desactivar" para la mayoría de las claves, excepto en situaciones en las que se haya realizado una evaluación y el riesgo si se expusiera una clave sea bajo debido al acceso limitado. Si su organización requiere la configuración "No hacer nada" para claves API específicas debido a requisitos de producción, IBM le anima a que analice regularmente su postura de seguridad, aplique controles compensatorios como la rotación frecuente de claves y planifique activar la protección automática cuando su entorno lo permita.

Para más información, consulte Revisión de las claves API de usuario filtradas o Revisión de las claves API de ID de servicio filtradas.

Acceso necesario para la gestión de claves de API

De forma predeterminada, siempre tiene acceso para crear sus propias claves de API y, a continuación, actualizarlas y suprimirlas según sea necesario. También puede gestionar su propia clave de API de infraestructura clásica y las claves de API de infraestructura clásica de cualquier usuario del que sea antepasado en la jerarquía de usuarios de infraestructura clásica.

Si la opción Restringir la creación de claves API de la cuenta IAM está activada, todos los usuarios de la cuenta no podrán crear claves API, incluido el propietario de la cuenta, a menos que se les asigne un acceso explícito. Para obtener más información, consulte Restringir a los usuarios la creación de claves de API.

Si es el propietario de la cuenta o un usuario con el acceso necesario, puede acceder a las claves de API o a las claves de API del ID de servicio de otro usuario utilizando el filtro Ver en la página Claves de API. Puede editar o suprimir las claves de API en función del acceso que tiene asignado. Solo ve las opciones de filtro para el tipo de claves de API a las que tiene acceso para ver y gestionar.

Tabla 1. Acceso necesario para la gestión de claves API en la página Claves API
Opciones de filtro Claves de API visualizadas Acceso necesario Acciones permitidas
Mis claves de API de IBM Cloud Las claves de API de IBM Cloud No se requiere acceso Ver, crear, editar, suprimir
Todas las claves de API de usuario de IBM Cloud Todas las claves de API de IBM Cloud creadas por todos los usuarios de la cuenta Rol de administrador en el servicio de identidad IAM Ver, editar y suprimir
Todas las claves de API del ID de servicio Todas las claves de API creadas para los ID de servicio en la cuenta Rol de administrador en el servicio de identidad IAM Ver, editar y suprimir
Claves de API de la infraestructura clásica La clave de API de la infraestructura clásica y todas las claves de API de la infraestructura clásica para los usuarios de los que es un ancestro en la jerarquía de usuarios No se requiere acceso salvo ser un ancestro en la jerarquía de usuarios Ver detalles y suprimir