Cette page s'applique à Apigee et à Apigee hybrid.
Consultez la documentation d'Apigee Edge.
Une clé API (connue dans Apigee sous l'appellation clé client) 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 requête, puis Apigee 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éer un produit d'API Apigee qui regroupe les proxys d'API que vous souhaitez protéger à l'aide de la clé API.
- Créer une application de développeur Apigee qui représente le développeur de l'application cliente à laquelle vous allez vous authentifier.
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, une clé API est appelée clé client. Lorsque vous enregistrez des applications de développeur, Apigee génère une clé et un secret client. Apigee 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. 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 génère une clé et un code 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 la page Vérifier la règle de clé API.
Vérifier les identifiants de la requête
Il s'agit ici d'une présentation. Veillez à consulter la section Configurer la validation de la clé API pour obtenir plus de détails et des exemples de code.
- Si vous utilisez la vérification de jetons OAuth, vous avez mis en œuvre une règle OAuth pour vérifier que l'application cliente a transmis un jeton OAuth :
- Apigee vérifie que le jeton n'est pas arrivé à expiration, puis recherche la clé client ayant été utilisée pour générer le jeton.
- Si vous utilisez une clé API, vous avez mis en œuvre une règle VerifyAPIKey et l'application cliente a transmis sa clé client :
- Apigee vérifie la liste des produits d'API auxquels la clé client a été associée.
- Apigee vérifie chaque produit d'API pour déterminer si le proxy d'API actuel est inclus dans le produit d'API et si le chemin d'accès à la ressource actuel (chemin de l'URL) est activé sur le produit d'API.
- Apigee vérifie également que la clé client n'est pas arrivée à expiration ou 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.