En tant que spécification indépendante du langage, OpenAPI permet aux clients de comprendre et de consommer des services sans avoir besoin d'accéder au code source du serveur ou de connaître l'implémentation du serveur.
Les documents OpenAPI sont généralement écrits en JSON ou YAML et peuvent être facilement compris par les humains et les machines. Avec OpenAPI, les équipes DevOps peuvent automatiser la documentation et s'assurer que leurs API sont conformes aux normes de l'industrie, permettant ainsi à leurs applications de s'intégrer facilement à d'autres logiciels et services.
Cela améliore également la sécurité en permettant aux développeurs d'établir des schémas de sécurité, une définition de sécurité globale qui désigne une méthode d'authentification des informations d'identification du client et d'octroi des autorisations pour l'API.
Qu'est-ce qu'une API ?
Une interface de programmation d'application (API) est un ensemble de protocoles et de définitions qui permet à différents programmes et composants logiciels de communiquer, d'échanger des données et de partager des fonctionnalités. En définissant les façons dont les applications peuvent demander et échanger des informations, les API permettent aux systèmes logiciels d'interagir de manière à prendre en charge un large éventail de fonctions et de transactions, du e-commerce et des paiements mobiles aux médias sociaux et services cloud.
Qu'est-ce que la sécurité des API ?
Les API sont essentielles aux fonctions de l'informatique, y compris les services cloud, les microservices et les systèmes sans serveur. Parce qu'elles exposent la logique et les ressources de l'application et qu'elles peuvent impliquer le transfert d'informations sensibles et précieuses, les API constituent une cible très attrayante pour les acteurs malveillants. Les solutions de sécurité des API contribuent à empêcher les pirates d'exploiter les vulnérabilités des API et d'utiliser ces dernières pour obtenir un accès non autorisé aux actifs et systèmes informatiques. La sécurité des API nécessite une approche à plusieurs niveaux qui peut inclure l'authentification, la protection basée sur les signatures, la limitation du débit, un pare-feu d'application Webet l'application des règles de sécurité.
Quelles sont les menaces qui pèsent sur la sécurité des API ?
Il existe plusieurs types de menaces majeures pour la sécurité des API.
- L'exploitation des vulnérabilités tire parti d'une faille dans une API pour permettre aux pirates d'obtenir un accès non autorisé à l'API.
- Les processus d'authentification peuvent être compromis par des attaquants, amenant les API à accepter des requêtes provenant de sources illégitimes ou malveillantes.
- Les erreurs d'autorisation permettent aux clients qui interagissent avec une API d'accéder à des informations sensibles, ce qui peut entraîner une fuite de données.
Les attaques par déni de service ou par déni de service distribué se produisent lorsque les acteurs de la menace submergent les opérations de l'API avec un trop grand nombre de demandes simultanées, ce qui ralentit l'API ou l'empêche de répondre.
Qu'est-ce que la sécurité des API ?
La spécification OpenAPI (OAS) est un cadre que les développeurs de logiciels utilisent pour créer des applications capables d'interagir avec les API REST. Anciennement connue sous le nom de Spécification Swagger, la Spécification OpenAPI décrit comment communiquer avec une API, quel type d'information peut être demandé et quelles informations seront retournées. Les documents OpenAPI sont généralement écrits en JSON ou YAML et peuvent être facilement compris par les humains et les machines. Avec OpenAPI, les équipes DevOps peuvent automatiser la documentation et s'assurer que leurs API sont conformes aux normes de l'industrie, permettant ainsi à leurs applications de s'intégrer facilement à d'autres logiciels et services.
Un document OpenAPI permet aux développeurs de définir les éléments essentiels d'une API, notamment :
- La présence et les opérations de chaque point de terminaison
- Les paramètres d'entrée et de sortie de chaque opération
- Les techniques d'authentification
- Une liste de contacts, métadonnées, informations sur les conditions d'utilisation, les licences, les documents disponibles, etc.
En tant que cadre open-source, OpenAPI ne dépend pas du langage utilisé pour créer une API. Cela permet aux ordinateurs et aux utilisateurs d'identifier et de comprendre facilement les capacités d'une API sans avoir besoin de documentation supplémentaire ou d'accès au code source. En fin de compte, la spécification OpenAPI simplifie les processus de développement où plusieurs protocoles, environnements et interfaces sont impliqués.
Qu'est-ce que la sécurité OpenAPI ?
OpenAPI peut aider à améliorer la protection des API et la sécurité des passerelles API en fournissant une documentation API facilement accessible et lisible pour chaque API. Lorsque les équipes DevOps peuvent comprendre chaque point de terminaison API et ses capacités, elles peuvent mieux anticiper les risques de sécurité et éviter toute vulnérabilité. La documentation de sécurité OpenAPI aide également les équipes de sécurité à déterminer si une API est conforme ou non aux règles de sécurité internes.
OpenAPI améliore la sécurité en permettant aux développeurs d'établir des schémas de sécurité — une définition de sécurité globale qui désigne une méthode d'authentification des informations d'identification des clients et d'octroi des autorisations pour l'API.
Bien qu'OpenAPI aide à documenter et à communiquer les exigences de sécurité, la tâche d'application et de mise en œuvre des mesures de sécurité est la responsabilité du serveur API et de l'infrastructure.
Quels sont les cinq types de sécurité des API ?
OpenAPI 3.0 permet cinq types de schémas de sécurité :
- Le système de sécurité des clés d'API utilise une clé d'API, un jeton d'accès qu'un client fournit lorsqu'il effectue des appels d'API.
- L'authentification HTTP offre deux types de schémas d'authentification. L'authentification de base utilise l'en-tête d'autorisation HTTP standard. L'authentification du porteur utilise un jeton de sécurité appelé « jeton porteur », une chaîne cryptique générée par le serveur en réponse à une demande de connexion.
- Le schéma de sécurité OAuth2 est un protocole d'autorisation qui donne à un client API un accès limité aux données utilisateur d'un serveur web. Ce schéma de sécurité OpenAPI est utilisé par des organisations telles que Facebook, Google et GitHub.
- MutualTLS est un schéma de sécurité qui utilise un code d'authentification ou d'autorisation bidirectionnel ou mutuel entre les serveurs et les clients, dans lequel le client présente un certificat approuvé pour les requêtes API.
- OpenID Connect est construit sur le protocole OAuth 2.0 et définit un flux de connexion qui permet à une application cliente de s'authentifier et d'obtenir des informations sur un utilisateur. Les informations d'identité utilisateur sont codées dans un jeton web JSON (JWT) ou un jeton ID sécurisé.
Quels sont les défis de la sécurité OpenAPI ?
Les organisations et les équipes de sécurité qui dépendent uniquement de la sécurité OpenAPI manqueront probablement une partie importante des risques et menaces créés par les API.
- La sécurité OpenAPI ne peut pas protéger contre de nombreuses menaces courantes. Il n'est pas possible, dans un fichier de définition OpenAPI, de créer des politiques qui empêchent les attaques ciblant la logique de l'API, ce qui inclut un grand nombre des menaces définies dans les 10 principaux risques pour la sécurité des API selon l'OWASP.
- Les outils de sécurité OpenAPI peuvent ne pas reconnaître ou bloquer un attaquant effectuant des tentatives successives pour contourner la validation du schéma de sécurité OpenAPI.
- La documentation de sécurité OpenAPI peut refuser l'accès au trafic légitime lors de l'application d'une technique de validation stricte qui bloque tout appel API anormal.
- Les outils de sécurité OpenAPI peuvent permettre à de nombreux types d'appels API malveillants de passer la validation lorsque des techniques de validation peu rigoureuses sont utilisées.
Foire aux questions (FAQ)
OpenAPI faisait initialement partie du système Swagger. Il est devenu un projet distinct en 2016.
La spécification OpenAPI est prise en charge par un grand nombre de leaders de l'industrie et une communauté de dizaines de milliers de développeurs. Ce large soutien de l'industrie représente la stabilité sur une base de code substantielle. OpenAPI est largement reconnu comme le framework open source le plus populaire pour définir et créer des API RESTful.
Pourquoi les clients choisissent-ils Akamai ?
Akamai soutient et protège la vie en ligne. Les entreprises leaders du monde entier choisissent Akamai pour concevoir, diffuser et sécuriser leurs expériences digitales, et aident des milliards de personnes à vivre, travailler et jouer chaque jour. Akamai Connected Cloud, plateforme cloud massivement distribuée en bordure de l'Internet, rapproche vos applications et expériences des utilisateurs, tout en tenant les menaces à distance.