{"id":216,"date":"2026-11-01T20:39:49","date_gmt":"2026-11-01T20:39:49","guid":{"rendered":"https:\/\/www.aztechnix.com\/?p=216"},"modified":"2026-11-01T20:39:49","modified_gmt":"2026-11-01T20:39:49","slug":"securite-des-api-une-connexion-valide-ne-suffit-pas-a-autoriser-lacces","status":"publish","type":"post","link":"https:\/\/www.aztechnix.com\/?p=216","title":{"rendered":"S\u00e9curit\u00e9 des API : une connexion valide ne suffit pas \u00e0 autoriser l\u2019acc\u00e8s"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Une API relie des applications et expose des op\u00e9rations sur des donn\u00e9es. Un utilisateur correctement authentifi\u00e9 ne doit pas pour autant pouvoir consulter ou modifier toutes les ressources disponibles.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Comprendre le d\u00e9faut d\u2019autorisation<\/h2>\n\n\n<p class=\"wp-block-paragraph\">L\u2019OWASP d\u00e9crit le risque de contr\u00f4le d\u2019acc\u00e8s insuffisant au niveau des objets : le serveur re\u00e7oit un identifiant de ressource sans v\u00e9rifier correctement le droit de l\u2019utilisateur \u00e0 r\u00e9aliser l\u2019action demand\u00e9e. Des identifiants difficiles \u00e0 deviner ne remplacent pas cette v\u00e9rification.<\/p>\n\n\n<h2 class=\"wp-block-heading\">D\u00e9finir les r\u00e8gles c\u00f4t\u00e9 serveur<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Pour chaque op\u00e9ration, pr\u00e9cisez quels r\u00f4les peuvent agir, sur quelles ressources et dans quel contexte. La lecture, la modification et la suppression peuvent demander des r\u00e8gles diff\u00e9rentes. Masquer un bouton dans l\u2019interface ne constitue pas un contr\u00f4le suffisant.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Pr\u00e9parer des tests autoris\u00e9s<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Exemple fictif : un portail de documents comporte deux comptes de test appartenant \u00e0 deux clients distincts. Dans un environnement pr\u00e9vu pour l\u2019audit, v\u00e9rifiez que chaque compte ne peut lire et modifier que ses propres ressources. Les essais doivent rester dans le p\u00e9rim\u00e8tre autoris\u00e9.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Le regard Aztechnix<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Ajoutez ces v\u00e9rifications aux tests de non-r\u00e9gression et documentez les exceptions m\u00e9tier. Les acc\u00e8s d\u00e9l\u00e9gu\u00e9s et les comptes de support demandent une attention particuli\u00e8re : leurs droits peuvent \u00eatre plus larges, mais doivent rester explicites. L\u2019objectif est de faire respecter la s\u00e9paration entre clients et entre fonctions \u00e0 chaque requ\u00eate, m\u00eame lorsque l\u2019utilisateur conna\u00eet l\u2019identifiant exact d\u2019une autre ressource.<\/p>\n\n\n<h2 class=\"wp-block-heading\">Source et m\u00e9thode<\/h2>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/api-security.owasp.org\/editions\/2023\/en\/0xa1-broken-object-level-authorization\/\">OWASP \u2014 API1:2023 Broken Object Level Authorization<\/a>. Source consult\u00e9e le 1er novembre 2026. Synth\u00e8se et recommandations pratiques : Aztechnix. Les mises en situation sont fictives ; elles ne constituent pas des r\u00e9f\u00e9rences clients.<\/p>\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.aztechnix.com\/#contact\">\u00c9changer avec Aztechnix sur votre besoin<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>L\u2019API doit contr\u00f4ler les droits sur chaque ressource demand\u00e9e, pas seulement l\u2019identit\u00e9 de l\u2019utilisateur.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-216","post","type-post","status-publish","format-standard","hentry","category-actualites-decryptees"],"_links":{"self":[{"href":"https:\/\/www.aztechnix.com\/index.php?rest_route=\/wp\/v2\/posts\/216","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aztechnix.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aztechnix.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aztechnix.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aztechnix.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=216"}],"version-history":[{"count":1,"href":"https:\/\/www.aztechnix.com\/index.php?rest_route=\/wp\/v2\/posts\/216\/revisions"}],"predecessor-version":[{"id":226,"href":"https:\/\/www.aztechnix.com\/index.php?rest_route=\/wp\/v2\/posts\/216\/revisions\/226"}],"wp:attachment":[{"href":"https:\/\/www.aztechnix.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=216"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aztechnix.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=216"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aztechnix.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=216"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}