Projet contenant deux base de données MariaDb et un PHPMyAdmin ayant pour finalité de s'initier et s'entrainer à la gestion des droits utilisateurs SQL.
- Créez les utilisateurs suivants avec un mot de passe sécurisé : user_lectureetuser_ecriture.
- Autorisez l'utilisateur user_lecture à lire les données des tables utilisateursetproduits.
- Autorisez l'utilisateur user_ecriture à insérer, modifier et supprimer des données dans les tables utilisateursetproduits.
- Connectez-vous à la base de données gestion_droitsen tant queuser_lectureet vérifiez que vous pouvez lire les données des tablesutilisateursetproduits.
- Connectez-vous à la base de données gestion_droitsen tant queuser_ecritureet vérifiez que vous pouvez insérer, modifier et supprimer des données dans les tablesutilisateursetproduits.
- Révoquez les droits de lecture de l'utilisateur user_lecturesur les tablesutilisateurs.
- Révoquez les droits de suppression de l'utilisateur user_ecrituresur les tablesproduits.
Vous êtes administrateur d'une base de données pour une startup qui gère une plateforme de réservation d'événements. Les utilisateurs de la plateforme ont différents rôles : administrateurs, gestionnaires d'événements, et clients. Chaque rôle dispose de permissions spécifiques pour interagir avec la base de données.
Vous devez configurer les droits d'accès pour ces rôles, en suivant les règles définies ci-dessous, tout en respectant les bonnes pratiques en matière de sécurité.
- 
Créez les utilisateurs suivants avec un mot de passe sécurisé : admin,gestionnaireetclient.
- 
Attribuer les droits aux utilisateurs en fonction de leur rôle : - admin: Accès complet
- gestionnaire: Accès en lecture et écriture aux événements et aux réservations, mais pas aux clients.
- client: accès en lecture seule aux événements et réservations, avec possibilité de modifier ses propres réservations.
 
- 
Tester les permissions pour chaque utilisateur - Pour admin: lire, insérer, modifier et supprimer dans toutes les tables.
- Pour gestionnaire: insérer un nouvel événement et modifier une réservation.
- Pour client: essayer de lire les événements et de modifier une réservation.
 
- Pour 
- 
Vous devez créer une vue permettant à un gestionnaire d'avoir une liste des participants à un événement donné, cette vue doit contenir les informations suivantes : - Le nom de l'événement.
- La date de l'événement.
- Le lieu de l'événement.
- Le nom et l'email des participants.
- Le nombre de places réservées par chaque participant.
 
- 
Vous ajusterez ensuite les permissions pour que le gestionnaire puisse consulter cette vue. 
Pour des raisons de sécurité et de traçabilité, vous devez mettre en place un système de logs des opérations effectuées
de modifications sur les bases de données gestion_evenements et gestion_droits.
Vous créerez une nouvelle base de données logs contenant une table modifications avec les colonnes suivantes :
- operation_type : Type de modification (INSERT, UPDATE, DELETE).
- table_name : Nom de la table affectée.
- modified_data : Données impliquées dans la modification (sous forme de JSON pour une flexibilité maximale).
- user_name : Utilisateur ayant exécuté l'opération (obtenu via la variable SQL USER()).
- operation_date : Date et heure de la modification.
Vous ajouterez des triggers sur les tables des bases de données gestion_evenements et gestion_droits pour enregistrer
les opérations d'insertion, de modification et de suppression dans la table modifications de la base de données logs.
Vous veillerez à autoriser les permissions d'écriture sur la table modifications de la base de données logs pour
que tout utilisateur ayant les droits d'écriture sur les tables gestion_evenements et gestion_droits puisse enregistrer les logs.
Ensuite vous créerez un utilisateur logger avec les droits de lecture sur la table modifications pour tester la bonne viusalisation des logs.
