Browse Source

update bd

master
Francois Lesueur 2 years ago
parent
commit
e8bb4ee3e3
  1. 16
      tp5-bd.md

16
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.

Loading…
Cancel
Save