From e8bb4ee3e3ecac983203ddd33e100190e290b83d Mon Sep 17 00:00:00 2001 From: Francois Lesueur Date: Mon, 4 Apr 2022 11:18:32 +0200 Subject: [PATCH] update bd --- tp5-bd.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tp5-bd.md b/tp5-bd.md index de7b1a0..f8517a2 100644 --- a/tp5-bd.md +++ b/tp5-bd.md @@ -4,6 +4,8 @@ Pour ce TP, nous allons utiliser Docker. Vous pouvez l'installer sur votre machi Ce TP peut être réalisé dans la VM MI-LXC disponible [ici](https://flesueur.irisa.fr/mi-lxc/images/milxc-debian-amd64-1.4.1.ova) (identique à la première période). Avant de lancer la VM, il peut être nécessaire de diminuer la RAM allouée. Par défaut, la VM a 3GO : si vous avez 4GO sur votre machine physique, il vaut mieux diminuer à 2GO, voire 1.5GO pour la VM (la VM devrait fonctionner de manière correcte toujours). +Décrivez vos manipulations et expérimentations dans un compte-rendu *individuel* qui devra être déposé sur Moodle à la fin des 12 heures. + Quelques commandes utiles ========================= @@ -28,8 +30,9 @@ Ensuite, pour se connecter à la console : `docker exec -it mypostgres psql -U postgres` -La base est persistente si vous stoppez/redémarrez le docker, mais pas en cas de fausse manip. Prenez des notes au fur et à mesure ! +La base est persistente si vous stoppez/redémarrez le docker (à confirmer), mais pas en cas de fausse manip. Prenez des notes au fur et à mesure ! +> Décrivez comment vous avez installé votre environnement pour ce TP. Création d'une première base (2 heures) ============================ @@ -67,7 +70,7 @@ Expérimentez le dump et la restauration tel que décrit [ici](https://www.postg Pour vous connecter en shell sur le docker, `docker exec -it mypostgres bash` (où bash peut évidemment être remplacé par toute commande que vous vouliez taper dans le docker). -> Présentez votre déroulé. +> Présentez votre déroulé. Décrivez le contenu du dump. Contrôle d'accès (3 heures) ================ @@ -123,7 +126,7 @@ Raffinez l'authentification entre l'application et la BD afin de limiter les dé * Attribuez leur les droits minimaux nécessaires à chacune des sections de l'application (droits de SELECT, INSERT et UPDATE sur la table clients) * Modifiez l'inclusion du `db.inc.php` pour que les fichiers PHP de chaque sous-dossier se connectent à la base avec les credentials adaptés -> Déployez ce modèle et mettez à jour le code PHP en fonction. Vérifiez que certaines exploitations initiales ne fonctionnent plus. +> Déployez ce modèle et mettez à jour le code PHP en fonction. Vérifiez que certaines exploitations initiales ne fonctionnent plus. Synthétisez vos changements dans le compte-rendu. Segmentation des accès en n utilisateurs ---------------------------------------- @@ -134,6 +137,11 @@ Raffinez l'authentification entre l'application et la BD afin de limiter les dé * Des rôles (hiérarchiques) pour factoriser la gestion des droits * Une sécurité à grain fin au niveau des lignes de tables (Row security) -> Proposez (sur papier) et faîtes valider un modèle RBAC adapté. Déployez ce modèle et mettez à jour le code PHP en fonction. Vérifiez que votre exploitation initiale ne fonctionne plus. +> Proposez (sur papier) et faîtes valider un modèle RBAC adapté. Déployez ce modèle et mettez à jour le code PHP en fonction. Vérifiez que votre exploitation initiale ne fonctionne plus. Synthétisez vos changements dans le compte-rendu. > REMARQUE : En l'absence de row-level security (pas disponible avec MySQL/MariaDB par exemple), un résultat relativement similaire (mais plus complexe à maintenir) aurait pu être obtenu avec l'utilisation de vues. + +Bonus +===== + +Choisissez une base NoSQL, étudiez, expérimentez et présentez dans votre rapport sa gestion des droits.