ABAC et XACML Attribute Based Access Control eXtensible Access Control Markup Language INF6153 1.

  • Published on
    04-Apr-2015

  • View
    102

  • Download
    1

Transcript

  • Page 1
  • ABAC et XACML Attribute Based Access Control eXtensible Access Control Markup Language INF6153 1
  • Page 2
  • ABAC et XACML ABAC = Attribute Based Access Control XACML = eXtensible Access Control Markup Language ABAC est un modle de contrle daccs XACML est un langage standardis utilisant le modle ABAC INF6153 2
  • Page 3
  • Attribute Based Access Control Dans ABAC, la dcision est prise sur la base de conditions boolennes sur des valeurs dattributs Sujet Ressource et Action sont des catgories qui regroupent des attributs P.ex. attributs du sujet pourraient tre: ge, rle, nom, type etc Les attributs ont des valeurs P.ex. Nom(sujet)=Gervais, Genre(sujet)=masculin, Age(sujet)=25, Identif(action)=criture, Type(action)=modification La requte de contrle daccs est un ensemble de couples (attribut=valeur) elle reprsente ltat du demandeur P. ex. (Nom(sujet)=Gervais) et (Age(sujet)= 25) et (Identif(action)=lecture) et (Identif(ressource)=livre RBAC) Les rgles de contrle daccs sont bases sur des cibles reprsentes par des expressions boolennes la logique Permettre si (Type(sujet)= tudiant) et (Type(action)= consultation) et (Type(ressource)=livre en rserve) et (Temps(requte)= heures de travail) 3 INF6153
  • Page 4
  • Autre Exemple de Condition Le sujet qui fait requte est un tudiant de notre universit Il est localis dans le btiment Tach ou Brault, pas St-Jerme Lheure est entre 8h et 20h Il nest pas dimanche INF6153 4
  • Page 5
  • Rgles et politiques Les rgles nous les avons vues Les politiques sont des ensembles de rgles Normalement les rgles dans une politique sont relies par une ide commune P.ex. on pourrait avoir des politique: accs la bibliothque virtuelle qui runit toutes les rgles qui dterminent laccs cette bibliothque accs aux dossiers de comptabilit INF6153 5
  • Page 6
  • lments architecturels de ABAC PEP: Policy Enforcement Point: Donne ou refuse un accs PDP: Policy Decision Point: Prend la dcision si laccs doit tre donn ou refus Utilisant les politiques et rgles qui sont enregistres dans une base de donnes appele Policy Store PAP: Policy Administration Point Gre le Policy Store: ajout, enlvement de politique PIP: Policy Information Point - fournit les informations dont le PDP a besoin pour prendre ses dcisions Les modle dattributs et les ontologies, v. aprs Ltat de lenvironnement: P.ex. lheure Location de lusager ou de la ressource Etc. INF6153 6
  • Page 7
  • ABAC Schma architecturel INF6153 7 Source: NIST Special Publication 800-162 DP: Digital Policy
  • Page 8
  • Implmentation Diffrentes implmentations sont possibles Le PEP est associ lobjet et les PDP-PIP sont distance On peut avoir plusieurs PEPs pour plusieurs objets Mais aussi, on peut avoir dans le PEP des politiques dj actualises sans avoir besoin daccs continu au PDP INF6153 8
  • Page 9
  • Modle dattributs Un systme ABAC a un modle qui connat tous les attributs qui peuvent tre utiliss, dans des requtes ou dans des rgles Dans le modle, les valeurs peuvent tre organiss en ontologies, p.ex. on peut savoir quun fichier dinventaire est un fichier de comptabilit quil est au niveau secret quun acroread est un type de read quun professeur auxiliaire est un professeur quil y a diffrents types dtudiants: temps plein, temps partiel, de 1er cycle, de 2me cycle etc. Les hirarchies de rles, sil y en a, sont donc stockes dans cette base de donnes Ainsi que les niveaux dautorisation sil est dsir dimplmenter MAC Etc. INF6153 9
  • Page 10
  • Ontologies Une ontologie est un ensemble de concepts relis par des relations Un ensemble de connaissances formalis est une ontologie P.ex. le systme mtrique Une structure organisationnelle, une hirarchie de rles est une ontologie Les ontologies sont importantes dans le cas dentits qui doivent partager un ensemble de connaissances Elles tablissent les concepts sur lesquels les entits doivent tre daccord, concepts qui rendent la communication possible P.ex. dans le cas du commerce lectronique Un catalogue est une ontologie qui tablit un ensemble de connaissances communes entre vendeur et acheteurs INF6153 10
  • Page 11
  • Le PDP comme moteur dinfrence Si le PEP informe le PDP que: (Jamel) demande (dentrer) ( la bibliothque) (22h), Le PDP doit trouver dans le Policy Store la rgle approprie: Refuser (aux tudiants) (laccs) (aux locaux de luniversit) (aprs 20h) Mais il ne sait pas que Jamel est un tudiant, quil est aprs 20h etc Aprs requte du PDP, le PIP informe le PDP que, sur la base des attributs Jamel est un tudiant temps partiel un tudiant temps partiel est un tudiant entrer est un accs la bibliothque est un local de luniversit Le PIP informe aussi le PDP que, sur la base de ltat de lenvironnement nous sommes 22h>20h. Le PDP conclut que la demande daccs doit tre nie Le PDP en informe le PEP qui informe ltudiant INF6153 11
  • Page 12
  • Cohrence globale Une difficult pour les systmes ABAC est le fait que la terminologie et les concepts (lontologie) doivent tre cohrents dans les diffrentes composantes p.ex. dans lexemple prcdent, le PDP, PIP et PAP doivent avoir la mme comprhension de: Jamel tudiant bibliothque local de lUniversit 22h Est-ce-vrai? rflchissez sur cet exemple et dterminer exactement quels concepts doivent tre connus par les diffrentes entits du systme, et quel types de connaissances doivent tre partags entre les entits Ceci nest pas facile planifier et doit tre cohrent avec la politique de lorganisation INF6153 12
  • Page 13
  • + et - + Dun ct ABAC permet de reprsenter les politiques dune organisation avec des critres plus complexes et dtaills que MAC ou RBAC on peut utiliser un nombre illimit dattributs et des expressions boolennes complexes - Dun autre ct il exige une planification des concepts dentreprise (ontologies) beaucoup plus complexe que ce qui est demand par MAC ou RBAC + Nous verrons que MAC et RBAC peuvent tre implments en ABAC INF6153 13
  • Page 14
  • Meta-rgles de rsolution de conflits Si le PDP dtecte des rgles qui conduisent des dcisions opposs, il fait rfrence des mtargles qui pourraient avoir t fournies par ladministrateur Mtargles: rgles pour dterminer lexcution de rgles P.ex.: Deny overrides: sil y a une rgle qui nie laccs, elle est applique malgr autres rgles qui pourraient le permettre On utilise celle-ci si on dsire limiter laccs le plus possible Permit overrides: sil y a une rgle qui permet laccs, elle est applique malgr autres rgles qui pourraient lempcher INF6153 14
  • Page 15
  • Utilisation de ABAC pour plusieurs organisations INF6153 15
  • Page 16
  • Cas pratique pour lexemple prcdent Plusieurs organisations partagent une base de donnes Chacune a des critres daccs bass sur les informations qui lintressent Exemple: Citoyennet Canada et Revenu Canada utilisent la mme base de donnes, mais chacune selon ses propres critres: Citoyennet Canada pourrait dire quun certain type demploy na pas accs aux dossiers des personnes ayant obtenu la citoyennet avant lan 2000 Revenu Canada pourrait dire quun certain type demploy na pas accs aux dossiers de personnes qui font plus de 30,000$/an Le PDP doit tre capable de prendre des dcisions daccs bases sur les critres de lun ou de lautre, selon lorigine de la requte INF6153 16
  • Page 17
  • Ontologies communes Afin que ceci fonctionne, toutes les organisations impliques doivent utiliser les mmes concepts dans leur Attribute Store Conformes ceux qui sont utiliss dans le PDP auquel tous font accs Cette cohrence est difficile obtenir en pratique: Le problme est dj assez difficile pour une seule organisation INF6153 17
  • Page 18
  • Trust Chain ou Chane de confiance La chane de confiance est la chane de tous les usagers ou composants sur lesquels repose la fiabilit du mcanisme de dcision Sil y a une faille, on cherche le responsable en parcourant cette chane Au fur et mesure que la technique de contrle daccs devient plus complexe, la chane de confiance devient plus longue et complexe INF6153 18
  • Page 19
  • Chane de confiance simple pour les Access Control Lists (DAC-ACL) INF6153 19 Essentiellement, dans DAC-ACL la confiance repose sur les propritaire des objets qui crent les ACL
  • Page 20
  • Chane de confiance plus complexe pour ABAC INF6153 20 Dans ABAC, la chane de confiance inclut plusieurs sources sur lesquelles le propritaire de lobjet na aucun contrle: les crateurs et classeurs des attributs (taxonomies et ontologies), les dveloppeurs de politiques, etc.
  • Page 21
  • ABAC, XACML, OASIS XACML est une norme de OASIS, qui donne une dfinition prcise de ABAC, avec des variations et des extensions Une architecture normalise Un langage bas sur XML Cette norme est en dveloppement depuis plusieurs annes et la premire version a t disponible en 2003 Nous sommes la 3me version de 2013 OASIS: https://www.oasis-open.org/https://www.oasis-open.org/ Organization for the Advancement of Structured Information Standards Une organisation de normalisation internationale, qui travaille sur plusieurs normes de scurit INF6153 21
  • Page 22
  • XACML fournit Une architecture de systme, une base pour limplmentation Des principes de communication entre les composants Un langage pour les rgles et le politiques Un langage pour les requtes et les rponses Types de donnes normaliss, fonctions, algorithmes de combinaison Extensibilit Diffrents profils Pour RBAC, pour lintimit INF6153 22
  • Page 23
  • XACML Architecture INF6153 23
  • Page 24
  • Policy Enforcement point INF6153 24 Reoit les demandes daccs Fait des requtes concernant les demandes daccs et met en uvre les rponses Permission ou refus Invoque le service des obligations
  • Page 25
  • PAP: Policy Administration Point INF6153 25 Entretien de la base de donnes des politiques
  • Page 26
  • PDP: Policy Decision Point INF6153 26 Contient la base de donnes des politiques Traite les requtes daccs Recherche et value les politiques pertinentes Retourne la dcision au PEP
  • Page 27
  • PIP: Policy Information Point INF6153 27 Contient et distribue les informations ncessaires pour lvaluation des rgles.
  • Page 28
  • Context Handler INF6153 28 Fait la conversion entre le format utilis lextrieur du systme et celui utilis lintrieur le format XACML Centre de relai pour le systme (Donc les usagers dun systme XACML ne sont pas obligs dutiliser le langage XACML)
  • Page 29
  • Contexts INF6153 29
  • Page 30
  • Dans lensemble INF6153 30 Conversion de format XACML
  • Page 31
  • Tel que dcrit dans la norme INF6153 31 1.PAPs write policies and policy sets and make them available to the PDP. These policies or policy sets represent the complete policy for a specified target. 2.The access requester sends a request for access to the PEP. 3.The PEP sends the request for access to the context handler in its native request format, optionally including attributes of the subjects, resource, action, environment and other categories. 4.The context handler constructs an XACML request context, optionally adds attributes, and sends it to the PDP. 5.The PDP requests any additional subject, resource, action, environment and other categories (not shown) attributes from the context handler. 6.The context handler requests the attributes from a PIP. 7.The PIP obtains the requested attributes. 8.The PIP returns the requested attributes to the context handler. 9.Optionally, the context handler includes the resource in the context. 10.The context handler sends the requested attributes and (optionally) the resource to the PDP. The PDP evaluates the policy. 11.The PDP returns the response context (including the authorization decision) to the context handler. 12.The context handler translates the response context to the native response format of the PEP. The context handler returns the response to the PEP. 13.The PEP fulfills the obligations. 14.(Not shown) If access is permitted, then the PEP permits access to the resource; otherwise, it denies access. IN6153IN6153
  • Page 32
  • Concernant le fonctionnement interne La norme XACML dit peu sur le fonctionnement interne des diffrentes composantes Il se limite aux fonctionnalits dvaluation logique des requtes et politiques Beaucoup dintelligence pourrait se trouver dans les PDP et PIP, mais la norme nen parle presque pas Laiss limplmentation, videmment INF6153 32
  • Page 33
  • Exemples du langage XACML XACML est un langage complexe avec beaucoup doptions, voici une ide gnrale INF6153 33
  • Page 34 bs@simpsons.com file://example/med/record/patient/BartSimpson read Attributs du sujet Attributs de la ressource Attributs de laction">
  • Exemple de requte INF6153 34 Bart Simpson, with e-mail name "bs@simpsons.com", wants to read his medical record at Medi Corp. bs@simpsons.com file://example/med/record/patient/BartSimpson read Attributs du sujet Attributs de la ressource Attributs de laction
  • Page 35
  • Formalisation Name(subject-id (subject)) = bs@simpsons.com bs@simpsons.com URI(resource-id(resource)) = file://example/med/record/patient/BartSimpson file://example/med/record/patient/BartSimpson String(action-id(action)) = read INF6153 35
  • Page 36
  • Concept de catgorie et dattributs Les catgories peuvent avoir attributs Dans XACML 2, il ny avait que les catgories conventionnelles: Sujet, Action, Ressource, Environnement Dans XACML 3, on peut dfinir des nouvelles catgorie avec leurs propres attributs, ce qui augmente la flexibilit du langage P.ex. Service Ceci permet dajouter des conditions relatives aux nouvelles catgories: Nom(Sujet)=X et et Ident(Service)=RservationHotel INF6153 36
  • Page 37
  • Policy Language Model INF6153 37
  • Page 38
  • Structure de Politiques et rgles INF6153 38
  • Page 39
  • Cibles ou Targets Les ensembles de politiques, politiques et rgles contiennent des cibles qui identifient les cas o ils sont applicables INF6153 39
  • Page 40
  • Target-Cible: doctors, read or write med records INF6153 40 rea d write doctor medical record
  • Page 41
  • Structure simplifie Any of All of Read /All of All of Write /All of /Any of Any of All of Doctor Medical Record /All of /Any of INF6153 41 Read ou write Pour tous les docteurs et medical records
  • Page 42
  • Cible dans les politiques et rgles Expression boolenne qui dtermine les conditions pour lapplication de la politique ou rgle Les cibles contiennent des AnyOf qui contiennent des AndOf sans embotement ultrieur (v. diagr. UML) Il y a une conjonction implicite au 1 er niveau Exemple prcdent en logique: (Name(action)=read Name(action)=write) Role(subject)=doctor Type(resource)=med_rec Quand une requte arrive, le PDP cherche les policy sets, politique et rgle qui correspondent la requte utilisant les cibles INF6153 42
  • Page 43
  • Un docteur demande dcrire sur un dossier mdical Any of All of Name(action)=read /All of All of Name(action)=write /All of /Any of Any of All of Role(subject)=doctor Type(resource)=med_rec /All of /Any of Name(subject-id (subject)) = bs@simpsons.com bs@simpsons.com URI(resource-id(resource)) = file://example/med/record/patient/BartSimpson file://example/med/record/patient/BartSimpson String(action-id(action)) = read INF6153 43 La requte Cible de la rgle laide de linformation obtenues du PIP, le PDP dcide que la politique de droite est applicable la requte de gauche Transformation effectue utilisant les infos du PIP
  • Page 44
  • Rgles Une rgle XACML contient Effet : la dcision: permit ou deny Cible: condition boolenne qui dtermine lapplicabilit de la rgle par rapport aux lments de la requte et aux lments fournis par le PIP Obligations: choses faire par le PEP aprs lvaluation de la rgle P.ex.: noter la dcision prise dans un log; ou envoyer un courriel Une obligation expression dans une rgle peut prescrire plusieurs obligations et des conditions boolennes pour spcifier quelles obligations sont excuter dans chaque cas Avis: comme les obligations mais peuvent tre ignores par le PEP INF6153 44
  • Page 45
  • Politiques, Ensembles de politiques Les Policies et Policy sets contiennent: Cible Algorithmes de combinaison de rgles Un ensemble de rgles Obligations Advices Quelques autres choses relies INF6153 45
  • Page 46
  • Exemple de rgles dfinissables en XACML A person may read any record for which he or she is the designated patient. A person may read any record for which he or she is the designated parent or guardian, and for which the patient is under 16 years of age. A physician may write to any medical element for which he or she is the designated primary care physician, provided an email is sent to the patient. An administrator shall not be permitted to read or write to medical elements of a patient record. INF6153 46
  • Page 47
  • Exemple de politique contenant quatre rgles Politique pour la lecture-criture des documents des patients Permit: Role(subject)=patient Name(action)=read; Le patient peut lire ses documents Permit: (Role(subject)=parent Role(subject)=guardian) Age(patient) < 16 Name(action)=read; Les parents ou gardiens peuvent lire les documents des mineurs Permit: Role(subject)=primary_physician Name(action)=write; Obligation: send notification Les docteurs peuvent crire sur les documents de leur patients, mais une notif doit tre envoye Deny: Role(subject)=administrator ( Name(action)=read Name(action=write)); Les administrateurs ne peuvent ni lire ni crire sur les documents des patients INF6153 47
  • Page 48
  • Prcisions ultrieures Quelques dtails sont omis, p.ex. il faudrait prciser quun patient ne peut lire que les docs qui se rfrent lui- mme etc. Exercice: trouver toutes les conditions ncessaires INF6153 48
  • Page 49
  • Exercice Dterminer comment ces quatre rgles peuvent tre codes en XACML utilisant Any-of et All-of Cet exemple est pris de la norme XACML et la solution complte se trouve l-dedans INF6153 49
  • Page 50
  • Politiques et algorithmes de combinaison Nous avons vu que, dans une politique ou ensemble de politiques, il pourrait y avoir plusieurs rgles applicables pour une requte donne Ces rgles pourraient donner des rsultats diffrents Les algorithmes de combinaison sont associs aux politiques (et ensembles de politiques) pour dterminer le rsultat dans ces cas Cest ladministrateur des politiques qui dtermine lalgorithme de combinaison utiliser dans chaque politique (ou ensemble de politiques) INF6153 50
  • Page 51
  • Pourquoi plusieurs rgles applicables Le PID pourrait retourner plusieurs valeurs pour certains attributs Alice pourrait tre programmeur, aussi reprsentante syndicale, etc. On pourrait avoir des rgles et des exceptions Seulement le mdecin dun patient peut lire le dossier du patient Dans un cas durgence, une infirmire peut aussi On pourrait avoir des combinaisons de rgles de diffrentes origines Rgles pour toute la division, rgles pour un bureau particulier On pourrait videmment avoir des erreurs INF6153 51
  • Page 52
  • Algorithmes de combinaison Chaque rgle dans une politique doit avoir comme rsultat un des suivants: Permit, deny, indeterminate Le rsultat est indeterminate quand il y a une erreur dans lvaluation dune rgle Ces cas sont prvus explicitement dans la mthode dvaluation des rgles P.ex. la rgle nest pas crite correctement, des lments manquent, etc. Les algorithmes suivants peuvent tre utiliss et leur rsultat peut tre un des suivants: Permit, deny, indeterminate, not applicable Deny overrides Permit overrides Deny unless permit Permit unless deny First applicable Only one applicable Etc. Aussi, lusager peut dfinir ses propres algorithmes INF6153 52
  • Page 53
  • Statut derreur pour Indeterminate Indeterminate{D} Peut tre retourn par une valuation qui aurait pu terminer dans une Deny sil ny avait pas une erreur Indeterminate {P} Pareil pour Permit Indeterminate{DP} Pareil pour Permit ou Deny Le statut derreur peut tre utilis par le systme, p.ex. des programmes peuvent tre crits pour prendre des dcisions ultrieures sur la base du statut INF6153 53
  • Page 54
  • Exemple: deny overrides If any decision is "Deny", the result is "Deny". Otherwise, if any decision is "Indeterminate{DP}", the result is "Indeterminate{DP}". Otherwise, if any decision is "Indeterminate{D}" and another decision is Indeterminate{P} or Permit, the result is "Indeterminate{DP}". Otherwise, if any decision is "Indeterminate{D}", the result is "Indeterminate{D}". Otherwise, if any decision is "Permit", the result is "Permit". Otherwise, if any decision is "Indeterminate{P}", the result is "Indeterminate{P}". Otherwise, the result is "NotApplicable". INF6153 54
  • Page 55
  • Exemple: only one applicable If only one policy is considered applicable by evaluation of its target, then the result of the policy-combining algorithm is the result of evaluating the policy. If more than one policy is considered applicable by virtue of its target, then the result of the policy-combination algorithm is "Indeterminate". If no policy is considered applicable by virtue of its target, then the result of the policy-combination algorithm is "NotApplicable". If an error occurs while evaluating the target of a policy, or a reference to a policy is considered invalid or the policy evaluation results in "Indeterminate", then the policy set is "Indeterminate", with the appropriate error status {P}, {D} ou {DP}. INF6153 55
  • Page 56
  • Algorithmes de combinaison de rgles et de politiques Les algorithmes de combinaison peuvent tre appliqus Entre rgles Entre politiques Ils peuvent donc exister aux deux niveaux INF6153 56
  • Page 57
  • Exemple de rponse INF6153 57 [c1] [c2] [c3] [c4] NotApplicable [c5] [c6] Une rponse Not applicable ou Indeterminate a pour rsultat de refuser laccs: quivalente Deny Cependant ceci peut tre nuanc comme nous avons vu pour Indeterminate
  • Page 58
  • Obligations et avis Une rponse peut impliquer des Obligations ou des Avis, qui sont des actions excuter par le PEP aprs la rponse Leur applicabilit peut tre assujettie des expressions conditionnelles Les obligations doivent tre excutes par le PEP, les Avis peuvent tre ignors Exemples: Envoyer un courriel ladministrateur, au titulaire du dossier Faire un enregistrement dans un fichier de contrle Etc. INF6153 58
  • Page 59
  • Sparation de tches Pour la sparation de tches statique, XACML offre la possibilit de spcifier, au niveau des politiques, que certaines combinaisons dattributs ne sont pas permises Policy PolicyId="contractor:AND:employee:disallowed RuleCombiningAlgId="&rule-combine;deny-overrides La sparation de tches dynamique est laisse comme exercice, mais voir: http://docs.oasis-open.org/xacml/cd-xacml-rbac-profile-01.pdf INF6153 59
  • Page 60
  • Dlgation La dlgation permet un sujet de donner ses permissions, en tout ou en partie, un autre sujet normalement pour un temps dtermin Les droits de dlgation sont spars des droits daccs Ils sont considrs comme des politiques administratives donc les politiques daccs ne changent pas XACML 3 a un modle de dlgation assez sophistiqu Il est bas sur le modle dadministration de XACML Le concept de propritaire de ressource est dfini comme dans DAC Un propritaire peut dlguer ladministration de ses ressources INF6153 60
  • Page 61
  • Exemple INF6153 61 Source: Gerry Gebel, XACML 3.0 Enhancements Le concept de propritaire de ressource est dfini comme dans DAC Le propritaire a droits dadministration et peut les dlguer Le propritaire ou son dlgu peuvent donner des permissions On peut avoir plusieurs niveaux de dlgation Avant de permettre Carol dutiliser limprimante, le PDP doit vrifier la chane entire des dlgations, jusquau propritaire
  • Page 62
  • Puissance de XACML-ABAC Il peut tre utilis pour MAC car les niveaux de scurit peuvent tre des attributs des usagers et objets Cependant XACML manque la capacit de prvenir des exceptions MAC, donc il nest pas vraiment mandatory Il peut tre utilis pour DAC avec son modle dadministration et proprit Il peut tre utilis pour RBAC car le rle est un attribut du sujet Il y a dans XACML un profil RBAC qui peut tre utilis pour crire RBAC en XACML Cependant dans XACML il est beaucoup plus difficile de rpondre la question: Quels sont les permissions dun sujet spcifique, dun rle spcifique? XACML a aussi des profils pour la protection de la proprit intellectuelle: Copyright, Brvet etc. Limplmentation de XACML est plus complexe que limplmentation de RBAC V. ce qui a t dit pour ABAC INF6153 62
  • Page 63
  • Exercice Dterminer que XACML est en fait capable de reprsenter RBAC 0, 1, 2, et 3 Il y a des articles sur ceci dans la litrature http://docs.oasis-open.org/xacml/cd-xacml-rbac-profile- 01.pdf Cette proposition pourrait tre trop complique INF6153 63
  • Page 64
  • Optimisation En pratique, plusieurs raccourcis ou raffinements peuvent tre utiliss pour amliorer la performance du systme, ou ladapter Exemples: Le PEP pourrait inclure des dcisions dj pr-calcules pour des cas frquents (cache) Des lments diffrents, ou mme tous les lments, pourraient tre implments dans la mme bote Ou, les diffrentes units fonctionnelles peuvent tre scindes et rparties dans le systme Dans ce cas, des mcanismes de coordination doivent tre mis en uvre Nimporte, condition que les rsultats restent les mmes que pour le modle idal Le modle dcrit dans la norme nest quun modle convenable pour expliquer la norme Pourrait navoir aucune relation avec une implantation INF6153 64
  • Page 65
  • Encore faire XACML est plus rcent que RBAC et est moins bien tabli Il manque aussi de la thorie et outils qui sont bien tablis pour RBAC INF6153 65
  • Page 66
  • Ergonomie et interfaces Clairement, le langage XACML ne peut pas tre trait directement Il a besoin dditeurs et interfaces qui permettent lusager de formuler les politiques et les requtes de manire lisible et de recevoir les rponses de manire lisible Traducteurs entre domain-specific inputs et XACML Ces diteurs et interfaces ne font pas partie de la norme, donc il y en aura toute une varit Produits par diffrents botes de logiciels ou chercheurs http://www.site.uottawa.ca/~bernard/access_control.html http://www.site.uottawa.ca/~bernard/access_control.html INF6153 66
  • Page 67
  • Adoption industrielle Cherchez les mots cls ABAC et XACML dans le www, vous y trouverez toutes sortes dhistoires, expriences pratiques et discussions Quelques compagnies ont beaucoup investi dans XACML Au dbut ctait surtout la compagnie SUN Microsystems Aprs lachat de SUN par Oracle, cest Oracle qui a continu le dveloppement Le comit XACML inclut aussi un bon nombre de compagnie bien connues INF6153 67
  • Page 68
  • Sources - Remerciements La premire partie sur ABAC vient de LNIST Special Publication 800-162. Guide to Attribute Based Access Control, Definitions and Considerations, Final Draft, Sept. 2013 La plupart des exemples montrs viennent du site OASIS dXACML, contenant la norme et un bref tutoriel sur XACML: https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml https://www.oasis-open.org/committees/download.php/2713/Brief_Introduction_to_XACML.html https://www.oasis-open.org/committees/download.php/2713/Brief_Introduction_to_XACML.html Audumbar Chormale: Tutorial on XACML, prsentation.ppt dans le site de lUMBC: University of Maryland Baltimore Country. Beaucoup dinformations dispo dans www sur ABAC et XACML, en franais aussi Cependant faites attention quelle version de XACML elles se rfrent! La version 3 est trs rcente: 2013 Faire une recherche sur: XACML 3.0 Gerry Gebel pour des informations sur les dveloppements en XACML Remerciements Bernard Stpien qui ma aid pour ces diapositives INF6153 68
  • Page 69
  • La premire dlgation dans la Bible (livre de lExode) 18.14 Le beau-pre de Mose vit tout ce qu'il faisait pour le peuple, et il dit: Que fais-tu l avec ce peuple? Pourquoi siges-tu seul, et tout le peuple se tient-il devant toi, depuis le matin jusqu'au soir? 18.15 Mose rpondit son beau-pre: C'est que le peuple vient moi pour consulter Dieu. 18.16 Quand ils ont quelque affaire, ils viennent moi; je prononce entre eux, et je fais connatre les ordonnances de Dieu et ses lois. 18.17 Le beau-pre de Mose lui dit: Ce que tu fais n'est pas bien. 18.18 Tu t'puiseras toi-mme, et tu puiseras ce peuple qui est avec toi; car la chose est au-dessus de tes forces, tu ne pourras pas y suffire seul. 18.19 Maintenant coute ma voix; je vais te donner un conseil, et que Dieu soit avec toi! Sois l'interprte du peuple auprs de Dieu, et porte les affaires devant Dieu. 18.20 Enseigne-leur les ordonnances et les lois; et fais-leur connatre le chemin qu'ils doivent suivre, et ce qu'ils doivent faire. 18.21 Choisis parmi tout le peuple des hommes capables, craignant Dieu, des hommes intgres, ennemis de la cupidit; tablis-les sur eux comme chefs de mille, chefs de cent, chefs de cinquante et chefs de dix. 18.22 Qu'ils jugent le peuple en tout temps; qu'ils portent devant toi toutes les affaires importantes, et qu'ils prononcent eux-mmes sur les petites causes. Allge ta charge, et qu'ils la portent avec toi. 18.23 Si tu fais cela, et que Dieu te donne des ordres, tu pourras y suffire, et tout ce peuple parviendra heureusement sa destination. 18.24 Mose couta la voix de son beau-pre, et fit tout ce qu'il avait dit. INF6153 69

Recommended

View more >