cnam:nfe114:secureuml

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
cnam:nfe114:secureuml [2024/06/04 19:11] jcheroncnam:nfe114:secureuml [2024/06/05 01:31] (Version actuelle) – [Exemples] jcheron
Ligne 17: Ligne 17:
 Regroupent les permissions en fonction des responsabilités des utilisateurs. Regroupent les permissions en fonction des responsabilités des utilisateurs.
 === Permissions === === Permissions ===
-Actions autorisées que les rôles peuvent effectuer sur les objets du système.+Actions autorisées que les rôles peuvent effectuer sur les objets du système (ressources).
  
 ==== Diagrammes de Secure-UML ==== ==== Diagrammes de Secure-UML ====
Ligne 27: Ligne 27:
 Identifient les rôles et les permissions nécessaires pour chaque cas d'utilisation. Identifient les rôles et les permissions nécessaires pour chaque cas d'utilisation.
  
-==== Éléments Clés de Secure-UML ====+===== Éléments Clés de Secure-UML =====
  
-Annotations de Sécurité Utilisées pour enrichir les éléments UML avec des informations de sécurité.+==== Annotations de Sécurité ==== 
 +Utilisées pour enrichir les éléments UML avec des informations de sécurité. 
 + 
 +=== Stereotypes === 
 +Ajoutent des informations de sécurité aux éléments UML.  
 + 
 +Par exemple, un stéréotype << role >> peut être utilisé pour annoter une classe comme représentant un rôle dans le modèle RBAC. 
 + 
 +=== Constraints === 
 +Règles qui spécifient les conditions de sécurité.  
 + 
 +Par exemple, une contrainte peut définir que seulement certains rôles peuvent accéder à une méthode particulière. 
 + 
 +==== Modélisation des Politiques de Sécurité ==== 
 +Les politiques de sécurité sont définies en termes de permissions (opérations autorisées) et de rôles (regroupements de permissions). 
 + 
 +=== Définition des Rôles === 
 +Les rôles sont définis en fonction des responsabilités dans l'organisation. 
 +=== Assignation des Permissions === 
 +Les permissions sont associées aux rôles plutôt qu'aux utilisateurs individuels. 
 + 
 +==== Exemples ==== 
 +Gestion d'une bibliothèque : 
 + 
 +=== Rôles : === 
 + 
 + 
 +  * Bibliothécaire : Un utilisateur avec le rôle de Bibliothécaire. 
 +  * Membre : Un utilisateur avec le rôle de Membre. 
 + 
 +=== Permissions : === 
 +  * Lecture : Inclut les actions de lire, emprunter et retourner des livres. 
 +  * Modification : Inclut les actions d'ajouter, modifier et supprimer des livres. 
 +  * Administration : Inclut l'action de gérer les emprunts. 
 +=== Cas d'utilisation : === 
 +  * Lecture : Lire un livre, emprunter un livre, retourner un livre. 
 +  * Modification : Ajouter un livre, modifier les informations sur un livre, supprimer un livre. 
 +  * Administration : Gérer les emprunts. 
 + 
 +Dans ce diagramme, les rôles "Bibliothécaire" et "Membre" sont associés aux permissions appropriées. 
 + 
 +Les permissions sont ensuite reliées aux cas d'utilisation correspondants, montrant comment les actions du système sont contrôlées par les rôles et les permissions. 
 +=== Secure Use case diagram === 
 +<html><div class="imageB"></html> 
 +<uml> 
 +@startuml 
 + 
 +!define ROLE Actor 
 +!define PERMISSION Actor/ #pink;line:red;line.bold;text:red 
 + 
 +' Définition des rôles 
 +ROLE Bibliothécaire 
 +ROLE Membre 
 + 
 +' Définition des permissions 
 +PERMISSION Lecture 
 +PERMISSION Modification 
 +PERMISSION Administration 
 + 
 +' Acteurs (rôles) et leurs permissions 
 +Bibliothécaire -down-> Lecture : <<hasPermission>> 
 +Bibliothécaire -down-> Modification : <<hasPermission>> 
 +Bibliothécaire -down-> Administration : <<hasPermission>> 
 + 
 +Membre -down-> Lecture : <<hasPermission>> 
 + 
 +' Cas d'utilisation du système 
 +Lecture --> (Lire un livre) : <<canDo>> 
 +Lecture --> (Emprunter un livre) : <<canDo>> 
 +Lecture --> (Retourner un livre) : <<canDo>> 
 +Modification --> (Ajouter un livre) : <<canDo>> 
 +Modification --> (Modifier les informations sur un livre) : <<canDo>> 
 +Modification --> (Supprimer un livre) : <<canDo>> 
 +Administration --> (Gérer les emprunts) : <<canDo>> 
 + 
 +@enduml 
 + 
 +</uml> 
 +<html></div></html> 
 +== Source == 
 + 
 +<sxh ;gutter:false> 
 +@startuml 
 + 
 +!define ROLE Actor 
 +!define PERMISSION Actor/ #pink;line:red;line.bold;text:red 
 + 
 +' Définition des rôles 
 +ROLE Bibliothécaire 
 +ROLE Membre 
 + 
 +' Définition des permissions 
 +PERMISSION Lecture 
 +PERMISSION Modification 
 +PERMISSION Administration 
 + 
 +' Acteurs (rôles) et leurs permissions 
 +Bibliothécaire -down-> Lecture : <<hasPermission>> 
 +Bibliothécaire -down-> Modification : <<hasPermission>> 
 +Bibliothécaire -down-> Administration : <<hasPermission>> 
 + 
 +Membre -down-> Lecture : <<hasPermission>> 
 + 
 +' Cas d'utilisation du système 
 +Lecture --> (Lire un livre) : <<canDo>> 
 +Lecture --> (Emprunter un livre) : <<canDo>> 
 +Lecture --> (Retourner un livre) : <<canDo>> 
 +Modification --> (Ajouter un livre) : <<canDo>> 
 +Modification --> (Modifier les informations sur un livre) : <<canDo>> 
 +Modification --> (Supprimer un livre) : <<canDo>> 
 +Administration --> (Gérer les emprunts) : <<canDo>> 
 + 
 +@enduml 
 +</sxh> 
 + 
 +=== Secure Class Diagram === 
 + 
 +<html><div class="imageB"></html> 
 +<uml>@startuml 
 + 
 +!define ROLE Class 
 +!define PERMISSION Class 
 + 
 +note "<<AuthorizationConstraint>>\n<u>context:</u>read, return\n<u>pre:</u>this.livres.contains(unLivre)" as N1 
 + 
 +' Définition des classes pour les rôles 
 +ROLE Bibliothécaire <<role>> 
 +ROLE Membre <<role>> 
 + 
 +' Définition des permissions 
 +PERMISSION Lecture <<permission>>
 +  + read(unLivre): execute 
 +  + return(unLivre): execute 
 +  + borrow(unLivre):execute 
 +
 +PERMISSION Modification <<permission>>
 +  + add():execute 
 +  + modify():execute 
 +  + delete():execute 
 +
 +PERMISSION Administration <<permission>>
 +  + manage():execute 
 +
 + 
 +' Association des rôles avec les permissions 
 +Bibliothécaire -down-> Lecture : <<hasPermission>> 
 +Bibliothécaire -down-> Modification : <<hasPermission>> 
 +Bibliothécaire -down-> Administration : <<hasPermission>> 
 + 
 +Membre -down-> Lecture : <<hasPermission>> 
 + 
 +' Classes du système 
 +class Livre <<Resource>>
 +  +title: String 
 +  +author: String 
 +  +ISBN: String 
 +  +getDetails(): String 
 +
 + 
 +class Emprunt <<Resource>>
 +  +startDate: Date 
 +  +endDate: Date 
 +  +isOverdue(): Boolean 
 +
 + 
 +class Bibliothèque <<Resource>>
 +  +add(Livre):execute 
 +  +modify(Livre):execute 
 +  +delete(Livre):execute 
 +  +borrow(livre: Livre, membre: Membre): Emprunt 
 +  +return(emprunt: Emprunt): execute 
 +  +manage(List<Emprunt>): execute 
 +
 + 
 +' Permissions pour les méthodes de la classe Bibliothèque 
 +Lecture --> Livre : <<use>> 
 +Lecture --> Bibliothèque::borrow : <<canDo>> 
 +Lecture --> Bibliothèque::return : <<canDo>> 
 + 
 +Modification --> Bibliothèque::add : <<canDo>> 
 +Modification --> Bibliothèque::remove : <<canDo>> 
 +Modification --> Bibliothèque::modify : <<canDo>> 
 +Modification --> Livre : <<use>> 
 + 
 +Administration --> Bibliothèque::manage : <<canDo>> 
 +Administration --> Emprunt : <<use>> 
 +Lecture .. N1 
 +@enduml 
 +</uml> 
 +<html></div></html> 
 + 
 +== Source == 
 + 
 +<sxh ;gutter:false> 
 +@startuml 
 + 
 +!define ROLE Class 
 +!define PERMISSION Class 
 + 
 +' Définition des classes pour les rôles 
 +ROLE Bibliothécaire <<role>> 
 +ROLE Membre <<role>> 
 + 
 +' Définition des permissions 
 +PERMISSION Lecture <<permission>>
 +  + read(): execute 
 +  + return(): execute 
 +  + borrow():execute 
 +
 +PERMISSION Modification <<permission>>
 +  + add():execute 
 +  + modify():execute 
 +  + delete():execute 
 +
 +PERMISSION Administration <<permission>>
 +  + manage():execute 
 +
 + 
 +' Association des rôles avec les permissions 
 +Bibliothécaire -down-> Lecture : <<hasPermission>> 
 +Bibliothécaire -down-> Modification : <<hasPermission>> 
 +Bibliothécaire -down-> Administration : <<hasPermission>> 
 + 
 +Membre -down-> Lecture : <<hasPermission>> 
 + 
 +' Classes du système 
 +class Livre <<Resource>>
 +  +title: String 
 +  +author: String 
 +  +ISBN: String 
 +  +getDetails(): String 
 +
 + 
 +class Emprunt <<Resource>>
 +  +startDate: Date 
 +  +endDate: Date 
 +  +isOverdue(): Boolean 
 +
 + 
 +class Bibliothèque <<Resource>>
 +  +add(Livre):execute 
 +  +modify(Livre):execute 
 +  +delete(Livre):execute 
 +  +borrow(livre: Livre, membre: Membre): Emprunt 
 +  +return(emprunt: Emprunt): execute 
 +  +manage(List<Emprunt>): execute 
 +
 + 
 +' Permissions pour les méthodes de la classe Bibliothèque 
 +Lecture --> Livre : <<use>> 
 +Lecture --> Bibliothèque::borrow : <<canDo>> 
 +Lecture --> Bibliothèque::return : <<canDo>> 
 + 
 +Modification --> Bibliothèque::add : <<canDo>> 
 +Modification --> Bibliothèque::remove : <<canDo>> 
 +Modification --> Bibliothèque::modify : <<canDo>> 
 +Modification --> Livre : <<use>> 
 + 
 +Administration --> Bibliothèque::manage : <<canDo>> 
 +Administration --> Emprunt : <<use>> 
 + 
 +@enduml 
 +</sxh>
  
-Stereotypes : Étiquettes spéciales qui ajoutent des informations de sécurité aux éléments UML. Par exemple, un stéréotype << role >> peut être utilisé pour annoter une classe comme représentant un rôle dans le modèle RBAC. 
-Constraints : Règles qui spécifient les conditions de sécurité. Par exemple, une contrainte peut définir que seulement certains rôles peuvent accéder à une méthode particulière. 
-Modélisation des Politiques de Sécurité : Les politiques de sécurité sont définies en termes de permissions (opérations autorisées) et de rôles (regroupements de permissions). 
  
-Définition des Rôles : Les rôles sont définis en fonction des responsabilités dans l'organisation. 
-Assignation des Permissions : Les permissions sont associées aux rôles plutôt qu'aux utilisateurs individuels. 
  • cnam/nfe114/secureuml.1717521060.txt.gz
  • Dernière modification : il y a 9 mois
  • de jcheron