Pour rappel, vous pouvez vous authentifier sur les APIs RSE par authentification basique (profil/mot de passe IBM i), ou via l’opération POST /api/v1/session obtenir un token et se servir de ce token pour appeler d’autres services.

Une idea propose d’ouvrir l’authentification basique aux mêmes possibilités que pour les serveurs d’application d’IWS : liste de validation, fichier xml, TAI : https://ideas.ibm.com/ideas/IBMI-I-4111 , elle est dans le status « future consideration ».
Mais pour aller plus loin dans la sécurité, je souhaiterais généraliser l’usage des tokens.
L’idea ci-dessus est complémentaire, pour permettre d’autre usage pour la demande de token qu’un profil/mot de passe IBM i.
Mais revenons à ma demande, et les raisons de cette demande :
Certains services ne sont accessible que par token. Il s’agit des 3 opérations get, put, delete du service session. Ces opérations n’ayant du sens qu’en cas d’ouverture d’une session API RSE par l’obtention d’un token, c’est plutôt cohérent. Il est donc possible pour IBM de forcer l’usage du token sur les opérations.
Vu que :
- Le paramétrage de limitation de l’usage des APIs RSE ne fonctionne qu’en cas de session, pas par authentification basique.
- L’audit des usages des APIs RSE, via l’opération GET /api/v1/admin/session, ne fonctionne qu’en cas de session pas par authentification basique.

Je pense, pour élever le niveau de sécurité des ces APIs, qu’il faudrait forcer l’usage des sessions et donc un accès par token.
Pour cela, 2 possibilités :
- Accepter l’authentification basique uniquement sur l’opération POST /api/v1/session, pour obtenir un token, toutes les autres ne pourront être utilisées qu’avec token. On ne laisse plus le choix.

- Rajouter un paramétrage dans l’opération POST /api/v1/admin/settings de type booléen par exemple : « OnlyToken » : true
Ce qui permettrait à chacun de choisir s’ils veulent bloquer ou non l’authentification basique.

J’ai ouvert une idea en ce sens, si vous la trouvez intéressantes, vous pouvez voter pour elles :
https://ideas.ibm.com/ideas/IBMI-I-4806
Nos précédents articles sur les API RSE :

