Claves de API

Esta página se aplica a Apigee y Apigee Hybrid.

Consulta la documentación de Apigee Edge.

Una clave de API (conocida en Apigee como una clave de consumidor) es un valor de string que pasa una app cliente a tus proxies de API. La clave identifica de forma única la app cliente.

La validación de la clave de API es la forma más simple de seguridad basada en aplicaciones que puedes configurar para una API. Una app cliente simplemente presenta una clave de API con su solicitud, Apigee verifica que la clave de API esté en estado aprobado para el recurso que se solicita. De forma interna, tus proxies usan políticas para verificar la autenticidad de la clave de API.

Para admitir esta sencillez, necesitarás realizar cierta configuración. Para admitir claves de API, deberás realizar lo siguiente:

  • Crea un producto de API de Apigee que agrupe los proxies de API que deseas proteger con la clave de API.
  • Crea una app de desarrollador de Apigee que represente al desarrollador de la app cliente cuya app vas a autenticar.

    Cuando creas una app de desarrollador, debes especificar los productos de API a los que la app tendrá acceso y para los cuales deberá proporcionar una clave de API.

  • Para los proxies (los que incluiste en tu producto de API), agrega políticas a fin de verificar que una clave de API entrante sea válida.

El instructivo Protege una API mediante la solicitud de claves de API es una forma rápida de aprender a controlar el acceso a un proxy de API con una clave de API.

Cómo funcionan las claves de API

En Apigee, una clave de API se conoce como clave de consumidor. Cuando registras apps de desarrollador, Apigee genera una clave de consumidor y un secreto. Apigee almacena la clave de consumidor para la validación futura. Cada clave de consumidor es única en la organización. El desarrollador de la app incorpora la clave de consumidor en la app cliente. La app cliente debe presentar la clave de consumidor para cada solicitud. Los servicios de API verifican la clave de consumidor antes de permitir la solicitud de la app.

Pasos de alto nivel

En los siguientes pasos, se describe cómo Apigee usa las claves de API. En estos pasos, también se incluye la posible presencia de seguridad de OAuth, ya que a menudo se usa junto con las claves de API.

  1. Crea un producto de API que incluya proxies de API que deberían protegerse con la clave de API.
  2. Debes registrar una app de desarrollador en tu organización. Cuando lo hagas, Apigee generará una clave de consumidor y un secreto de consumidor.
  3. Asocia la app de desarrollador con al menos un producto de API. Es el producto que asocia las rutas de recursos y los proxies de API con la aprobación de la clave.
  4. En el momento de la ejecución, cuando la app cliente envía una solicitud a tu API, la app cliente envía la clave de consumidor. En la práctica, la clave de consumidor puede pasarse de manera explícita o se puede hacer referencia a ella de manera implícita con un token de OAuth:
    • Cuando la API usa la verificación de claves de API, por ejemplo, mediante la implementación de una política VerifyAPIKey, la app cliente debe pasar la clave de consumidor de forma explícita.
    • Cuando la API usa la verificación de tokens de OAuth, por ejemplo, mediante la implementación de una política de OAuthV2, la app cliente debe pasar un token que derive de la clave de consumidor.
  5. El proxy de API valida las credenciales a través de una política VerifyAPIKey o una política de OAuthV2 con una operación VerifyAccessToken. Si no incluyes una política de aplicación de credenciales en el proxy de API, cualquier emisor puede invocar tus API. Para obtener más información, consulta Política VerifyAPIKey.

Verifica las credenciales de la solicitud

Esta es una descripción general. Asegúrate de consultar Configura la validación de la clave de API para obtener más detalles y ejemplos de código.

  1. Si usas la verificación de tokens de OAuth, implementaste una política de OAuth para realizar la verificación, y la app cliente pasó un token de OAuth:
    • Apigee verifica que el token no haya caducado y, luego, busca la clave de consumidor que se usó para generar el token.
  2. Si usas una clave de API, implementaste una política VerifyAPIKey, y la app cliente aprobó su clave de consumidor:
    1. Apigee verifica la lista de productos de API a los que se asoció la clave de consumidor.
    2. Apigee verifica cada producto de API para ver si el proxy de API actual se incluye en el producto de API y si la ruta de recursos actual (ruta de URL) está habilitada en el producto de API.
    3. Además, Apigee verifica que la clave de consumidor no haya vencido ni se haya revocado, que la app no esté revocada y que el desarrollador no esté inactivo.
    4. Si todas estas condiciones de cumplen, la verificación de credenciales se completa con éxito: el token no está vencido (si corresponde), la clave de consumidor es válida y está aprobada, la app está aprobada, el desarrollador está activo, el proxy está disponible en el producto, y el recurso está disponible en el producto.