IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Protéger les tables d'une application


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Protéger les tables d'une application
    Bonjour,

    Suite au départ d'un collègue, j'ai dû récupéré un projet d'une application Access (.accdr), mais je n'y connait pas grand chose sur le sujet...
    L'accès de l'application est limité par des login / mot de passe, stockés dans une table de l'application. Le problème c'est que si l'utilisateur passe la table en .accdb, il a accès aux tables, et peut donc voir les utilisateurs, modifier des mots de passe, créer des utilisateurs... C'est qui est assez problématique

    J'ai essayé de chiffrer la BDD, mais ça chiffre toute l'application (l'utilisateur doit pouvoir l'utiliser en passant par les formulaires), et non uniquement les tables.

    J'ai également publié le projet en ACCDE, mais cela ne change rien au niveau des tables, qui sont toujours modifiables.

    Ce dont j'aurais besoin, idéalement, c'est que l'utilisateur puisse utiliser l'application sans avoir accès aux tables ou au code sans un mot de passe.
    J'ai réussi à protéger le code, mais rien à faire pour les tables

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Bonjour,

    1ère étape : Séparer l'ihm des tables. (frontale/dorsale).
    2ème étape : chiffrer la dorsale (qui contient les tables) pour qu'elle ait un mot de passe d'accès.
    3ème étape : créer une classe d'attachement de tables à l'ouverture et détachement à la fermeture de l'application, conditionner l'attachement à la fourniture du Password.
    4ème étape : mettre tout les accès à la table sécurité en VBA (pas d'attache ! utiliser des SELECT IN(chemin) ou des recordset sur la bdd dorsale).
    5ème étape : mettre tout en place pour que l'utilisateur n'ai plus accès à l'interface ACCESS native (dans le cas de l'utilisation sans runtime). (voir le tuto sur la livraison d'application de Argyronet)
    6ème étate : compiler la frontale en accde + renommage en accdr.

    ça devrait en calmer quelques-uns !

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Fiouu, ça risque d'être plus long que ce que je pensais, moi qui pensais qu'il y aurait simplement un mot de passe à configurer quelque part....

    Merci beaucoup de ton aide, je vais m'y atteler, je reviendrai vous faire un feedback quand j'aurais fini

  4. #4
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    l'étape 1 fait l'objet d'un tuto.
    l'étape 3, il y a un tuto sur l'attachement automatique mais pas sous forme de classe.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  5. #5
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Oui, protéger les bases de données Access n'est pas évident. En plus, s'il y a un crash sur une base chiffrée, elle peut être 100% perdue. Il faut donc systématiquement en faire des sauvegardes.

    Pour ma part, je me suis résigné à n'utiliser que la protection Windows: l'application est placée dans un dossier sécurisé. Ainsi seules les personnes ayant le droit d'ouvrir le dossier peuvent ouvrir l'application.

    Éventuellement je fais une copie de l'application dans un dossier non protégé, un dossier "public", mais en signalant qu'elle ne doit être utilisée que pour consultation: les données y seront écrasées à chaque mise à jour, toutes les modifications qui y auraient été faites seront perdues. Un simple test avec une instruction Dir() permet de détecter si un utilisateur à accès ou non à la base dorsale placée dans le dossier sécurisé.

  6. #6
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Mon problème, c'est que l'accès est restreint grâce à des comptes utilisateurs, mais que ces comptes sont stockés directement dans la bdd de l'application...
    Et si tout le monde peut modifier la bdd, alors tout le monde peut supprimer ou ajouter des comptes, et c'est assez problématique !
    Je sais que c'est moche, mais je reprend le travail effectué par quelqu'un qui est parti, donc...

    Surtout que vu le besoin, perso je serrai carrément partie sur une appli web asp.net avec droits gérés par Active Directory

    Sinon pour information, on a décidé de mettre ce projet en attente, parce que si je dois passer plusieurs jours dessus, on va le facturer au département, qui risque de réfléchir un peu
    Si jamais je retourne dessus, j'essaie de penser à vous faire un feedback.

    Merci de votre aide en tous cas

  7. #7
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 183
    Points : 5 515
    Points
    5 515
    Par défaut
    Pourquoi ne pas oublier ces comptes utilisateurs ACCESS, et simplement mettre la db sur le serveur dans un dossier spécifique sécurisé: ne pourraient entrer dans ce dossier que les personnes qui ont le droit d'utiliser la db.

  8. #8
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Mon problème, c'est que l'accès est restreint grâce à des comptes utilisateurs, mais que ces comptes sont stockés directement dans la bdd de l'application...
    Mets cette table (ou ces tables) dans une autre bdd chiffrée dont tu n'attaches pas les tables.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  9. #9
    Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2016
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    J'ai pensé à me contenter des accès réseau pour gérer l'accès au fichier, mais le problème et que quelqu'un qui aurait accès au fichier en lecture, pourrai le copier sur son poste pour le modifier, et donne accès à quelqu'un d'autre...
    La solution serrai de n'autoriser le fonctionne du logiciel que si la personne a des droits d'accès sur le dossier réseau du logiciel. Ça permettra même au logiciel de fonctionner si ils le copie directement sur leur poste...
    C'était une de mes solution de secoure, le problème étant l'impossibilité de modifier le chemin du dossier du logiciel sans avoir à toucher au code


    Mets cette table (ou ces tables) dans une autre bdd chiffrée dont tu n'attaches pas les tables.
    Yep, mais du coup je dois réécrire toutes les requêtes d'accès à la table

  10. #10
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Yep, mais du coup je dois réécrire toutes les requêtes d'accès à la table
    Si le projet est bien fait l'impact est minime (en factorisant la construction du IN() par exemple).

    Dans tous les cas la construction de ces requêtes ne doit en aucun cas être effectuée en dehors de VBA. C'est logique.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/09/2009, 23h51
  2. Réponses: 8
    Dernier message: 10/09/2008, 16h27
  3. [ODBC] Intranet en PHP : Lister les tables d'une base Access
    Par fblouet dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 28/10/2003, 14h46
  4. Lister les tables d'une Base
    Par YanK dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 08/10/2003, 10h40
  5. Sélection de toute les tables d'une base
    Par lord_paco dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 21/07/2003, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo