Vous consultez la documentation d'Apigee Edge.
Consultez la
documentation Apigee X. en savoir plus
Une clé API (connue dans Apigee Edge sous le nom de clé consommateur) est une valeur de chaîne transmise par une application cliente à vos proxys d'API. La clé identifie l'application cliente de manière unique.
La validation par clé API est la forme de sécurité la plus simple que vous pouvez configurer pour une API. Une application cliente présente simplement une clé API avec sa demande, puis Apigee Edge vérifie que la clé API est dans un état approuvé pour la ressource demandée. En interne, vos proxys utilisent des règles pour vérifier l'authenticité des clés API.
Pour vous faciliter la tâche, vous devez effectuer une petite configuration. Pour assurer la compatibilité avec les clés API, vous devez :
- Créez un produit d'API Apigee Edge qui regroupe les proxys d'API que vous souhaitez protéger à l'aide de la clé API.
-
Créez une application de développeur Apigee Edge qui représente le développeur de l'application cliente dont vous allez authentifier l'application.
Lors de la création de l'application de développeur, vous spécifiez les produits d'API auxquels l'application du développeur aura accès, et pour lesquels il devra fournir une clé API.
- Ajoutez des règles à vos proxys (ceux que vous avez inclus dans votre produit d'API) pour vérifier qu'une clé API entrante est valide.
Le tutoriel Sécuriser une API en exigeant des clés API est un moyen rapide de contrôler l'accès à un proxy d'API à l'aide d'une clé API.
Fonctionnement des clés API
Dans Apigee Edge, une clé API est appelée clé client. Lorsque vous enregistrez des applications de développeur, Apigee Edge génère une clé et un secret client. Apigee Edge stocke la clé client pour une validation ultérieure. Chaque clé client est unique dans l'organisation. Le développeur de l'application intègre la clé client dans l'application cliente. L'application cliente doit présenter la clé client pour chaque requête. Les services d'API vérifient la clé client avant d'autoriser la requête de l'application.
Étapes majeures
Les étapes suivantes décrivent comment les clés API sont utilisées par Apigee Edge. Ces étapes incluent également la présence possible de la sécurité OAuth, car elle est souvent utilisée conjointement avec des clés API.
- Créez un produit d'API qui inclut des proxys d'API devant être protégés par la clé API.
- Vous enregistrez une application de développeur dans votre organisation. Lorsque vous effectuez cette opération, Apigee Edge génère une clé et un secret client.
- Associez l'application de développeur à au moins un produit d'API. C'est le produit qui associe les chemins de ressources et les proxys d'API avec l'approbation des clés.
- Au moment de l'exécution, lorsque l'application cliente envoie une requête à l'API, l'application cliente envoie la clé client lors de l'envoi de la requête. En pratique, la clé client peut être soit explicitement transmise, soit implicitement appelée via un jeton OAuth :
- Lorsque l'API utilise la vérification de clé API, par exemple en mettant en œuvre une règle VerifyAPIKey, l'application cliente doit transmettre explicitement la clé client.
- Lorsque l'API utilise la vérification du jeton OAuth (par exemple, en mettant en œuvre une règle OAuthV2), l'application cliente doit transmettre un jeton dérivé de la clé client.
- Le proxy d'API valide les identifiants de la requête via une règle VerifyAPIKey ou une règle OAuthV2 avec une opération VerifyAccessToken. Si vous n'incluez pas de règle d'application des identifiants dans votre proxy d'API, n'importe quel appelant peut appeler vos API. Pour en savoir plus, consultez Vérifier la règle concernant les clés API.
Vérifier les identifiants de la requête
Il s'agit ici d'une présentation. Pour en savoir plus et obtenir des exemples de code, consultez la page Configurer la validation des clés API.
- Si vous utilisez la validation par jeton OAuth, vous avez implémenté une stratégie OAuth pour la validation et l'application cliente a transmis un jeton OAuth :
- Apigee Edge vérifie que le jeton n'est pas arrivé à expiration, puis recherche la clé client utilisée pour générer le jeton.
- Si vous utilisez une clé API, vous avez implémenté une règle VerifyAPIKey et l'application cliente a transmis sa clé client :
- Apigee Edge vérifie la liste des produits d'API auxquels la clé client a été associée.
- Edge vérifie chaque produit d'API pour voir si le proxy d'API actuel est inclus dans le produit d'API et si le chemin d'accès à la ressource actuel (chemin d'URL) est activé pour le produit d'API.
- Edge vérifie également que la clé client n'a pas expiré ou n'a pas été révoquée, que l'application n'est pas révoquée et que le développeur n'est pas inactif.
- Si toutes ces conditions sont remplies -- le jeton n'est pas arrivé à expiration (le cas échéant), la clé client est valide et approuvée, l'application est approuvée, le développeur est actif et le proxy est disponible dans le produit, et la ressource est disponible sur le produit -- la vérification des identifiants réussit.