Différences
Ci-dessous, les différences entre deux révisions de la page.
| 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] – jcheron | cnam: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 | 
| ==== 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' | Identifient les rôles et les permissions nécessaires pour chaque cas d' | ||
| - | ==== Éléments Clés de Secure-UML ==== | + | ===== Éléments Clés de Secure-UML | 
| - | Annotations 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' | ||
| + | === 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' | ||
| + | * Administration : Inclut l' | ||
| + | === Cas d' | ||
| + | * 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 " | ||
| + | |||
| + | Les permissions sont ensuite reliées aux cas d' | ||
| + | === Secure Use case diagram === | ||
| + | < | ||
| + | < | ||
| + | @startuml | ||
| + | |||
| + | !define ROLE Actor | ||
| + | !define PERMISSION Actor/ # | ||
| + | |||
| + | ' 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 : << | ||
| + | Bibliothécaire -down-> Modification : << | ||
| + | Bibliothécaire -down-> Administration : << | ||
| + | |||
| + | Membre -down-> Lecture : << | ||
| + | |||
| + | ' Cas d' | ||
| + | Lecture --> (Lire un livre) : << | ||
| + | Lecture --> (Emprunter un livre) : << | ||
| + | Lecture --> (Retourner un livre) : << | ||
| + | Modification --> (Ajouter un livre) : << | ||
| + | Modification --> (Modifier les informations sur un livre) : << | ||
| + | Modification --> (Supprimer un livre) : << | ||
| + | Administration --> (Gérer les emprunts) : << | ||
| + | |||
| + | @enduml | ||
| + | |||
| + | </ | ||
| + | < | ||
| + | == Source == | ||
| + | |||
| + | <sxh ; | ||
| + | @startuml | ||
| + | |||
| + | !define ROLE Actor | ||
| + | !define PERMISSION Actor/ # | ||
| + | |||
| + | ' 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 : << | ||
| + | Bibliothécaire -down-> Modification : << | ||
| + | Bibliothécaire -down-> Administration : << | ||
| + | |||
| + | Membre -down-> Lecture : << | ||
| + | |||
| + | ' Cas d' | ||
| + | Lecture --> (Lire un livre) : << | ||
| + | Lecture --> (Emprunter un livre) : << | ||
| + | Lecture --> (Retourner un livre) : << | ||
| + | Modification --> (Ajouter un livre) : << | ||
| + | Modification --> (Modifier les informations sur un livre) : << | ||
| + | Modification --> (Supprimer un livre) : << | ||
| + | Administration --> (Gérer les emprunts) : << | ||
| + | |||
| + | @enduml | ||
| + | </ | ||
| + | |||
| + | === Secure Class Diagram === | ||
| + | |||
| + | < | ||
| + | < | ||
| + | |||
| + | !define ROLE Class | ||
| + | !define PERMISSION Class | ||
| + | |||
| + | note "<< | ||
| + | |||
| + | ' Définition des classes pour les rôles | ||
| + | ROLE Bibliothécaire << | ||
| + | ROLE Membre << | ||
| + | |||
| + | ' Définition des permissions | ||
| + | PERMISSION Lecture << | ||
| + | + read(unLivre): | ||
| + | + return(unLivre): | ||
| + | + borrow(unLivre): | ||
| + | } | ||
| + | PERMISSION Modification << | ||
| + | + add(): | ||
| + | + modify(): | ||
| + | + delete(): | ||
| + | } | ||
| + | PERMISSION Administration << | ||
| + | + manage(): | ||
| + | } | ||
| + | |||
| + | ' Association des rôles avec les permissions | ||
| + | Bibliothécaire -down-> Lecture : << | ||
| + | Bibliothécaire -down-> Modification : << | ||
| + | Bibliothécaire -down-> Administration : << | ||
| + | |||
| + | Membre -down-> Lecture : << | ||
| + | |||
| + | ' Classes du système | ||
| + | class Livre << | ||
| + | +title: String | ||
| + | +author: String | ||
| + | +ISBN: String | ||
| + | +getDetails(): | ||
| + | } | ||
| + | |||
| + | class Emprunt << | ||
| + | +startDate: Date | ||
| + | +endDate: Date | ||
| + | +isOverdue(): | ||
| + | } | ||
| + | |||
| + | class Bibliothèque << | ||
| + | +add(Livre): | ||
| + | +modify(Livre): | ||
| + | +delete(Livre): | ||
| + | +borrow(livre: | ||
| + | +return(emprunt: | ||
| + | +manage(List< | ||
| + | } | ||
| + | |||
| + | ' Permissions pour les méthodes de la classe Bibliothèque | ||
| + | Lecture --> Livre : << | ||
| + | Lecture --> Bibliothèque:: | ||
| + | Lecture --> Bibliothèque:: | ||
| + | |||
| + | Modification --> Bibliothèque:: | ||
| + | Modification --> Bibliothèque:: | ||
| + | Modification --> Bibliothèque:: | ||
| + | Modification --> Livre : << | ||
| + | |||
| + | Administration --> Bibliothèque:: | ||
| + | Administration --> Emprunt : << | ||
| + | Lecture .. N1 | ||
| + | @enduml | ||
| + | </ | ||
| + | < | ||
| + | |||
| + | == Source == | ||
| + | |||
| + | <sxh ; | ||
| + | @startuml | ||
| + | |||
| + | !define ROLE Class | ||
| + | !define PERMISSION Class | ||
| + | |||
| + | ' Définition des classes pour les rôles | ||
| + | ROLE Bibliothécaire << | ||
| + | ROLE Membre << | ||
| + | |||
| + | ' Définition des permissions | ||
| + | PERMISSION Lecture << | ||
| + | + read(): execute | ||
| + | + return(): execute | ||
| + | + borrow(): | ||
| + | } | ||
| + | PERMISSION Modification << | ||
| + | + add(): | ||
| + | + modify(): | ||
| + | + delete(): | ||
| + | } | ||
| + | PERMISSION Administration << | ||
| + | + manage(): | ||
| + | } | ||
| + | |||
| + | ' Association des rôles avec les permissions | ||
| + | Bibliothécaire -down-> Lecture : << | ||
| + | Bibliothécaire -down-> Modification : << | ||
| + | Bibliothécaire -down-> Administration : << | ||
| + | |||
| + | Membre -down-> Lecture : << | ||
| + | |||
| + | ' Classes du système | ||
| + | class Livre << | ||
| + | +title: String | ||
| + | +author: String | ||
| + | +ISBN: String | ||
| + | +getDetails(): | ||
| + | } | ||
| + | |||
| + | class Emprunt << | ||
| + | +startDate: Date | ||
| + | +endDate: Date | ||
| + | +isOverdue(): | ||
| + | } | ||
| + | |||
| + | class Bibliothèque << | ||
| + | +add(Livre): | ||
| + | +modify(Livre): | ||
| + | +delete(Livre): | ||
| + | +borrow(livre: | ||
| + | +return(emprunt: | ||
| + | +manage(List< | ||
| + | } | ||
| + | |||
| + | ' Permissions pour les méthodes de la classe Bibliothèque | ||
| + | Lecture --> Livre : << | ||
| + | Lecture --> Bibliothèque:: | ||
| + | Lecture --> Bibliothèque:: | ||
| + | |||
| + | Modification --> Bibliothèque:: | ||
| + | Modification --> Bibliothèque:: | ||
| + | Modification --> Bibliothèque:: | ||
| + | Modification --> Livre : << | ||
| + | |||
| + | Administration --> Bibliothèque:: | ||
| + | Administration --> Emprunt : << | ||
| + | |||
| + | @enduml | ||
| + | </ | ||
| - | 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' | ||
| - | Assignation des Permissions : Les permissions sont associées aux rôles plutôt qu'aux utilisateurs individuels. | ||
 jcheron
 jcheron