Sécurité de l'objet

Description

L'objet Security déclare les informations de sécurité de l'objet qui le contient.

Il définit les droits d'accès des utilisateurs selon deux axes

  • la propriété de l'objet, attribuée à un organisme, un groupe, un utilisateur,
  • une liste de contrôle d'accès, qui ajoute des droits à d'autres organismes, utilisateurs et groupes

Schéma

Nom de la propriété Type Description
user string Identifiant d'un utilisateur propriétaire.
group string Identifiant d'un groupe propriétaire.
org string Identifiant d'un organisme propriétaire.
accessControlList Objet AccesControlList Liste de contrôle d'accès

Au moins l'une des trois propriétés parmi user, group et org doit être renseignée. Si plusieurs sont renseignées, elles doivent être en cohérence avec le référentiel de sécurité : l'utilisateur doit appartenir au groupe indiqué, le groupe et l'utilisateur doivent appartenir à l'organisme indiqué.

Liste de contrôle d'accès

L'objet AccessControlList fournit la liste des acteurs qui ont un accès particulier à l'entité porteuse de la règle de sécurité, en attribuant ou en enlevant des droits, de manière explicite ou par référence à un profil d'accès qui peut être modifié au cours de la vie de l'objet.

Nom de la propriété Type Description
owner string Identifiant d'un utilisateur
group string Identifiant d'un groupe
org string Identifiant d'un organisme
allow string[] Liste de droits d'accès attribués
deny string[] Liste de droits d'accès revoqués *
profiles string[] Liste de profils d'accès applicables **

Une seule des propriétés identifiant le bénéficiaire, parmi user, group et org, doit être renseignée.

* La révocation permet d'enlever de droits attribués précédemment par une règle plus générale. Par exemple, un groupe d'utilisateur peut avoir un droit qui est révoqué pour l'un de ses membres en particulier.

** Le profil d'accès fournit une liste de droits attribués et révoqués avant que les accès définis localement soient appliqués. Par exemple, le profil "validateur" peut amener le droit d'accès en écriture sur une propriété de l'objet, qui est révoquée localement pour le bénéficiaire.

Exemple

{
    "group" : "DAF",
    "accessControlList" : [
        {
            "group" : "CPTCLI",
            "allow" : [
                "read",
                "modifySomeProperty"
            ]
        },
        {
            "user" : "jacqueline.michu",
            "deny" : [
                "modifySomeProperty"
            ]
        },
        {
            "group" : "CTRGES",
            "profiles" : [
                "archiver"
            ]
        }
    ]
}

Dans cet exemple, le groupe DAF se voit attribuer la propriété de l'objet. L'ensemble des utilisateurs du groupe possède donc un accès complet à objet , y-compris aux droits d'accès.

Les membres du groupe CPTCLI peuvent lire l'objet et modifier l'une de ses proriétés particulières (le droit est propre au type d'objet et défini par l'application).

L'utilisateur jacqueline.michu, membre du groupe CPTCLI, peut seulement lire l'objet car son droit de modification est révoqué.

Le groupe CTRGES se voit attribuer les droits d'accès définis par le profil "archiver", qui permet de lire et modifier les propriétés. Si l'utilisateur jacqueline.michu est membre de CTRGES, elle n'aura pour autant par le droit de modifier la propriété car celui-ci est révoqué localement.

Si un même droit d'accès est attribué de manière explicite à un groupe et révoqué pour un autre, les utilisateurs membres de ce groupe ne bénéficierons pas de ce droit. Le système ajoute les droits des profils, puis ceux définis localement d'un utilisateur, de ses groupes d'appartenance et de son organisme d'appartenance, puis les droits définis localement pour son utilisateur, ses groupes et son organisme, puis fait de même avec les révocations.

results matching ""

    No results matching ""