Pré. Proc.

Niveaux de visibilité

La fonctionnalité "Niveaux de visibilité" dans Enterprise Architect offre la possibilité de restreindre l'accès à certaines sections d'un modèle. Seuls les modèles hébergés par un Pro Cloud Server peuvent utiliser cette fonctionnalité . Les niveaux de visibilité sont mis en œuvre en tirant parti de la fonctionnalité Sécurité de Niveau de Rangée incluse dans Oracle 8+ et Microsoft SQL Server 2016 (à partir de).

Sécurité de Niveau de Rangée est une fonctionnalité de sécurité qui contrôle les lignes de données auxquelles un utilisateur de base de données individuel peut accéder. La sécurité traditionnelle des bases de données permet uniquement de contrôler les autorisations d'un utilisateur au niveau du tableau ; c'est-à-dire, peuvent-ils lire, écrire ou supprimer des données dans une table particulière ? Étant donné que la fonctionnalité Sécurité de Niveau de Rangée est implémentée par la base de données, il est impossible pour les utilisateurs de contourner la sécurité implémentée au niveau de l'application, en écrivant leurs propres scripts ou requêtes de base de données. La base de données garantit que les utilisateurs ne peuvent afficher et mettre à jour que les données auxquelles ils sont autorisés à accéder.

Étant donné que la Sécurité de Niveau de Rangée est implémentée par la base de données, la plupart de la configuration pour Enterprise Architect et le Pro Cloud Server pour la prendre en support est effectuée directement dans la base de données sans avoir besoin de changer la base de code de l'application, ce qui signifie qu'il y a moins à faire mal du point de vue de l'application.

Utilisateurs de la base de données/de l'application

Il est important de comprendre la distinction entre les utilisateurs de la base de données et les utilisateurs de l'application. L'introduction indique que les niveaux de visibilité sont basés sur les autorisations des utilisateurs de la base de données. Dans l'environnement Sparx Systems Pro Cloud Server , chaque gestionnaire de base de données est défini avec tous ses détails de connexion (y compris l' ID utilisateur et le mot de passe) à une base de données donnée. C'est sur l'utilisateur de la base de données, l'utilisateur identifié dans les détails de connexion, que se basent les niveaux de visibilité.

Ce concept ne doit pas être confondu avec les utilisateurs du modèle Enterprise Architect ; c'est-à-dire l' ID utilisateur/mot de passe saisi lors de l'accès à un modèle sécurisé. Il s'agit d'un utilisateur de l'application.

Note : La sécurité du modèle d' Enterprise Architect n'est pas obligatoire, alors que tous les SGBD nécessitent la définition d'un utilisateur de base de données afin d'accéder aux données de la base de données.

Comment ça fonctionne

En plus de leurs autorisations normales, les utilisateurs de la base de données ont accès à un ou plusieurs niveaux de visibilité. Une nouvelle colonne, VIS_LVL (niveau de visibilité), est ajoutée à 24 tableaux critiques dans la base de données Enterprise Architect . Cette colonne stocke le niveau de visibilité requis pour afficher ou mettre à jour l'enregistrement correspondant.

Pour chacun des 24 tableaux , une politique de sécurité est définie pour garantir que chaque utilisateur de la base de données ne voit que les enregistrements que son niveau de visibilité attribué est autorisé à afficher.

Les déclencheurs de base de données sont ensuite utilisés pour maintenir la valeur des colonnes valeur dans tous les tableaux pour tous les objets et éléments enfants. Par exemple, définir le niveau de visibilité d'un Paquetage dans la fenêtre Navigateur d' Enterprise Architect mettra à jour le Paquetage sélectionné et tous ses enfants au niveau de visibilité saisi.

Note : Les scripts de base fournis par Sparx Systems prennent en support 20 'niveaux' de sécurité (c'est-à-dire de 1 à 20) ; cependant, cela peut facilement être ajusté en modifiant manuellement le nombre de lignes insérées dans le tableau T_VISIBILITYLEVELS au début du script. Le niveau 0 est un cas particulier, représentant la valeur par valeur ; cela implique que tous les utilisateurs de la base de données (même ceux sans niveau de visibilité attribué) peuvent afficher ou mettre à jour les enregistrements de ce niveau.

L'inconvénient

Comme pour la plupart des choses, l'activation des niveaux de visibilité entraîne un coût par rapport au même modèle sans les niveaux de visibilité activés. Sécurité de Niveau de Rangée dans SQL Server et Oracle impose un traitement supplémentaire sur le serveur de base de données chaque fois que des données sont sélectionnées. L'impact de ce traitement supplémentaire sur les performances de la base de données est difficile à estimer, car il dépend du type et de la quantité de données sélectionnées. La prise en support des niveaux de visibilité par Enterprise Architect a été conçue dans un souci d'efficacité; cependant, les performances seront inévitablement réduites lorsque les niveaux de visibilité sont activés.

Apprenez Plus