Baptisé Entitlements, l’outil IAM (gestion des identités et des accès) de Github exploite le propre framework Git pour analyser, suivre et approuver l'accès aux systèmes d'entreprise. Entitlements utilise un dépôt Git dédié comme centre d'échange centralisé pour les données de gestion des identités et des demandes pull pour effectuer des modifications - nouvelles approbations, révisions et toute autre modification - à un dépôt donné pour un système donné.

Des balises de métadonnées permettent également aux administrateurs d'être granulaires dans la gestion de l'accès à leurs systèmes. Les anciennes approbations devront être soumises à une revérification obligatoire, et certains utilisateurs ayant des tags différents pourront se voir accorder des droits et des privilèges différents, etc. Par ailleurs, Git fournit un journal d'audit détaillé pour l'ensemble du processus, si bien que les administrateurs peuvent savoir, par exemple, qui a demandé quel accès et quand, ou encore à quel moment il a été accordé, et par qui. Des listes détaillées de groupes, organisées par gestionnaire, région, niveau d'accès et autres sont aussi disponibles pour améliorer encore davantage l’audit.

Des itérations régulières

Selon le billet de blog officiel du référentiel annonçant le passage d’Entitlements en open source, cela fait « plusieurs années » que Git utilise le système Entitlements en interne. Le système peut être appliqué à n'importe quel dépôt Git, mais son utilisation directe avec GitHub.com permet plus de fonctionnalités, par exemple l’usage de tâches cron pour automatiser les tâches de révision et d'audit, ou l’usage d'une « source de vérité » de données commerciales pour pousser les mises à jour d'un organigramme vers le framework Entitlements.

GitHub a également déclaré que, comme tout bon projet open source, Entitlements était constamment amélioré et soumis à des itérations. « GitHub s’appuie sur Entitlements, selon une moyenne de 2 000 commits environ par mois », a précisé l'entreprise dans son blog. « Nous améliorons constamment l'application et cherchons des solutions pour qu’elle soit toujours plus facile à utiliser. Nous voulons que d’autres utilisateurs puissent profiter de ce que nous avons construit pour leurs propres besoins en IAM ».

De plus amples informations sur le système Entitlements sont disponibles sur le repo de l'application, et des exemples de configurations et de workflow sont disponibles sur le repo de configuration. GitHub a aussi livré en open source deux plugins de sortie pour Entitlements, l'un pour gérer les adhésions à GitHub Orgs et Team, et l'autre pour créer des logs d'audit robustes.