Autenticar una API utilizando la clave API

Antes de empezar

  • Asegúrese de que dispone de privilegios funcionales para Gestionar API o Activar / Desactivar API. Si usted es un Administrador, debe tener este privilegio.
  • Postman está instalado en su sistema, o puede utilizar la versión web de Postman

Acerca de esta tarea

La exposición de las API muestra la lógica de la aplicación y los datos sensibles y puede suponer un riesgo para la seguridad de una organización. Sin autenticación, las API son vulnerables a accesos no autorizados, usos indebidos y abusos. Los usuarios o aplicaciones no autenticados pueden acceder potencialmente a datos o recursos sensibles, realizar acciones no autorizadas o sobrecargar la API con peticiones excesivas. Esta acción es la razón por la que la seguridad de la API se convierte en un aspecto importante. Una de las formas de proteger sus API consiste en implantar mecanismos de autenticación que controlen su exposición mediante credenciales de usuario y códigos de acceso cifrados. El mecanismo de autenticación funciona como un guardián que sólo permite el acceso a usuarios auténticos.

Puede utilizar diferentes métodos de autenticación de API como HTTP autenticación básica, autenticación de clave de API, autenticación OAuth 2.0, autenticación JWT. La selección del método de autenticación adecuado para una API concreta depende del nivel de seguridad necesario para validar a los clientes frente a la facilidad de implementación.

Por ejemplo, la autenticación HTTP Basic funciona bien para restringir el acceso público a datos y recursos de bajo riesgo, pero sigue exigiendo un nivel mínimo de controles de seguridad. La autenticación mediante clave de API funciona bien en escenarios en los que los proveedores de API desean identificar a clientes individuales y regular sus permisos como n. Las claves API son adecuadas para solicitudes API sencillas en las que puede que no necesite un alto nivel de seguridad, mientras que los métodos de autenticación OAuth 2.0 o JWT ofrecen un mayor nivel de seguridad en forma de revocación de tokens y tokens de actualización.

webMethods API Gateway proporciona varios métodos de autenticación como Basic Auth, API key, OAuth 2.0, OAuth con OpenID, y JWT. El siguiente ejemplo ilustra un escenario sobre cómo acceder de forma segura a las API utilizando la autenticación basada en la clave de API. El método de autenticación con clave API utiliza cadenas generadas por el sistema que consisten en una larga serie de letras o números para crear pares únicos de credenciales de identificación y tokens de acceso a la API. Este código de números llama a programas de una aplicación diferente; la clave reconoce entonces el código, su desarrollador, el usuario y la aplicación desde la que se realiza la llamada a la API. Cuando el cliente autentica la clave API, el servidor reconoce su identidad y le permite acceder a los datos con facilidad.

La figura muestra el mecanismo de autenticación basado en la clave API.

autenticar_api

El siguiente ejemplo ilustra los pasos para proteger una API REST, Petstore, con una clave API y cómo utilizar esta clave API para acceder a la API.

Procedimiento

  1. Crear una API REST Petstore.
    1. Abra el menú de opciones y seleccione APIs.
    2. Haga clic en Crear API.
    3. Seleccione Importar API en URL.
    4. Especifique la información siguiente:
      • URL- https://petstore.swagger.io/v2/swagger.json
      • Nombre- Petstore
      • Versión- 1.0
      • Administrador de equipos
    5. Haga clic en Crear. Se crea la API de Petstore y aparece la página de detalles de la API de Petstore.
    6. Haga clic en Activar para activar la API.
  2. Refuerce la API con la directiva Identify and Access para configurar el tipo de identificación como API Key.
    1. Haga clic en Editar.
    2. Haga clic en la pestaña Políticas.
    3. Haga clic en Identificar y acceder en la sección del catálogo de políticas.
    4. Haga clic en + para la política Identificar y autorizar para añadir la política.
    5. Proporcione la siguiente información en la sección de propiedades de la política.
      • Tipo de condición- OR
      • Tipo de identificación - Clave API
      • Condición de búsqueda de la aplicación : aplicaciones registradas
    6. Pulse Guardar. La API se aplica ahora con la política necesaria.
  3. Cree una aplicación petstore app y asocie la API Petstore a la aplicación.
    Añadir la API a la aplicación permite a ésta acceder a la API. Como desarrollador de API, cuando llame a la API en tiempo de ejecución, deberá proporcionar la clave de API para webMethods API Gateway para identificar la aplicación.
    1. Haga clic en Aplicaciones en la barra de navegación del título.
    2. Haga clic en Crear aplicación.
    3. Proporcione la siguiente información para Nombre aspetstore app y Versión como 1.0.
    4. Haga clic en Continuar con Identificadores.
    5. Haga clic en Continuar con API.
    6. Escriba la palabra clave pet en el cuadro de búsqueda para encontrar la API petstore y haga clic en + para añadir la API.
    7. Pulse Guardar. La solicitud se guarda y aparece la página de detalles de la solicitud.
  4. Anote la clave API que debe utilizar para acceder a la API.
  5. Autentícate y accede a la API de petstore utilizando la clave API. Utilice la aplicación Postman para llamar y acceder a la API.
    1. Abra Postman.
    2. En la interfaz de usuario de Postman, seleccione el método HTTP como GET para recuperar los detalles de las mascotas por estado.
    3. Llama al punto final, http://<host>:<port>/gateway/Petstore/1.0/pet/findByStatus
    4. En la pestaña Autorización, seleccione el tipo como Clave API y proporcione la siguiente información.
      • Clave- x-Gateway-APIKey
      • Valor- La clave API
      • Añadir a la cabecera
    5. Haga clic en Enviar. La API REST se llama correctamente y devuelve el código de estado 200. La respuesta contiene los datos de búsqueda solicitados.
      En caso de que la clave de la API no sea válida, aparecerá un error al acceder a la API con el siguiente código de estado 401.

Qué hacer a continuación

Ahora que ya ha accedido a la API de forma segura, puede empezar a utilizarla.