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 clave de consumidor) es un valor de cadena que una aplicación cliente envía a tus proxies de API. La clave identifica de forma exclusiva la aplicación cliente.

La validación de claves de API es la forma más sencilla de seguridad basada en aplicaciones que puedes configurar para una API. Una aplicación cliente solo tiene que presentar una clave de API con su solicitud. Apigee comprueba que la clave de API tenga un estado aprobado para el recurso solicitado. Internamente, tus proxies usan políticas para verificar la autenticidad de las claves de API.

Para que esto sea posible, tendrás que hacer una pequeña configuración. Para admitir claves de API, debes hacer lo siguiente:

  • Crea un producto de API de Apigee que incluya los proxies de API que quieras proteger con la clave de API.
  • Crea una aplicación de desarrollador de Apigee que represente al desarrollador de la aplicación cliente cuya aplicación vas a autenticar.

    Al crear la aplicación de desarrollador, especifica los productos de API a los que tendrá acceso la aplicación del desarrollador y para los que deberá proporcionar una clave de API.

  • A tus proxies (los que has incluido en tu producto de API), añade políticas para verificar que una clave de API entrante sea válida.

El tutorial Protege una API requiriendo 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 denomina clave de consumidor. Cuando registras aplicaciones de desarrollador, Apigee genera una clave y un secreto de consumidor. Apigee almacena la clave de consumidor para futuras validaciones. Cada clave de consumidor es única en la organización. El desarrollador de la aplicación inserta la clave de consumidor en la aplicación cliente. La aplicación cliente debe presentar la clave de consumidor en cada solicitud. Los servicios de la API verifican la clave de consumidor antes de permitir la solicitud de la aplicación.

Pasos generales

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

  1. Crea un producto de API que incluya los proxies de API que deban protegerse con la clave de API.
  2. Registras una aplicación de desarrollador en tu organización. Cuando lo haces, Apigee genera una clave de consumidor y un secreto de consumidor.
  3. Asocia la aplicación 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 claves.
  4. En el tiempo de ejecución, cuando la aplicación cliente hace una solicitud a tu API, la aplicación cliente envía la clave de consumidor al hacer la solicitud. En la práctica, la clave de consumidor se puede transferir explícitamente o se puede hacer referencia a ella de forma implícita mediante un token de OAuth:
    • Cuando la API usa la verificación de claves de API (por ejemplo, implementando una política VerifyAPIKey), la aplicación cliente debe transferir la clave de consumidor de forma explícita.
    • Cuando la API usa la verificación de tokens de OAuth (por ejemplo, implementando una política OAuthV2), la aplicación cliente debe enviar un token que se haya derivado de la clave de consumidor.
  5. El proxy de API valida las credenciales de la solicitud mediante una política VerifyAPIKey o una política OAuthV2 con una operación VerifyAccessToken. Si no incluyes una política de aplicación de credenciales en tu proxy de API, cualquier persona que llame podrá invocar tus APIs correctamente. Para obtener más información, consulta la política Verificar clave de API.

Verificar las credenciales de la solicitud

Aquí tienes un resumen. Consulta el artículo sobre cómo configurar la validación de las claves de API para obtener más información y ejemplos de código.

  1. Si usas la verificación de tokens OAuth y has implementado una política de OAuth para verificar que la aplicación cliente ha enviado un token OAuth:
    • Apigee verifica que el token no haya caducado y, a continuación, busca la clave de consumidor que se usó para generar el token.
  2. Si usas una clave de API, has implementado una política VerifyAPIKey y la aplicación cliente ha enviado su clave de consumidor:
    1. Apigee comprueba la lista de productos de API con los que se ha asociado la clave de consumidor.
    2. Apigee comprueba cada producto de API para ver si el proxy de API actual está incluido en el producto de API y si la ruta de recurso actual (ruta de URL) está habilitada en el producto de API.
    3. Apigee también verifica que la clave de consumidor no haya caducado ni se haya revocado, comprueba que la aplicación no se haya revocado y comprueba que el desarrollador no esté inactivo.
    4. Si se cumplen todas estas condiciones (el token no ha caducado, si procede, la clave de consumidor es válida y está aprobada, la aplicación está aprobada, el desarrollador está activo, el proxy está disponible en el producto y el recurso está disponible en el producto), la verificación de las credenciales se realiza correctamente.