Sécurité de Base de données Reparties
Généralités sur les bases de données
Définition de la Base de données Une base de données est un ensemble traitées comme une seule et même unité. Elle sert principalement à stocker et à extraire des information connexes.
Définition de la Base de données Reparties
Une base de données répartie est un ensemble des bases autonomes partageant les données via un réseau de communication. Cependant, au niveau client/serveur, la base de données centralisée permet l’exécution d’un certain traitement local et un mécanisme de vue permettant de définir les vues sur plusieurs sites. Eu égard de ce qui précède, on dispose de plusieurs bases, plusieurs sites mais une seule base logique.
Architecture
Architecture des schémas
L’architecture des schémas est composée d’un schéma global qui gère les applications et les bases de données locales. Le schéma global donne la description générale et unifiée de toutes les informations de la base de données reparties, qui n’est rien d’autre que le dictionnaire de données reparties. Ici, on parle beaucoup plus de l’indépendance à la réplication. Cependant, il faut noter qu’on dispose d’un schéma de placement qui définit les principes de correspondance entre les bases des données locales ( l’ indépendance de la localisation, de la fragmentation et de la duplication) Figure 2: Architecture des schémas.
Architecture fédérée
Figure 3: Architecture fédérée. Au niveau de l’architecture fédérée, chaque site dispose d’un schéma fédéré qui gère les applications qui lui sont propres. En effet, il faut noter que chaque site a son schéma local, qui n’est pas forcément inclus entièrement dans le schéma global (il y a un site central). Cependant, l’architecture fédérée est un moyen de contrôle de migration.
Définition d’un système de gestion des bases de données
Un système de gestion des bases de données est un logiciel-système permettant aux utilisateurs d’insérer, de modifier et de rechercher des données spécifiques dans une grande masse d’informations partagée par de multiples utilisateurs.
Outil d’interface de Système de Gestion de Base de Données
L’outil d’interface de Système de Gestion de Base de Données comprend: Extraction de données: transformation des données en table ; Passerelle: procédure utilisant les requêtes SQL pour sélectionner les données et renvoyer le résultat ; Réplicateur : Le réplicateur permet de sélectionner les donnés d’une base et d’en faire deux copies. III. Mémoire de fin de cycle présenté par Y.B Djavph 8 Figure 5: Outil d’interface.
Réplication
La réplication est la procédure qui permet à la base de données d’être au même niveau d’information, tout en évitant les doublons (duplication d’information), et de maintenir les informations dans un état cohérent .La procédure de duplication manuelle doit se faire avec l’accord de deux parties (ordinateurs).
Avantages et inconvénients de la réplication
Avantages
Les avantages de la réplication sont multiples: Accès simple et plus performant pour la lecture ; Tolérance à la panne ; Parallélisme accru ; Eviter des transferts ;
Inconvénients
La réplication, bien qu’elle ait des avantages, dispose aussi des inconvénients qui sont multiples. On a, entre autres: Problème de mise à jour ; Cohérence de données.
Fonction de réplication
La fonction de réplication a pour objet de définir : Des objets à répliquer • Table cible La fréquence de rafraîchissement • Immédiat • A intervalle régulier • A partir d’un événement produit par l’application Le rafraîchissement • Complet ou partiel • Push ou pull III.3 Etude comparative des SGBD III. Mémoire de fin de cycle présenté par Y.B Djavph
Qu’est-ce qu’un SGBD
Un Système de Gestion de Base de Données, comme nous l’avons mentionné ci-haut, est un logiciel permettant aux utilisateurs d’insérer, de modifier et de rechercher des données spécifiques dans une grande masse d’information partagée par de multiples utilisateurs La diversité des logiciels de gestion des données à la veille des nouvelles technologies de l’information et de la communication a permis aux utilisateurs d’avoir une aisance dans la sélection de leur système de gestion des bases de données. Par ailleurs, une étude comparative nous permettra de déterminer les plus puissants et les plus performants parmi les plus sollicités. En effet, notre étude portera sur les systèmes de gestion des bases de données les plus sollicités. Les résultats qui nous intéressent dans cette comparaison sont la capacité, le coût, et la performance, quel que soit le système d’exploitation auquel elle tourne. Cependant, celle qui sont retenues sont : SQL SERVER MYSQL ORACLE SQL SERVER
SQL SERVER
C’est un produit développé par Microsoft pour les bases de données relationnelles. Elle offre plusieurs services pour la mise en place de nombreuses applications, requêtes et transactions.
AVANTAGES
Au sein du système de gestion des bases de données SQL, on a les avantages suivants: Facile à administrer. Disposant de plusieurs possibilités d’audition évolutive. Autonomie locale entre les base distribuées et permet d’insérer plusieurs fonctions… Permet la compression des données et des sauvegardes.
INCONVENIENTS
Les inconvénients de SQL SERVER sont: SQL SERVER est dépendant du système d’exploitation ; Ne dispose pas de certificat SQLJ et ne prend pas en compte les fonctions de Java et C#. Pas de cluster. Dispose d’une seule plateforme.
Oracle Database Software
Oracle est un produit qui coute chère et est souvent utilisé par des grandes entreprises disposant de moyens pour s’en procurer. Oracle est beaucoup plus performant et dispose d’un langage procédural très puissant. Cependant, il n’est pas nécessaire d’acheter la licence pour une entreprise de petite taille.
AVANTAGES
Les avantages d’Oracle sont nombreux: Oracle dispose de plusieurs fonctionnalités ; Parallélisme, caches nommés, haute disponibilité ; Fonction d’audit évoluée. Assistants performants via Oracle Manager Server, possibilité de gérer en interne des tâches et des alarmes. Permet de ne faire apparaître que certaines lignes de table pour un utilisateur/une application donnée per Row Level Storage Security. Accès aux données système via des vues bien plus aisément manipulables que des procédures stockées. Ordonnanceur intégré etc…
INCONVENIENTS
Bien qu’il dispose de nombreux avantages, oracle a aussi des inconvénients qui sont: Coût de déploiement élevé ; Très difficile à administrer ; A besoin de beaucoup de ressource ; Méta-modèle propriétaire, loin de la norme ; Gestion des verrous mortels mal conçus (Suppression d’une commande bloquante sans roll back) ; Une quantité de bugs proportionnelle à la richesse fonctionnelle, surtout sur les dernières versions. Gestion erratique des rôles et privilèges (pas possible de donner des droits sur des schémas particuliers sans passer par leurs objets, désactivation des rôles lors d’exécution de packages…) Pas de type auto-incrément déclaratif : les séquences ne peuvent être déclarativement dédiées à une table spécifique (risque de mélange) ; Nombreuses failles de sécurité liées à l’architecture elle-même. III. Mémoire de fin de cycle présenté par Y.B Djavph
MYSQL
MySQL est un SGBDR qui utilise le langage SQL, et fait partie des plus utilisés. Sa popularité est due en grande partie au fait qu’il s’agit d’un logiciel Open Source, ce qui signifie que son code source est librement disponible et que quiconque qui en ressent l’envie et/ou le besoin peut modifier MySQL pour l’améliorer ou l’adapter à ses besoins. Une version gratuite de MySQL est par conséquent disponible. À noter qu’une version commerciale payante existe également.
AVANTAGES
Les avantages de MySQL sont comme suit : Le serveur MySQL est très rapide. Des tests de performances sont disponibles sur le site de MySQL. MySQL est beaucoup plus simple à utiliser que la plupart des serveurs de bases de données commerciaux . On peut effectuer diverses opérations sur une base MySQL en utilisant des interfaces écrits en C, Perl, C++, Java, Python, PHP. Jusqu’à la version 3.20.32a, MySQL était sous licence GPL. Il faut une licence pour faire tourner MySQL sous Windows. Sous les autres plates-formes, l’utilisation de MySQL est gratuite dans un but non commercial sinon il faudra acheter une licence pour environ 200 $ US. MySQL dispose d’un système de sécurité permettant de gérer les personnes et les machines pouvant accéder aux différentes bases. MySQL tourne sur divers systèmes tels que Unix, Windows, Linux ou OS/2 Les sources étant fournies, il est possible d’améliorer MySQL
INCOVENIENTS
Les inconvénients des MySQL: Subselect Les requêtes imbriquées ne sont pas supportées par MySQL. Vous devez donc traduire vos requêtes imbriquées en requêtes classiques. Si vous avez des difficultés, une bonne solution est de sauvegarder les valeurs des sous requêtes dans une table temporaire, et d’accéder à cette table temporaire depuis la requête principale. Un exemple de requête que ne supporte pas MySQL : SELECT deptno, ename, sal FROM emp x WHERE sal > ( SELECT AVG ( sal ) FROM emp WHERE x.deptno = deptno ) ORDER BY deptno ; Transactions et commit / rollback III. Mémoire de fin de cycle présenté par Y.B Djavph 12 Une transaction est une unité logique de travail qui contient une ou plusieurs blocs SQL exécutés par un utilisateur. Une transaction se termine lorsqu’elle est explicitement arrêtée par l’utilisateur. En SQL classique, une transaction commence par un COMMIT et se termine par un ROLLBACK. MySQL ne supporte pas les transactions. On peut toutefois simuler les transactions en utilisant LOCK_TABLES et UNLOCK_TABLES Clés étrangères et intégrité référentielle Dans une base de données relationnelle, les identifiants (clefs primaires) d’une table se retrouvent en clefs étrangères d’une autre table en relation avec la première. Ce système de clefs primaires et clefs secondaires permet d’assurer l’intégrité des données. En effet, lorsqu’on modifie une clef primaire, les clefs secondaires sont automatiquement mises à jour. MySQL ne supporte pas ce système. Lorsqu’on crée une table, on peut très bien utiliser l’argument FOREIGN KEY (clef étrangère) pour un attribut mais ceci n’a aucune influence. Cet argument est juste là pour assurer une meilleure importation de bases gérées par un autre SGBDR que MySQL.
Conclusion
Pour finir, nous avons choisi oracle du fait que depuis toujours oracle propose la technologie la plus pointue pour protéger les données ou elles se trouvent. La base de données oracle propose une gamme complète de solutions de sécurité garantissant la confidentialité des données, la protection contre les menaces d’initiés et la conformité à la réglementation. Les puissantes fonctions de contrôle et de blocage des activités de base de données, de contrôle d’accès d’utilisateur privilégié et multicritères, de classification des données de cryptage transparent des données, d’audit et de reporting consolidés, de gestion sécurisée de configuration et de masquage des données d’oracle permettent de déployer des solutions fiables et économiques , sans avoir à modifier les applications.
Acronyme |