API en Python
  • Back to Main Website
  • Home
  • Introduction aux API
    • Introduction aux API
    • API - Définition
    • Utiliser une API
    • Créer une API
    • Sécuriser une API
    • Concepts élargis

    • Travaux Pratiques
    • TP - Premiere requêtes
  • Consommation avancée d’API
    • Consommation avancée d’API
    • Protocols de communication
    • Authentification et sécurité des API
    • Optimisation des ressources et de la performance des API

    • Travaux Pratiques
    • TP : Comparaison des performances des appels en tant qu’utilisateur
  • Communication entre Processus (IPC)
    • Communication entre Processus (IPC)
    • Introduction à l’IPC
    • Sockets
    • Fichiers et IPC
    • Shared Memory
    • Pipes
    • gRPC
    • Conclusions

    • Travaux Pratiques
    • TP3 Option 1 Service gRPC pour indicateurs de marché
    • TP3 Option 2 Serveur de Données de Marché via Socket et Mémoire Partagée
  • Conception d’APIs
    • Conception d’APIs
    • Introduction à la Conception d’APIs
    • Les principaux Frameworks d’APIs en Python
    • Fast API
    • Django REST Framework
    • Tester et documenter une API
    • Bonne pratique générale
    • Conclusion

    • Travaux Pratiques
    • TP 4 : API d’Indicateurs Financiers avec Gestion des Niveaux d’Accès
  • Déploiement d’API - Principes Généraux et Mise en Pratique avec Heroku
    • Déploiement d’API - Principes Généraux et Mise en Pratique avec Heroku
    • Introduction au Déploiement d’API
    • Heroku - Présentation du service
    • Meilleurs Pratiques avant un déploiement
    • Deploiement sur Heroku
    • Déploiement avancé
    • Bonus - Nom de Domaine
    • Conclusion
  • Sujets de Projets possibles
    • Projets
    • M2EIF Quant 2023/2024
    • M2EIF Quant 2024/2025
  • Code source
  1. Sécuriser une API
  • Introduction aux API
  • API - Définition
  • Utiliser une API
  • Créer une API
  • Sécuriser une API
  • Concepts élargis
  • Travaux Pratiques
    • TP - Premiere requêtes

On this page

  • API : Les bases de la sécurité des API
  • 4. Sécurisation et authentification d’une API
    • 4.1 Pourquoi sécuriser une API ?
    • 4.2 Authentification vs Autorisation :
    • 4.3 Méthodes d’authentification courantes :
    • 4.4 Limitation et quotas :
    • 4.5 Gestion des erreurs et des violations :

Sécuriser une API

Cours
Introduction
Explorer la notion de PATH, un élément essentiel dans la configuration des environnements de développement.
Author

Remi Genet

Published

2024-12-10

API : Les bases de la sécurité des API


4. Sécurisation et authentification d’une API

4.1 Pourquoi sécuriser une API ?

Une API, en tant que porte d’accès à des données ou à des fonctionnalités, peut être une cible pour des acteurs malveillants. Les raisons de sécuriser une API incluent :

  • Protection des données : Éviter que des données sensibles ne soient exposées ou compromises.
  • Préservation de la réputation : Une faille de sécurité peut nuire à la confiance des utilisateurs ou des clients.
  • Éviter les abus : Prévenir les utilisations excessives ou malveillantes qui peuvent entraîner des coûts ou des surcharges.

4.2 Authentification vs Autorisation :

  • Authentification : Processus permettant de vérifier l’identité d’un utilisateur ou d’une application. C’est la réponse à la question : “Qui êtes-vous ?”
  • Autorisation : Processus permettant de déterminer si l’utilisateur ou l’application authentifié(e) a le droit d’accéder à une ressource ou d’exécuter une action. C’est la réponse à la question : “Êtes-vous autorisé à le faire ?”

4.3 Méthodes d’authentification courantes :

  • Clés API : Une clé unique fournie aux utilisateurs ou aux applications pour accéder à l’API.
  • Authentification basique : L’utilisation d’un nom d’utilisateur et d’un mot de passe pour accéder à l’API.
  • Token JWT (JSON Web Token) : Un standard ouvert pour représenter des revendications entre deux parties. Les tokens sont générés après une authentification réussie et peuvent être vérifiés à chaque requête pour garantir la validité de la session.

4.4 Limitation et quotas :

Afin de prévenir les abus ou la surcharge, il est courant d’appliquer des limites sur la fréquence ou le volume de requêtes qu’un utilisateur ou une application peut faire à l’API. Les limitations peuvent être basées sur :

  • Le temps : Nombre de requêtes autorisées par minute ou par heure.
  • La ressource : Nombre de requêtes autorisées pour une ressource spécifique.
  • Le type d’utilisateur : Les utilisateurs gratuits pourraient avoir des quotas inférieurs à ceux qui paient pour un accès premium.

4.5 Gestion des erreurs et des violations :

Il est essentiel de fournir des messages d’erreur clairs et explicites lorsque les utilisateurs ou les applications violent les politiques de sécurité ou dépassent leurs quotas. Ceci permet de guider les utilisateurs sur la manière de corriger ou d’ajuster leurs requêtes.

Back to top
Créer une API
Concepts élargis

Python API, Rémi Genet.
Licence
Code source disponible sur Github

 

Site construit avec et Quarto
Inspiration pour la mise en forme du site ici
Code source disponible sur GitHub