OpenAPI Security Spec
devsecopsDéfinition
OpenAPI Security Spec désigne les mécanismes de définition de la sécurité dans la spécification OpenAPI (anciennement Swagger), le standard dominant pour la documentation et la description des APIs REST. OpenAPI 3.x permet de décrire formellement les exigences de sécurité d'une API (mécanismes d'authentification, scopes OAuth, schémas de validation) dans un format machine-readable qui peut être utilisé pour générer automatiquement des configurations de sécurité, des tests, et des validations. Dans une spécification OpenAPI, la sécurité se définit à deux niveaux. Au niveau global (champ securitySchemes dans components), on définit les mécanismes d'authentification disponibles : Bearer JWT, OAuth2 avec ses flows (authorization_code, client_credentials, implicit), API Key (dans header, query ou cookie), ou HTTP Basic. Au niveau de chaque opération (endpoint), le champ security spécifie quels schémas s'appliquent à cet endpoint spécifique et, pour OAuth2, les scopes requis. La valeur de la sécurité définie dans OpenAPI dépend de son utilisation. Les outils de documentation (Swagger UI, Redoc) l'utilisent pour afficher les boutons d'authentification dans l'interface interactive. Les outils de génération de code client (openapi-generator) génèrent du code d'authentification automatiquement. Les outils de validation (express-openapi-validator, connexion pour Python) peuvent enforcer la sécurité à l'exécution en rejetant les requêtes non authentifiées sur les endpoints sécurisés. 42Crunch est un exemple d'outil qui analyse les spécifications OpenAPI pour identifier les problèmes de sécurité : endpoints sans sécurité définie, scopes trop larges, absence de limites de taille, validations manquantes. Ces analyses peuvent être intégrées dans les pipelines CI pour valider la sécurité des spécifications OpenAPI avant leur déploiement. La spécification OpenAPI peut être générée depuis le code (code-first approach avec annotations) ou écrite manuellement avant le code (design-first approach). Dans les deux cas, elle doit être traitée comme un artefact de sécurité auquel s'appliquent revue de code, versioning, et governance.
Définir les Security Schemes dans OpenAPI 3.x
La section components/securitySchemes définit les mécanismes disponibles. Exemple pour JWT Bearer : {type: http, scheme: bearer, bearerFormat: JWT}. Pour OAuth2 Client Credentials : {type: oauth2, flows: {clientCredentials: {tokenUrl: /oauth/token, scopes: {read:data: "Lecture", write:data: "Écriture"}}}}. Chaque opération référence les schémas applicables : security: [{bearerAuth: []}] pour JWT, security: [{oauth2: [read:data]}] pour OAuth2 avec scope spécifique.
Validation automatique et enforcement
Les middlewares de validation OpenAPI (express-openapi-validator pour Node.js, connexion/fastapi pour Python, springdoc pour Java) peuvent enforcer automatiquement les contrôles de sécurité définis dans la spec : rejeter les requêtes sans authentication sur les endpoints sécurisés, valider les JWT et vérifier les scopes, et retourner des 401/403 standardisés. Cette approche "spec-driven security" garantit la cohérence entre la documentation et l'implémentation réelle.
Audit de sécurité des spécifications OpenAPI
Des outils comme 42Crunch API Security Audit, Spectral (Stoplight), et OWASP API Security linting rules analysent les spécifications OpenAPI pour identifier : les endpoints sans sécurité définie, les propriétés sans validation de type/format/longueur (vecteurs d'injection), l'absence de limits sur les collections (DOS potentiel), les schémas trop permissifs (additionalProperties: true). Ces audits s'intègrent dans les pipelines CI pour une validation continue des contrats API.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h