3.6.4. La notion de
hiérarchie
Afin de gérer plus facilement des sous-organisations,
en automatisant la dérivation des permissions, Or-BAC permet de
définir des hiérarchies sur les rôles, les
activités, les vues et les contextes. On a ainsi l'héritage des
permissions et des interdictions en descendant dans la hiérarchie des
rôles, des activités, des vues et des contextes. Tout comme dans
R-BAC, l'héritage permet de simplifier la tâche de
l'administrateur en automatisant partiellement l'attribution des
privilèges. Comme dans R-BAC, il existe deux façons de
définir la hiérarchie de l'héritage :
§ la première vision pour définir la
hiérarchie est la hiérarchie organisationnelle. Le directeur est
hiérarchiquement supérieur à un ingénieur. Dans
certains cas, il peut donc hériter de toutes les permissions de ce
rôle (pour vérifier le travail de celui-ci). On dit alors que R1
est senior de R2 et R2 est junior rôle de R1, si un utilisateur jouant le
rôle R1 est supérieur hiérarchique de R2 ;
§ la deuxième vision est la hiérarchie
obtenue par la relation de spécification/généralisation
est définie telle que R1 est un senior rôle de R2 si chaque fois
qu'un utilisateur joue le rôle de R1, elle joue le rôle de R2. Par
exemple sur la hiérarchie présentée sur le schéma
un peu plus en dessous, le chirurgien est aussi un médecin. Donc
à chaque fois qu'un utilisateur est associé au rôle de
chirurgien, il joue aussi le rôle de médecin. Le rôle
chirurgien est un senior rôle de du rôle médecin. Un
rôle R1 senior de R2 hérite donc les permissions affectées
à R2.
Dans Or-BAC, ces deux hiérarchies réapparaissent
mais les droits qui leur sont associés sont quelque peut
modifiés. En effet, avec le modèle Or-BAC, on peut définir
des permissions mais aussi des interdictions. Dans Or-BAC, on peut aussi
spécialiser un rôle. On voit donc apparaître une
hiérarchie liée à cette spécification. Dans cette
hiérarchie si on veut qu'un rôle senior puisse avoir plus de
pouvoir que son rôle junior, alors il faut que le rôle senior
hérite des permissions de son rôle junior et que les interdictions
liées au rôle senior soient héritées par son
rôle junior. De plus, par rapport à R-BAC, Or-BAC introduit le
concept d'organisation, ce qui donne une nouvelle dimension à
l'héritage. En effet, il est possible qu'un rôle puisse toujours
englober un certain sous-rôle quelle que soit l'organisation dans
laquelle on se place. Par exemple, dans tout hôpital, le rôle de
chirurgien est une spécialisation du sous-rôle médecin.
Or-BAC permet donc au chirurgien d'hériter de tous les droits du
médecin en ne définissant qu'une seule fois les droits. Le reste
se fait grâce à la relation de
spécialisation/généralisation. Identiquement, les vues et
les activités possèdent des sous-vues et des
sous-activités. On les hiérarchise donc afin de créer pour
elles aussi cette relation de
spécialisation/généralisation.
Un petit exemple de dérivation de privilèges par
la hiérarchie dans Or-BAC, sur le schéma, si on a :
Permission (Org.HOP, Médecin, Opérer, patient,
ctx.MéduPat.OUctx.Urg) alors à partir de la hiérarchie
définie, on dérive automatiquement : Permission (Org.HOP,
Urologue, Opérer, patient, ctx.MéduPat.OUctx.Urg) et
Permission (Org.HOP, Chirurgien, Opérer, patient,
ctx.MéduPat.OUctx.Urg)
|