Sécurité : API - Interfaces de programmation applicative

14 mars 2024

Veiller à sécuriser des données partagées via l’implémentation d’une API.

Le recours à des interfaces de programmation applicative (API en anglais) constitue une bonne pratique pour de nombreux cas d’usages d’échange de données personnelles, dans la mesure où les API peuvent contribuer à fiabiliser, minimiser et sécuriser ces échanges. La gestion des API doit, pour ce faire, s’inscrire dans la politique de sécurité des systèmes d’information et faire l’objet d’une coordination entre fournisseurs et consommateurs d’API.

Les précautions élémentaires

Identifier les acteurs et leur rôle fonctionnel (détenteur de données, gestionnaire d’API, réutilisateur) afin d’organiser le périmètre d’attribution de chacun en matière d’accès aux API et aux données.

Limiter le partage aux données strictement nécessaires, uniquement aux personnes et pour les finalités prévues, en application du principe de minimisation.

Créer une séparation entre les appels aux fonctions courantes de l’API et ceux dédiés à son administration, pour lesquels une authentification robuste apparaît nécessaire.

Disposer de journaux pertinents afin de tracer les échanges (voir la fiche n°16 - Tracer les opérations) et de détecter et réagir en cas d’une utilisation détournée de l’API, d’accès illégitime aux données, d’un dépassement de la capacité d’accès ou de tout autre comportement inhabituel (voir la fiche n°19 - Gérer les incidents et les violations).

Maintenir à jour la documentation. Celle-ci doit inclure le format des requêtes et des données concernées par le partage afin de limiter le risque d’une erreur d’interprétation.

Ce qu'il ne faut pas faire

  • Conserver actives les anciennes versions d’une API qui ne permettent pas le maintien du niveau de sécurité attendu.
     
  • Négliger la sécurité des clés d’accès aux API, alors que des solutions de sécurisation des secrets, tel qu’un coffre-fort numérique, existent.

Pour aller plus loin

  • Avant le mise en production d’une API, vérifier sa résistance aux risques publiés par l’OWASP dans son Top 10 API.
     
  • Voir la recommandation de la CNIL relative au partage sécurisé de données par API.
     
  • L’implémentation de l’API doit être mise en œuvre dans le respect de mesures de sécurité standards telles que la mise en place d'un mécanisme d'authentification adapté (voir la fiche n°4 - Authentifier les utilisateurs), la gestion périodique des habilitations (voir la fiche n°5 - Gérer les habilitations) ou encore le chiffrement des communications à l’état de l’art.
     
  • Une version « bac à sable » de l’API devrait être mise à disposition afin de permettre des expérimentations et de tester les résultats attendus à partir de données fictives.