FR 2952214 A1 20110506 FR 0957779 A 20091104 -1- « Procédé et système de regroupement d'éléments, et utilisation pour la gestion des droits d'accès à des ressources dans une société » La présente invention concerne un procédé de regroupements d'éléments. Elle concerne également un système mettant en oeuvre un tel procédé et une utilisation d'un tel procédé et d'un tel système pour la gestion des droits d'accès à des ressources dans une société. Le domaine de l'invention est le domaine de regroupements d'éléments dans plusieurs groupes selon plusieurs critères portant sur les caractéristiques de ces éléments. La gestion des droits d'accès ou des habilitations dans une société est actuellement réalisée sous forme de groupes, à chacun des groupes étant associée une politique d'accès à des ressources avec des habilitations prédéfinies. Il existe actuellement des procédés ou systèmes permettant de réaliser automatiquement des groupes d'accès en fonction de données relatives à chacun des utilisateurs dans la société. Ces procédés et systèmes permettent le regroupement automatique des utilisateurs dans plusieurs groupes en utilisant des techniques uniquement statistiques. D'autres procédés de regroupement, utilisés notamment dans le domaine de l'imagerie ou sur des données statistiques, réalisent un regroupement de données en utilisant une distance dite de « Manhattan ». Cette distance de Manhattan est calculée entre tous les éléments pris deux à deux et en prenant en compte tous les critères utilisés pour réaliser le regroupement. La distance de Manhattan entre deux éléments est calculée de la manière suivante : - pour chacun des critères utilisés, la valeur associée au deuxième élément est soustraite de la valeur associé premier élément, - les différences obtenues pour l'ensemble des critères sont additionnées pour obtenir la distance de Manhattan totale entre les deux éléments. 2952214 -2 Cependant, le regroupement basé sur un calcul de la distance de Manhattan ne traduit pas réellement la distance entre deux éléments lorsqu'il s'agit de mesurer la distance entre deux groupes en fonction des 5 droits qu'ils définissent, et ne permet donc pas de réaliser un regroupement traduisant efficacement la réalité. Par exemple, dans le cas des habilitations d'accès à des ressources, le regroupement basé sur des distance classiques (de Manhattan ou Euclidienne) ne permet pas de réaliser la différence entre deux personnes 10 qui ont chacune une habilitation sur un ensemble de quatre ressources sans avoir d'habilitation en commun, de deux autres personnes qui ont chacune trois habilitations sur les mêmes quatre ressources en ayant pourtant deux habilitations en commun. Or, il est important de réaliser automatiquement et efficacement un regroupement des utilisateurs dans des groupes d'accès 15 surtout dans une société qui est en perpétuelle évolution et qui rend complexe la gestion des accès à des ressources au sein de la société. Un but de la présente invention est donc de remédier aux inconvénients précités. 20 Un autre but de l'invention est de proposer un procédé et un système de regroupement réalisant un regroupement plus efficace. Un autre but de l'invention est de proposer un procédé et un système de regroupement réalisant un regroupement plus proche de la réalité. 25 L'invention propose d'atteindre les buts précités par un procédé de regroupement automatique d'éléments en plusieurs groupes suivant une pluralité de critères, dit de rassemblement, portant sur une ou plusieurs caractéristiques desdits éléments, ledit procédé comprenant les étapes suivantes : 30 - constitution d'une matrice reliant chacun desdits éléments à une valeur associée audit élément pour chacun desdits critère de rassemblement, détermination d'une distance en pourcentage entre lesdits éléments, pris deux à deux, en fonction desdites valeurs desdits 2952214 -3- critères, la détermination d'une distance entre deux éléments comprenant les opérations suivantes : o élimination des critères ne concernant pas lesdits deux éléments, 5 o calcul de la distance en pourcentage entre lesdits deux éléments en prenant en compte les valeurs des critères restant. rassemblement desdits éléments dans plusieurs groupes en fonction desdites distances calculées. 10 Le procédé selon l'invention permet de réaliser un regroupement plus efficace et plus fidèle à la réalité. En effet, le procédé selon l'invention permet de réaliser un regroupement fidèle à la réalité, d'une part en basant le calcul de la distance 15 sur des critères qui concernent réellement les éléments considérés, d'autre part en utilisant un calcul de la distance en pourcentage. Un tel calcul de la distance mis en oeuvre dans le procédé selon l'invention permet de tenir compte des situations différentes qui dans l'état de la technique ne pouvaient pas être différenciées. 20 Par exemple, dans le cas de la gestion d'accès à des ressources, le procédé selon l'invention permet de différencier le cas de deux personnes qui ont chacune une habilitation sur un ensemble de quatre ressources sans avoir d'habilitation en commun, de deux autres personnes qui ont chacune trois habilitations sur les mêmes quatre ressources en ayant pourtant deux 25 habilitations en commun. Dans le premier cas la distance entre les deux personnes serait de 100% alors que dans le deuxième cas, la distance entre les deux personnes est de 50%, une distance de 100% entre deux personnes signifiant que les habilitations sont complètement différentes et une distance de 0% signifiant que les habilitations sont identiques. Cet 30 exemple sera détaillé plus loin, en référence aux figures. Avantageusement, le calcul de la distance peut être utilisé par un algorithme neuronal. L'algorithme neural utilisé peut être l'algorithme Growing Neural Gas. 2952214 -4 Avantageusement, le procédé selon l'invention peut en outre comprendre une affectation d'une valeur de pondération statique à au moins un critère pour le calcul de la distance. Dans ce cas, la valeur de pondération 5 statique affectée à ce critère sera identique pour tous les éléments. Ainsi, il est possible de prendre en compte, dans le calcul de la distance, l'importance d'un élément, de manière identique sur l'ensemble des éléments. 10 Dans un mode de réalisation particulièrement avantageux, le procédé selon l'invention peut en comprendre une affectation d'une valeur de pondération dynamique à au moins un critère pour le calcul de la distance entre les éléments, ladite valeur de pondération dynamique étant différente pour au moins deux éléments et étant déterminée, pour chacun des 15 éléments, en fonction de données relatives audit élément. Le procédé selon l'invention permet ainsi de tenir compte de l'importance d'un critère, cette importance étant variable en fonction de l'élément considéré. Dans un exemple d'application particulier et non limitatif concernant la 20 gestion des droits d'accès à des ressources dans une société, il peut être envisageable d'affecter, à au moins une ressource, une valeur de pondération dépendant de la fréquence d'accès à cette ressource par chacun des utilisateurs. Une telle pondération dynamique permet, au procédé selon 25 l'invention, de rester fidèle à la réalité de la situation dans la constitution des différents groupes lors du groupement automatique. Ainsi, le procédé selon l'invention permet de réaliser un groupement plus efficace que les procédés et systèmes de l'état de la technique. 30 Par ailleurs, le procédé selon l'invention peut en outre comprendre une exclusion d'au moins un critère pour le calcul de la distance entre au moins une partie des éléments. Une telle exclusion permet de tenir compte de cas particulier, sans modifier l'ensemble du procédé de regroupement et le principe du calcul de la distance. - 5 Avantageusement, les critères peuvent être groupés dans plusieurs groupes de critères, dits types de critères. Dans ce cas, la matrice utilisée peut être une matrice multidimensionnelle, chaque type de critère correspondant à une dimension de ladite matrice multidimensionnelle. Par exemple, dans une société, le regroupement peut être réalisé en fonction de l'accès à des ressources informatiques, mais également à des ressources physiques tels que l'accès à certains locaux ou zones de la société. Dans ce cas, un premier type de critère peut être « accès à des ressources informatiques » et un deuxième type de critères peut être « accès aux locaux ». Chacun des types de critères constituera une dimension d'une matrice multidimensionnelle. Selon un exemple de réalisation particulier, le calcul de la distance entre deux éléments peut comprendre les opérations suivantes : - pour chacun des critères pris en compte, calcul de la différence par soustraction de la valeur de ce critère pour le deuxième élément de la valeur de ce critère pour le premier élément, - calcul de la distance de Manhattan par addition des différences calculées pour l'ensemble des critères, et - calcul de la distance en pourcentage par division de ladite somme de Manhattan par le nombre total de critères pris en compte pour le calcul de la distance entre lesdits deux éléments. De plus, pour au moins un critère, la valeur associée à au moins un élément pour ce critère peut être : - 1 lorsque ledit critère est vérifié par ledit élément, -1 dans le cas contraire. Le procédé selon l'invention peut être utilisé pour la gestion d'un système d'information d'une entité composée de plusieurs personnes. Plus particulièrement, le procédé selon l'invention peut être mis en oeuvre pour la gestion d'accès à des ressources dans une société. Dans ce 2952214 -6- cas les éléments correspondant aux utilisateurs des ressources dans cette société et les critères correspondent aux droits d'accès à chacune des ressources. 5 Selon un autre aspect de l'invention, il est proposé un système de regroupement automatique d'éléments en plusieurs groupes suivant une pluralité de critères, dit de rassemblement, portant sur une ou plusieurs caractéristiques desdits éléments, ledit système comprenant : - des moyens de constitution d'une matrice reliant chacun desdits 10 éléments à une valeur associée audit élément pour chacun desdits critère de rassemblement, - un moteur de calcul de distance en pourcentage entre lesdits éléments, pris deux à deux, en fonction desdites valeurs desdits critères, ledit moteur de calcul comprenant des moyens pour : 15 o éliminer des critères qui ne concernent pas lesdits deux éléments, o calculer la distance en pourcentage entre lesdits deux éléments en prenant en compte les valeurs des critères restant. 20 - des moyens de regroupement desdits éléments dans plusieurs groupes en fonction desdites distances calculées. Avantageusement, le moteur de calcul peut implémenter un algorithme neuronal. Selon encore un autre aspect de l'invention, il est proposé un programme d'ordinateur comprenant des instructions pour réaliser les étapes du procédé selon l'invention. 30 D'autres avantages et caractéristiques apparaîtront à l'examen de la description détaillée d'un mode de réalisation nullement limitatif, et des dessins annexés sur lesquels : - la figure la et lb sont des représentations schématiques des droits d'accès à des ressources informatiques dans une société ; 25 2952214 -7- - la figure 2 est une représentation schématique d'un calcul de distance selon les procédés de l'état de la technique. - la figure 3 est une représentation schématique d'un calcul de distance conformément au procédé selon l'invention, 5 - la figure 4 est une représentation d'un calcul de distance conformément au procédé selon l'invention avec une valeur de pondération statique, et - la figure 5 est une représentation schématique d'un outil de gestion des droits d'accès dans une société mettant en ouvre le procédé 10 selon l'invention. Sur les figures et dans la suite de la description, les éléments communs à plusieurs figures conservent la même référence. 15 La figure la est une représentation schématique d'un ensemble de quatre utilisateurs U1-U4 et leur droits d'accès à quatre ressources CRM, RACF, AN et Unix dans une société. La figure lb est une matrice bidimensionnelle représentant les droits d'accès à aux ressources informatiques. 20 Dans la matrice 100, chaque ligne correspond aux droits d'accès d'un utilisateur à chacune des ressources informatiques de la société. Chaque colonne représente pour une ressource les droits d'accès de tous les utilisateurs. Les droits d'accès sont représentés sous forme binaire, une valeur 25 « 1 » signifiant que la personne a droit d'accéder à cette ressource et une valeur de « -1 » signifiant que la personne n'a aucun droit d'accès à cette ressource. La figure 2 montre les résultats de calcul de distance obtenue avec les 30 procédés de l'état de la technique mettant en oeuvre un calcul de distance de Manhattan. Dans l'état de la technique la distance entre un premier et un deuxième élément est calculée de la manière suivante : 2952214 -8- - pour chaque critère, la différence entre les valeurs associées au premier et au deuxième élément est calculée, - la distance totale entre le premier et le deuxième élément est déterminée en additionnant les valeurs absolues des différences 5 calculées pour l'ensemble des critères Ainsi, le tableau 202 montre la distance calculée entre l'utilisateur U1 et l'utilisateur U2 et le tableau 204 montre la distance calculée entre l'utilisateur U3 et l'utilisateur U4. Le tableau 204 montre que la distance totale entre les utilisateurs U3 10 et U4 est de 2. Le tableau 202 montre que la distance totale entre les utilisateurs U1 et U2 est de 2, tout comme la distance entre les utilisateurs U3 et U4. Cependant, les utilisateurs U1 et U2 n'ont aucun droit commun contrairement aux utilisateurs U3 et U4 qui ont les droits CRM et AD en commun. 15 Les procédés de l'état de la technique ne permettent pas une différenciation de deux configurations telles celles décrites ici. Nous allons maintenant voir en référence à la figure 3, les calculs de distance en pourcentage mis en oeuvre dans le procédé selon l'invention 20 pour cette même situation. Le calcule de la distance en pourcentage entre deux éléments selon l'invention est réalisée de la manière suivante : - les critères qui ne concernent pas les deux éléments sont éliminés deux calcul de la distance. Dans le présent exemple, les critères 25 pour lesquels une valeur de « -1 » est associé aux deux éléments sont éliminés du calcul de la distance ; - pour chaque critère restant, la différence entre les valeurs associées au premier et au deuxième élément est calculée ; - les valeurs absolues des différences calculées pour l'ensemble des 30 critères restants sont additionnées ; et - la valeur obtenue est divisée par le nombre de critères restant. Le tableau 302 montre la distance calculée entre l'utilisateur U1 et l'utilisateur U2 et le tableau 304 montre la distance calculée entre l'utilisateur U3 et l'utilisateur U4. 2952214 -9- Le tableau 302 montre que, conformément au procédé selon l'invention, les droits RACF et Unix qui ne concernent pas les utilisateurs U1 et U2 n'ont pas été pris en compte dans le calcul de la distance entre ces deux utilisateurs. La distance totale obtenue entre l'utilisateur U1 et 5 l'utilisateur U2 est donc de 100%. Le tableau 304 montre que tous les droits qui concernent les utilisateurs U3 et U4 et ont tous été pris en compte dans le calcul de la distance entre ces deux utilisateurs. La distance totale obtenue entre l'utilisateur U3 et l'utilisateur U4 est donc de 50%. 10 Les distances calculées conformément au procédé selon l'invention sont plus cohérentes et plus proche de la réalité que celles calculées par les procédés de l'état de la technique puisque U3 et U4 ont deux droits en commun sur quatre (d'où une distance de 50%) et U1 et U2 n'ont aucun droit en commun sur quatre (d'où une distance de 100%). 15 Ainsi, le procédé selon l'invention permet de différencier deux configurations que les procédés et système de l'état de la technique ne permettent pas de différencier. Le calcul de la distance peut en outre comprendre une valeur de 20 pondération statique affectée à un critère. Le tableau 402 en figure 4 montre un exemple d'une telle affectation de valeur de pondération et le calcul de la distance entre les utilisateurs. Une valeur de pondération de « 2 » est accordée au « droit AD ». La valeur de pondération est multipliée par la différence obtenue entre 25 les valeurs accordées aux utilisateurs pour le critère concerné. Elle est également prise en compte pour le calcul du pourcentage. Ainsi, la nouvelle distance entre les utilisateurs U3 et U4 est de 40%, c'est-à-dire moins que celle (50%) trouvée en figure 3 sans la valeur de pondération. Cette diminution de la distance est parfaitement justifiée 30 puisque une importance plus grande est accordée au droit AD auquel les utilisateurs U3 et U4 ont droit. Une affectation d'une valeur de pondération peut se faire dynamiquement, par exemple via l'utilisation de fichier de logs spécifiant la 2952214 - 10 - fréquence d'utilisation des affectations. Ainsi, une affectation utilisée régulièrement aura une pondération plus importante qu'une affectation jamais utilisée. 5 Par ailleurs, la mesure de distance entre 2 éléments se faisant en pourcentage, il est également possible de définir des affectations à exclure d'un même groupe. En considérant que la comparaison de 2 éléments possédant des affectations à exclure, on définit alors une distance de 100% entre les 2 éléments. Par exemple, l'utilisateur U3 possède les droits CRM, 10 AD et Unix, l'utilisateur U4 possède les droits CRM, RACF et AD. En considérant que les droits RACF et Unix sont exclus, la distance entre U3 et U4 sera alors de 100% et cette distance qui sera pris en compte pour la phase de regroupement automatique. 15 Nous allons maintenant décrire un algorithme neuronal implémentant le procédé selon l'invention pour réaliser un regroupement d'éléments. Les données à traitées étant mis sous forme de matrice multidimensionnelles, les algorithmes de réseaux neuronaux, et plus particulièrement l'algorithme Growing Neural Gas est utilisé pour réaliser le 20 regroupement. Les différentes étapes par lesquels passe l'algorithme Growing Neural Gas sont décrites ci-dessous. 1. Création d'un réseau de 2 neurones définis aléatoirement : A={cl,c2}. Création d'un lien entre cl et c2 avec un âge de 0. 25 Initialisation de t à 1. 2. Sélection d'un vecteur de données aléatoirement. 3. Choix d'un neurone gagnant si et du second s2. Lors de cette étape, le calcul de la distance entre vecteur se fait conformément à l'invention. 30 4. Création d'un lien entre si et s2 avec un âge de 0, si le lien est déjà existant remise à 0 de l'âge. 5. Mise à jour de la variable « d'erreurs » liée à si : AEs1 += IEùwsl l 12 2952214 - 11 - 6. Déplacement des neurones vers le vecteur sélectionné AWs1=Eb(£ûWS1) et LW;=(EnûW;) ViENsl où NS1 est l'ensemble des voisins topologiques direct de si. 7. Augmentation de l'âge de tous les liens concernant si : age(s1,i) +=1 Vi E Nsl. 8. Suppression des liens ayant un âge supérieur à agemax. Suppression des neurones n'ayant plus de liens. 9. Si t=0 [À] a) Sélection du neurone q ayant le plus « d'erreurs » cumulées : max E ce A b) Sélection du voisin direct f de q ayant le plus « d'erreurs » : max f ce NqE c) Ajout d'un neurone r : A=Au{r} ; Wr =(Wq+Wf)/2 d) Ajout de liens entre r et f, r et q. Suppression du lien entre f et q. e) Réduction de la variable « d'erreurs » de q et f : f) AEq = ùaEq et AEf = ùaEf g) Mise à jour de la variable « d'erreurs » de r : Er =(Eq +Ef ) / 2 10.Réduction de la variable « d'erreurs » de tous les neurones : 20 £Ec = û pEc ; V EA 11.Si t 25 En référence à la figure 5, cet outil de gestion 500, peut comprendre un module de création de groupes 502 mettant en oeuvre le procédé selon l'invention. L'outil de gestion 500 peut en outre comprendre un module 504 30 d'importation de données relatives aux personnes à regrouper dans plusieurs groupes. Les données importées peuvent comprendre des données 5 10 15 2952214 - 12 - relatives aux accès des différentes personnes à des ressources de la société. Ces données peuvent se présenter sous la forme de fichiers logs. L'outil de gestion 500 peut comprendre un module 506 de génération de règles de regroupement portant sur plusieurs critères. Ainsi, l'opérateur 5 peut par exemple définir les critères à prendre en compte pour réaliser les regroupements, les valeurs de pondération statiques et dynamiques pour chacun des critères, les exceptions lors du regroupement ainsi que les valeurs définissant les différents groupes, c'est-à-dire les valeurs limites de distance permettant de regrouper deux personnes dans un même groupe, 10 le nombre minimum/maximum de personnes dans un groupe, etc. En fonction des données relatives aux personnes à regrouper, des critères regroupement et des règles de regroupement, le module de regroupement 502 réalise le regroupement des personnes dans plusieurs groupes. 15 Bien entendu l'invention n'est pas limitée aux exemples qui viennent d'être décrits. REVENDICATIONS1. Procédé de regroupement automatique d'éléments (U1-U4) en plusieurs groupes suivant une pluralité de critères, dit de rassemblement, portant sur une ou plusieurs caractéristiques desdits éléments, ledit procédé comprenant les étapes suivantes : - constitution d'une matrice reliant chacun desdits éléments (U1-U4) à une valeur associée audit élément pour chacun desdits critères de rassemblement, détermination d'une distance en pourcentage entre lesdits éléments (U1-U4), pris deux à deux, en fonction desdites valeurs desdits critères, ladite détermination d'une distance entre deux éléments comprenant les opérations suivantes : o élimination des critères ne concernant pas lesdits deux éléments, o calcul de la distance en pourcentage entre lesdits deux éléments en prenant en compte les valeurs des critères restant. - rassemblement desdits éléments (U1-U4) dans plusieurs groupes en fonction desdites distances calculées. 2. Procédé selon la revendication 1, caractérisé en ce que le calcul de la distance est utilisé par un algorithme neuronal. 3. Procédé selon la revendication 2, caractérisé en ce que l'algorithme neuronal utilisé est l'algorithme Growing Neural Gas. 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre une affectation d'une valeur de pondération statique à au moins un critère pour le calcul de la distance. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre une affectation d'une valeur de pondération dynamique à au moins un critère pour le calcul de la distance 2952214 - 14 - entre les éléments, ladite valeur de pondération dynamique étant différente pour au moins deux éléments et étant déterminée, pour chacun des éléments, en fonction de données relatives audit élément. 5 6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'il comprend en outre une exclusion d'au moins un critère pour le calcul de la distance entre au moins une partie des éléments. 7. Procédé selon l'une quelconque des revendications précédentes, 10 caractérisé en ce que les critères sont groupés dans plusieurs groupes de critères, dits types de critères, la matrice utilisée est une matrice multidimensionnelle, chaque type de critère correspondant à une dimension de ladite matrice multidimensionnelle. 15 8. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le calcul de la distance entre deux éléments comprend les opérations suivantes : pour chacun des critères pris en compte, calcul de la différence par soustraction de la valeur de ce critère pour le deuxième élément 20 de la valeur de ce critère pour le premier élément, calcul de la distance de Manhattan par addition des différences calculées pour l'ensemble des critères, et - calcul de la distance en pourcentage par division de ladite somme de Manhattan par le nombre total de critères pris en compte pour 25 le calcul de la distance entre lesdits deux éléments. 9. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que, pour au moins un critère, la valeur associée à au moins un élément pour ce critère est : 30 - 1 lorsque ledit critère est vérifié par ledit élément, - -1 dans le cas contraire. 2952214 -15- 10. Utilisation du procédé selon l'une quelconque des revendications précédentes pour la gestion d'un système d'information d'une entité composée de plusieurs personnes. 5 11. Utilisation du procédé selon l'une quelconque des revendications 1 à 9 pour la gestion d'accès à des ressources dans une société, les éléments étant les utilisateurs des ressources dans ladite société et les critères étant les droits d'accès à chacune des ressources. 10 12. Système de regroupement automatique d'éléments en plusieurs groupes suivant une pluralité de critères, dit de rassemblement, portant sur une ou plusieurs caractéristiques desdits éléments, ledit système comprenant : des moyens de constitution d'une matrice reliant chacun desdits 15 éléments à une valeur associée audit élément pour chacun desdits critère de rassemblement, - un moteur de calcul de distance en pourcentage entre lesdits éléments, pris deux à deux, en fonction desdites valeurs desdits critères, ledit moteur de calcul comprenant des moyens pour : 20 o éliminer des critères qui ne concernent pas lesdits deux éléments, o calculer la distance en pourcentage entre lesdits deux éléments en prenant en compte les valeurs des critères restant. 25 des moyens de regroupement desdits éléments dans plusieurs groupes en fonction desdites distances calculées. 13. Système selon la revendication 12, caractérisé en ce que le moteur de calcul implémente un algorithme neuronal. 30 14. Programme d'ordinateur comprenant des instructions pour réaliser les étapes du procédé selon l'une quelconque des revendications 1 à 11, lorsque ledit programme fonctionne sur un ordinateur.