Un Avanadien contribue au GitHub Patterns and Practices de la communauté Microsoft 365
- Publié le mardi 1 février 2022
- temps de lecture 6 minutes
![](/-/media/m365-patterns--practices-3.png?vs=1&w=1120&la=fr-FR&hash=9939B3C010CDE24222A1CBFD598EB0FF)
Aimery Thomas, développeur chez Avanade France, s’est distingué en proposant un composant bien utile pour la gestion des certificats et des secrets. Découvrez sa contribution et ses explications techniques.
La communauté M365 est très dynamique et tout développeur connaît et utilise intensivement PNP (Patterns and Practice - PnP | Microsoft 365). La richesse des outils, exemples, guides ou SDK est disponible en open source sur GitHub et est le fruit de contributeurs individuels comme moi, soutenus par Microsoft.
"The PnP team is a virtual team consisting of Microsoft employees and community members focused on helping the community make the best use of Microsoft products. We believe that by sharing guidance, tools, solutions, and samples, we better both the community itself and the quality of solutions created by the community"
En tant que développeur Microsoft 365, j’utilise régulièrement des applications Azure Active Directory (Azure AD), que ce soit pour authentifier des utilisateurs ou gérer des permissions spécifiques. Et bien sûr, chacune de ces applications peut utiliser plusieurs secrets ou certificats pour, par exemple, gérer plusieurs environnements techniques : production, pré-production, etc.
Je me suis donc rapidement rendu compte qu’il n’était pas évident de suivre les différentes dates d’expiration de ces secrets et certificats. Je risquais donc de me retrouver avec des applications non fonctionnelles car leurs permissions pouvaient avoir expiré. C’est à partir de ce constat que m’est venue l’idée de développer un tableau de bord me permettant de surveiller l’ensemble de ces secrets et certificats ainsi que leurs dates d’expirations respectives en les centralisant au même endroit.
Le tableau de bord que j’ai développé présente les fonctionnalités suivantes :
• Une pagination qui permet de ne pas afficher toutes les applications sur une seule page.
• Une fonctionnalité de recherche permettant d’identifier tous les éléments répondant à un critère particulier. Par exemple, tous les secrets qui vont expirer en 2022.
• Une fonctionnalité permettant de grouper les secrets et certificats.
• Une fonctionnalité permettant d’afficher uniquement les secrets et certificats qui vont expirer dans les 30 prochains jours.
D’un point vu un peu plus technique, ce tableau est une Web Part SharePoint, développée à l’aide du SharePoint Framework et utilisant l’API Microsoft Graph. Il suffit donc de télécharger cette Web Part et de l’ajouter sur n’importe quelle page d’un site SharePoint.
Cette Web Part est un composant open source disponible sur le site Github (https://github.com/pnp/sp-dev-fx-webparts/tree/main/samples/react-graph-app-secret-expiration) de la Communauté Microsoft 365. J’ai d’ailleurs eu l’opportunité de présenter ce composant aux membres de cette communauté. La vidéo de cette démonstration est disponible ici : Building custom Application Secrets Expiration Web Part - YouTube
J’ai eu l’idée de développer ce composant parce qu’en tant que développeur j’utilise plusieurs Applications Azure AD. En tant que DSI, vos équipes peuvent être amenées à utiliser et gérer plusieurs centaines d’applications et donc devoir surveiller l’expiration d’un très grand nombre de secrets ou de certificats. Ce composant vous sera donc d’une grande utilité en termes de gain de temps et d’efficacité opérationnelle.
L’avantage d’un composant open source tient au fait qu’il peut être repris et amélioré par la communauté. Tout développeur peut donc télécharger ce composant pour l’adapter à ses propres besoins. Je pense par exemple à ajouter une fonctionnalité d’envoi d’e-mails permettant de notifier les administrateurs d’une expiration imminente d’un secret ou d’un certificat.
Commentaires